HOME


Mini Shell 1.0
DIR: /lib/python3/dist-packages/oauthlib/oauth1/rfc5849/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/oauthlib/oauth1/rfc5849/__pycache__/parameters.cpython-312.pyc
�

&�`���l�dZddlmZmZddlmZmZddlmZejdd��Z
d�Zd	�Zd
�Z
y)z�
oauthlib.parameters
~~~~~~~~~~~~~~~~~~~

This module contains methods related to `section 3.5`_ of the OAuth 1.0a spec.

.. _`section 3.5`: https://tools.ietf.org/html/rfc5849#section-3.5
�)�urlparse�
urlunparse)�extract_params�	urlencode�)�utilsNc�4�|xsi}g}|D]R\}}tj|�}tj|�}dj||�}|j|��Tdj	|�}	|rd|z|	z}	d|	z}
i}|j|�|
|d<|S)a**Prepare the Authorization header.**
    Per `section 3.5.1`_ of the spec.

    Protocol parameters can be transmitted using the HTTP "Authorization"
    header field as defined by `RFC2617`_ with the auth-scheme name set to
    "OAuth" (case insensitive).

    For example::

        Authorization: OAuth realm="Example",
            oauth_consumer_key="0685bd9184jfhq22",
            oauth_token="ad180jjd733klru7",
            oauth_signature_method="HMAC-SHA1",
            oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",
            oauth_timestamp="137131200",
            oauth_nonce="4572616e48616d6d65724c61686176",
            oauth_version="1.0"


    .. _`section 3.5.1`: https://tools.ietf.org/html/rfc5849#section-3.5.1
    .. _`RFC2617`: https://tools.ietf.org/html/rfc2617
    z{}="{}"z, zrealm="%s", zOAuth %s�
Authorization)r�escape�format�append�join�update)�oauth_params�headers�realm�%authorization_header_parameters_parts�oauth_parameter_name�value�escaped_name�
escaped_value�part�authorization_header_parameters�authorization_header�full_headerss            �D/usr/lib/python3/dist-packages/oauthlib/oauth1/rfc5849/parameters.py�prepare_headersrs���0�m��G�-/�)�'3�
;�#��e�
�|�|�$8�9�����U�+�
�
����m�<��-�4�4�T�:�
;�&'+�i�i�-�'/�#�
�+9�E�+A�+J�,K�'�&�(G�G���L����� �$8�L��!���c�d�t|�}|j|�|jd���|S)a>Append OAuth params to an existing set of parameters.

    Both params and oauth_params is must be lists of 2-tuples.

    Per `section 3.5.2`_ and `3.5.3`_ of the spec.

    .. _`section 3.5.2`: https://tools.ietf.org/html/rfc5849#section-3.5.2
    .. _`3.5.3`: https://tools.ietf.org/html/rfc5849#section-3.5.3

    c�*�|djd�S)Nr�oauth_)�
startswith)�is r�<lambda>z _append_params.<locals>.<lambda>is��a��d�o�o�h�7�r)�key)�list�extend�sort)r�params�mergeds   r�_append_paramsr+Xs/���&�\�F�
�M�M�,��
�K�K�7�K�8��Mrc��t||�S)z�Prepare the Form-Encoded Body.

    Per `section 3.5.2`_ of the spec.

    .. _`section 3.5.2`: https://tools.ietf.org/html/rfc5849#section-3.5.2

    )r+)r�bodys  r�prepare_form_encoded_bodyr.ms���,��-�-rc��t|�\}}}}}}tt|t|�xsg��}t	||||||f�S)z�Prepare the Request URI Query.

    Per `section 3.5.3`_ of the spec.

    .. _`section 3.5.3`: https://tools.ietf.org/html/rfc5849#section-3.5.3

    )rrr+rr)r�uri�sch�net�path�par�query�fras        r�prepare_request_uri_queryr7ysQ��'/�s�m�#�C��d�C�����|�^�E�%:�%@�b�A�
C�E��s�C��s�E�3�7�8�8r)NN)�__doc__�urllib.parserr�oauthlib.commonrr�r�
filter_paramsrr+r.r7�rr�<module>r>sA���.�5��
���B��B�J�*	.�9r