name : parameters.cpython-39.pyc
a

\��`��@s\dZddlmZmZddlmZmZddlmZej	ddd��Z
d	d
�Zdd�Zd
d�Z
dS)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Cs�|pi}g}|D]2\}}t�|�}t�|�}d�||�}|�|�qd�|�}	|r^d||	}	d|	}
i}|�|�|
|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 %sZ
Authorization)r�escape�format�append�join�update)�oauth_paramsZheadersZrealmZ%authorization_header_parameters_partsZoauth_parameter_name�valueZescaped_nameZ
escaped_value�partZauthorization_header_parametersZauthorization_headerZfull_headers�r�F/usr/lib/python3.9/site-packages/oauthlib/oauth1/rfc5849/parameters.py�prepare_headerss&

��
rcCs&t|�}|�|�|jdd�d�|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

    cSs|d�d�S)NrZoauth_)�
startswith)�irrr�<lambda>i�z _append_params.<locals>.<lambda>)�key)�list�extend�sort)r
�paramsZmergedrrr�_append_paramsXs
rcCs
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
�bodyrrr�prepare_form_encoded_bodyms	rcCs>t|�\}}}}}}tt|t|�p$g��}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

    )rrrrr)r
ZuriZschZnet�pathZpar�queryZfrarrr�prepare_request_uri_queryys
	�r!)NN)�__doc__�urllib.parserrZoauthlib.commonrr�rZ
filter_paramsrrrr!rrrr�<module>sE

© 2025 Cubjrnet7