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/werkzeug/sansio/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/werkzeug/sansio/__pycache__/utils.cpython-311.pyc
�

Tg��
��ddlZddlmZddlmZddlmZddlmZdej	e
deje
d	efd
�Z
		dde
dej	e
d
ej	eje
ej	efdej	eje
d	e
f
d�Z			dde
de
dej	e
dej	e
dej	ed	e
fd�Z		ddeje
dfdeje
dfd	ej	efd�ZdS)�N�)�_encode_idna)�
SecurityError)�
uri_to_iri)�	url_quote�hostname�trusted_list�returnc�z�|sdSt|t��r|g}dtdtfd�}	||��}n#t$rYdSwxYw|D]k}|�d��r
|dd�}d}nd}	||��}n#t$rYdSwxYw||krdS|r|�d	|z��rdS�ldS)
z�Check if a host matches a list of trusted names.

    :param hostname: The name to check.
    :param trusted_list: A list of valid names to match. If a name
        starts with a dot it will match all subdomains.

    .. versionadded:: 0.9
    Frr
c�`�d|vr|�dd��d}t|��S)N�:�r)�rsplitr)rs �7/usr/lib/python3/dist-packages/werkzeug/sansio/utils.py�
_normalizez#host_is_trusted.<locals>._normalizes1���(�?�?����s�A�.�.�q�1�H��H�%�%�%��.rNT�.)�
isinstance�str�bytes�UnicodeError�
startswith�endswith)rr	r�hostname_bytes�ref�suffix_match�	ref_bytess       r�host_is_trustedr	s=�����u��,��$�$�&�$�~��&�S�&�U�&�&�&�&��#��H�-�-���������u�u����������>�>�#���	!��a�b�b�'�C��L�L� �L�	�"�
�3���I�I���	�	�	��5�5�5�	������&�&��4�4��	�N�3�3�D�9�4D�E�E�	��4�4���5s!�<�
A
�	A
�6B�
B�B�scheme�host_header�server�
trusted_hostsc�*�d}|�|}n|�|d}|d�
|�d|d��}|dvr |�d��r|dd�}n#|d	vr|�d
��r
|dd�}|�#t||��std|�d
����|S)a$Return the host for the given parameters.

    This first checks the ``host_header``. If it's not present, then
    ``server`` is used. The host will only contain the port if it is
    different than the standard port for the protocol.

    Optionally, verify that the host is trusted using
    :func:`host_is_trusted` and raise a
    :exc:`~werkzeug.exceptions.SecurityError` if it is not.

    :param scheme: The protocol the request used, like ``"https"``.
    :param host_header: The ``Host`` header value.
    :param server: Address of the server. ``(host, port)``, or
        ``(path, None)`` for unix sockets.
    :param trusted_hosts: A list of trusted host names.

    :return: Host, with port if necessary.
    :raise ~werkzeug.exceptions.SecurityError: If the host is not
        trusted.
    �Nrrr
>�ws�httpz:80���>�wss�httpsz:443���zHost z is not trusted.)rrr)r r!r"r#�hosts     r�get_hostr-8s���4�D������	�	��a�y���!�9� ��(�(�V�A�Y�(�(�D�
����D�M�M�%�$8�$8���C�R�C�y���	�#�	#�	#��
�
�f�(=�(=�	#��C�R�C�y��� ��t�]�3�3�	B�� @�� @� @� @�A�A�A��Krr,�	root_path�path�query_stringc�~�|d|g}|�7|�d��td�|����S|�t|�d������|�d��|�"td�|����S|�t|�d������|r9|�d��|�t|d�����td�|����S)a�Recreate the URL for a request. If an optional part isn't
    provided, it and subsequent parts are not included in the URL.

    The URL is an IRI, not a URI, so it may contain Unicode characters.
    Use :func:`~werkzeug.urls.iri_to_uri` to convert it to ASCII.

    :param scheme: The protocol the request used, like ``"https"``.
    :param host: The host the request was made to. See :func:`get_host`.
    :param root_path: Prefix that the application is mounted under. This
        is prepended to ``path``.
    :param path: The path part of the URL after ``root_path``.
    :param query_string: The portion of the URL after the "?".
    z://N�/r%�?z:&%=+$!*'(),)�safe)�appendr�joinr�rstrip�lstrip)r r,r.r/r0�urls      r�get_current_urlr:hs��(�5�$�
�C����
�
�3�����"�'�'�#�,�,�'�'�'��J�J�y��)�)�#�.�.�/�/�0�0�0��J�J�s�O�O�O��|��"�'�'�#�,�,�'�'�'��J�J�y����S�)�)�*�*�+�+�+��A��
�
�3�����
�
�9�\��?�?�?�@�@�@��b�g�g�c�l�l�#�#�#rr%�http_content_length�http_transfer_encodingc��|dkrdS|�5	tdt|����S#ttf$rYnwxYwdS)aReturns the content length as an integer or ``None`` if
    unavailable or chunked transfer encoding is used.

    :param http_content_length: The Content-Length HTTP header.
    :param http_transfer_encoding: The Transfer-Encoding HTTP header.

    .. versionadded:: 2.2
    �chunkedNr)�max�int�
ValueError�	TypeError)r;r<s  r�get_content_lengthrC�sb����*�*��t��&�	��q�#�1�2�2�3�3�3���I�&�	�	�	��D�	�����4s�)�=�=)NN)NNN)Nr%)�typing�t�	_internalr�
exceptionsr�urlsrr�Optionalr�Iterable�boolr�Tupler@r-rr:�UnionrC�rr�<module>rOs�������$�$�$�$�$�$�&�&�&�&�&�&�������������,�a�j��o�,�Q�Z��_�,�QU�,�,�,�,�d9=�15�	-�-��-���C��-�
�J�q�w�s�A�J�s�O�3�4�5�-��:�a�j��o�.�	-�
	�-�-�-�-�f"&� �&*�&$�&$��&$�

�&$��z�#��&$��*�S�/�	&$�
�*�U�#�&$�	�
&$�&$�&$�&$�T/3�13������d��+���G�C��I�.���Z��_������r

Youez - 2016 - github.com/yon3zu
LinuXploit