← Back
Editing: url_safe.cpython-311.pyc
� ʉ<bb � � � d dl Zd dlZddlmZ ddlmZ ddlmZ ddlm Z ddl mZ ddlm Z G d � d e� � Z G d� dee� � Z G d � dee � � ZdS )� N� )�_CompactJSON)� base64_decode)� base64_encode)� BadPayload)� Serializer)�TimedSerializerc � � � e Zd ZdZeZdd�dedej dej ej dej dej f � fd �Z d ej def� fd�Z� xZS )�URLSafeSerializerMixinz�Mixed in with a regular serializer it will attempt to zlib compress the string to make it shorter if necessary. It will also base64 encode the string so that it can safely be placed in a URL. N)� serializer�payload�argsr �kwargs�returnc �f �� d}|� d� � r|dd � }d} t |� � }n$# t $ r}t d|�� � |�d }~ww xY w|r: t j |� � }n$# t $ r}t d|�� � |�d }~ww xY w t � � j |g|�R i |��S )NF� .r Tz;Could not base64 decode the payload because of an exception)�original_errorzACould not zlib decompress the payload before decoding the payload)� startswithr � Exceptionr �zlib� decompress�super�load_payload) �selfr r r r r �json�e� __class__s ��7/usr/lib/python3/dist-packages/itsdangerous/url_safe.pyr z#URLSafeSerializerMixin.load_payload s �� � � ����d�#�#� ��a�b�b�k�G��J� � ��)�)�D�D��� � � ��M� �� � � � ����� ���� � � ���t�,�,����� � � � �W�#$�� � � ������ ���� $�u�w�w�#�D�:�4�:�:�:�6�:�:�:s- �6 � A� A�A�A2 �2 B�<B�B�objc �� �� t � � � |� � }d}t j |� � }t |� � t |� � dz k r|}d}t |� � }|rd|z }|S )NFr Tr )r �dump_payloadr �compress�lenr )r r r � is_compressed� compressed�base64dr s �r r! z#URLSafeSerializerMixin.dump_payload4 sv �� ��w�w�#�#�C�(�(��� ��]�4�(�(� ��z�?�?�c�$�i�i�!�m�,�,��D� �M���%�%��� %��W�n�G��� ) �__name__� __module__�__qualname__�__doc__r �default_serializer�bytes�_t�Any�Optionalr r! � __classcell__)r s @r r r s� �� � � � � �� � &�� +/� ;� ;� ;��;� �v�;� �K���'� ;� �&�;� �� ;� ;� ;� ;� ;� ;�@��� �5� � � � � � � � � � r'