HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/oauthlib/oauth1/rfc5849/__pycache__/parameters.cpython-38.pyc
U

��I]i�@s�dZddlmZmZddlmZmZddlmZzddl	m	Z	m
Z
Wn$ek
rhddlm	Z	m
Z
YnXej
ddd	��Zd
d�Zdd
�Zdd�ZdS)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
�)�absolute_import�unicode_literals)�extract_params�	urlencode�)�utils)�urlparse�
urlunparseNc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	{0}="{1}"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�D/usr/lib/python3/dist-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>o�z _append_params.<locals>.<lambda>)�key)�list�extend�sort)rZparamsZmergedrrr�_append_params^s
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)rZbodyrrr�prepare_form_encoded_bodyss	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	)rZuriZschZnet�pathZparZqueryZfrarrr�prepare_request_uri_querys
	�r )NN)�__doc__Z
__future__rrZoauthlib.commonrr�rrr	�ImportErrorZurllib.parseZ
filter_paramsrrrr rrrr�<module>sE