HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/web/hyperflight/apps/inxpress/.venv/Lib/site-packages/flask/__pycache__/views.cpython-311.pyc
�

��i2����ddlmZddlZddlmZddlmZddlmZej	dej
dejf�	��Ze
gd
���ZGd�d��ZGd
�de��ZdS)�)�annotationsN�)�typing)�current_app)�request�F.)�bound)�get�post�head�options�delete�put�trace�patchc�l�eZdZUdZdZded<dZded<gZded<d	Zd
ed<dd�Z	e
dd���ZdS)�ViewaSubclass this class and override :meth:`dispatch_request` to
    create a generic class-based view. Call :meth:`as_view` to create a
    view function that creates an instance of the class with the given
    arguments and calls its ``dispatch_request`` method with any URL
    variables.

    See :doc:`views` for a detailed guide.

    .. code-block:: python

        class Hello(View):
            init_every_request = False

            def dispatch_request(self, name):
                return f"Hello, {name}!"

        app.add_url_rule(
            "/hello/<name>", view_func=Hello.as_view("hello")
        )

    Set :attr:`methods` on the class to change what methods the view
    accepts.

    Set :attr:`decorators` on the class to apply a list of decorators to
    the generated view function. Decorators applied to the class itself
    will not be applied to the generated view function!

    Set :attr:`init_every_request` to ``False`` for efficiency, unless
    you need to store request-global data on ``self``.
    Nz$t.ClassVar[t.Collection[str] | None]�methodszt.ClassVar[bool | None]�provide_automatic_optionsz(t.ClassVar[list[t.Callable[..., t.Any]]]�
decoratorsTzt.ClassVar[bool]�init_every_request�return�ft.ResponseReturnValuec��t���)z�The actual view function behavior. Subclasses must override
        this and return a valid response. Any variables from the URL
        rule are passed as keyword arguments.
        )�NotImplementedError)�selfs �GD:\web\hyperflight\apps\inxpress\.venv\Lib\site-packages\flask/views.py�dispatch_requestzView.dispatch_requestNs��
"�#�#�#��name�str�
class_args�t.Any�class_kwargs�ft.RouteCallablec�$�����|jr	d���fd��n|�i����d�fd��|jr(|�_|j�_|jD]
}|�����|�_|�_|j�_|j�_|j�_|j�_�S)afConvert the class into a view function that can be registered
        for a route.

        By default, the generated view will create a new instance of the
        view class for every request and call its
        :meth:`dispatch_request` method. If the view class sets
        :attr:`init_every_request` to ``False``, the same instance will
        be used for every request.

        Except for ``name``, all other arguments passed to this method
        are forwarded to the view class ``__init__`` method.

        .. versionchanged:: 2.2
            Added the ``init_every_request`` class attribute.
        �kwargsr#rrc�\���j�i���}tj|j��di|��S�N�)�
view_classr�ensure_syncr)r'rr"r$�views  ���rr-zView.as_view.<locals>.viewjsH���&�t����#/����F�{�.�t�/D�E�E�O�O��O�O�Orc�B��tj�j��di|��Sr))rr,r)r'rs �rr-zView.as_view.<locals>.viewss'���E�{�.�t�/D�E�E�O�O��O�O�Or�r'r#rr)rr�__name__�
__module__r+�__doc__rr)�clsr r"r$�	decoratorrr-s  `` @@r�as_viewzView.as_viewUs�������&�!�	P�
P�
P�
P�
P�
P�
P�
P�
P�
P��3�
�3�l�3�3�D�
P�
P�
P�
P�
P�
P��>�	'� �D�M�!�n�D�O� �^�
'�
'�	� �y�����������
��{����.����{���),�)F��&��r)rr)r r!r"r#r$r#rr%)r0r1�__qualname__r2r�__annotations__rrrr�classmethodr5r*rrrrs����������D59�G�8�8�8�8�
:>��=�=�=�=�<>�J�=�=�=�=�,0��/�/�/�/�$�$�$�$��1�1�1��[�1�1�1rrc�,��eZdZdZd	�fd�Zd
d�Z�xZS)�
MethodViewa�Dispatches request methods to the corresponding instance methods.
    For example, if you implement a ``get`` method, it will be used to
    handle ``GET`` requests.

    This can be useful for defining a REST API.

    :attr:`methods` is automatically set based on the methods defined on
    the class.

    See :doc:`views` for a detailed guide.

    .. code-block:: python

        class CounterAPI(MethodView):
            def get(self):
                return str(session.get("counter", 0))

            def post(self):
                session["counter"] = session.get("counter", 0) + 1
                return redirect(url_for("counter"))

        app.add_url_rule(
            "/counter", view_func=CounterAPI.as_view("counter")
        )
    r'r#r�Nonec�n��t��jdi|��d|jvr�t��}|jD]-}t|dd��r|�|j���.tD]9}t||��r'|�
|������:|r||_dSdSdS)Nrr*)�super�__init_subclass__�__dict__�set�	__bases__�getattr�updater�http_method_funcs�hasattr�add�upper)r3r'r�base�key�	__class__s     �rr>zMethodView.__init_subclass__�s����!����!�+�+�F�+�+�+��C�L�(�	&��e�e�G��
�
1�
1���4��D�1�1�1��N�N�4�<�0�0�0��(�
-�
-���3��$�$�-��K�K��	�	���,�,�,���
&�%�����	&�	&�
&�
&rrc��t|tj���d��}|�!tjdkrt|dd��}|�Jdtj�����t	j|��di|��S)N�HEADr
zUnimplemented method r*)rBr�method�lowerrr,)rr'�meths   rrzMethodView.dispatch_request�s����t�W�^�1�1�3�3�T�:�:���	.�G�N�f�4�	.��4���-�-�D��K�K�!K���!K�!K�K�K�K�,�{�&�t�,�,�6�6�v�6�6�6r)r'r#rr;r/)r0r1r6r2r>r�
__classcell__)rJs@rr:r:�s[���������4&�&�&�&�&�&�"	7�	7�	7�	7�	7�	7�	7�	7rr:)�
__future__rr�t��ft�globalsrr�TypeVar�Callable�Anyr�	frozensetrDrr:r*rr�<module>rZs���"�"�"�"�"�"����������� � � � � � �������
�A�I�c���C���J�/�0�0�0���I�I�I�I����
w�w�w�w�w�w�w�w�t57�57�57�57�57��57�57�57�57�57r