File: D:/web/hyperflight/apps/inxpress/.venv/Lib/site-packages/flask/__pycache__/helpers.cpython-311.pyc
�
��i�[ � �� � d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dl m
Z
d dl mZ d dlZ
d dlmZ d dlmZ d dlmZ d d
lmZ d dlmZ d dlmZ d d
lmZ d dlmZ d dlmZ d dlmZ ej rd dl mZ d`d�Z!dadbd�Z"ej# dcd�� � Z$ej# ddd�� � Z$ded�Z$dfd#�Z%ddddd$�dgd.�Z& dhdid5�Zdjd9�Zdkd<�Z'dldmd@�Z( dndodG�Z)dpdI�Z* dqdrdV�Z+dsdZ�Z,dtd\�Z-e
dud_�� � Z.dS )v� )�annotationsN)�datetime)�cache)�update_wrapper)�abort)�redirect)�Response� )�_cv_app)�_cv_request)�current_app)�request)�request_ctx)�session)�message_flashed�return�boolc � � t j � d� � } t | o| � � � dv� � S )z�Get whether debug mode should be enabled for the app, indicated by the
:envvar:`FLASK_DEBUG` environment variable. The default is ``False``.
�FLASK_DEBUG> �0�no�false)�os�environ�getr �lower)�vals �ID:\web\hyperflight\apps\inxpress\.venv\Lib\site-packages\flask/helpers.py�get_debug_flagr s8 � �
�*�.�.��
'�
'�C���?�� � ���+?�?�@�@�@� T�defaultc �t � t j � d� � }|s| S |� � � dv S )z�Get whether the user has disabled loading default dotenv files by
setting :envvar:`FLASK_SKIP_DOTENV`. The default is ``True``, load
the files.
:param default: What to return if the env var isn't set.
�FLASK_SKIP_DOTENV)r r r )r r r r )r! r s r �get_load_dotenvr$ $ s9 � �
�*�.�.�,�
-�
-�C�� ����9�9�;�;�.�.�.r �generator_or_function�t.Iterator[t.AnyStr]c � � d S �N� �r% s r �stream_with_contextr+ 3 s � � �3r �%t.Callable[..., t.Iterator[t.AnyStr]]�8t.Callable[[t.Iterator[t.AnyStr]], t.Iterator[t.AnyStr]]c � � d S r( r) r* s r r+ r+ 9 s � � @C�sr �<t.Iterator[t.AnyStr] | t.Callable[..., t.Iterator[t.AnyStr]]�Ot.Iterator[t.AnyStr] | t.Callable[[t.Iterator[t.AnyStr]], t.Iterator[t.AnyStr]]c � � �� t � � � �n&# t $ r d� fd�}t |� � � cY S w xY wd �fd�} |� � }t |� � |S )
aO Wrap a response generator function so that it runs inside the current
request context. This keeps :data:`request`, :data:`session`, and :data:`g`
available, even though at the point the generator runs the request context
will typically have ended.
Use it as a decorator on a generator function:
.. code-block:: python
from flask import stream_with_context, request, Response
@app.get("/stream")
def streamed_response():
@stream_with_context
def generate():
yield "Hello "
yield request.args["name"]
yield "!"
return Response(generate())
Or use it as a wrapper around a created generator:
.. code-block:: python
from flask import stream_with_context, request, Response
@app.get("/stream")
def streamed_response():
def generate():
yield "Hello "
yield request.args["name"]
yield "!"
return Response(stream_with_context(generate()))
.. versionadded:: 0.9
�args�t.Any�kwargsr c �2 �� �| i |��}t |� � S r( )r+ )r2 r4 �genr% s �r � decoratorz&stream_with_context.<locals>.decoratorl s&