| 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 : |
�
Tg� � �* � d dl Z d dlZd dlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddlm
Z
dd lmZ dd
lmZ ddlm
Z
e j d� � Z d$dej e dej e dej e dej e dej e dej e dej e dej ej eef dedefd�Z d%dej eedf dededej ej d dd!f
d"�Zdd#lmZ dS )&� N)�datetime� )�_cookie_parse_impl)�
_dt_as_utc)�_to_str)�
generate_etag)�
parse_date)�parse_etags)�parse_if_range_header)�unquote_etagz&([Ww]/)?(?:"(.*?)"|(.*?))(?:\s*,\s*|$)T�
http_range�
http_if_range�http_if_modified_since�http_if_none_match�
http_if_match�etag�data�
last_modified�ignore_if_range�returnc �� � |�|�t |� � }n|�t d� � �d} t |t � � rt |� � }|�#t |� d�� � � � }d}
|s| �t |� � }
|
�|
j �|
j }nt |� � }|r
|r||k rd} |r�t |� � \ }}t j t |� � }|
�/|
j �(t |
j � � � |� � } nMt |� � }
|
r|
� |� � } t |� � }|r|� |� � } | S )a Convenience method for conditional requests.
:param http_range: Range HTTP header
:param http_if_range: If-Range HTTP header
:param http_if_modified_since: If-Modified-Since HTTP header
:param http_if_none_match: If-None-Match HTTP header
:param http_if_match: If-Match HTTP header
:param etag: the etag for the response for comparison.
:param data: or alternatively the data of the response to automatically
generate an etag using :func:`generate_etag`.
:param last_modified: an optional date of the last modification.
:param ignore_if_range: If `False`, `If-Range` header will be taken into
account.
:return: `True` if the resource was modified, otherwise `False`.
.. versionadded:: 2.2
Nzboth data and etag givenFr )�microsecondT)r � TypeError�
isinstance�strr r �replacer �dater �t�castr r
�contains�
contains_weak� is_strong)r
r r r r r r r r �
unmodified�if_range�modified_since�_�
if_none_match�if_matchs �6/usr/lib/python3/dist-packages/werkzeug/sansio/http.py�is_resource_modifiedr* s� � �6 �|��(��T�"�"���
� ��2�3�3�3��J��-��%�%� 2�"�=�1�1�
� � �"�=�#8�#8�Q�#8�#G�#G�H�H�
��H�� 8�z�5� )��7�7�����
� 9�/7�}���#�$:�;�;��� �-� �M�^�,K�,K��
�� :��t�$�$���a��v�c�4� � ����H�M�$=�$�X�]�3�3�<�<�T�B�B�J�J�'�(:�;�;�M��
?� +�8�8��>�>�
�
#�=�1�1�H��
:�!)�!3�!3�D�!9�!9�9�
��>�� � �utf-8r �cookie�charset�errors�clszds.MultiDictzds.MultiDict[str, str]c � � ��� t � t � � r� � dd� � � |�t j }dt
j t
j t t f f�� �fd�} | |� � � � S )a/ Parse a cookie from a string.
The same key can be provided multiple times, the values are stored
in-order. The default :class:`MultiDict` will have the first value
first, and all values can be retrieved with
:meth:`MultiDict.getlist`.
:param cookie: The cookie header as a string.
:param charset: The charset for the cookie values.
:param errors: The error behavior for the charset decoding.
:param cls: A dict-like class to store the parsed cookies in.
Defaults to :class:`MultiDict`.
.. versionadded:: 2.2
�latin1r Nr c 3 � �K � t �� � D ]1\ } }t | ��d�� � }t |��d�� � }||fV � �2d S )NT)�allow_none_charset)r r )�key�val�key_str�val_strr/ r. r0 s ���r) �_parse_pairsz"parse_cookie.<locals>._parse_pairs~ sl �� � � �*�6�2�2� #� #�H�C���c�7�F�t�L�L�L�G��c�7�F�t�L�L�L�G��7�"�"�"�"�"� #� #r+ )r r �encode�ds� MultiDictr �Iterator�Tuple)r. r/ r0 r1 r: s ``` r) �parse_cookier@ a s� ���� �. �&�#��� 4����x��3�3��
�{��l��#�!�*�Q�W�S�#�X�%6�7� #� #� #� #� #� #� #� #� �3�|�|�~�~���r+ )�datastructures) NNNNNNNNT)r, r- r N)�re�typingr r � _internalr r r �httpr r r
r r �compile�_etag_re�Optionalr �bytes�Union�boolr* �Typer@ r, rA r<