+
    P(i                     V    R t ^ RIHt ^ RIHt ^ RIHt ^RIHt R
R ltR tR t	R	 t
R# )zauthlib.spec.rfc5849.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
)extract_params)
url_encode)urlparse)escapeNc                   T;'       g    / pRP                  V  UUu. uF8  w  r4VP                  R4      '       g   K  \        V4       R\        V4       R2NK:  	  upp4      pV'       d   RV R2V,           pRV 2VR&   V# u uppi )	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="Photos",
        oauth_consumer_key="dpf43f3p2l4k3l03",
        oauth_signature_method="HMAC-SHA1",
        oauth_timestamp="137131200",
        oauth_nonce="wIjqoS",
        oauth_callback="http%3A%2F%2Fprinter.example.com%2Fready",
        oauth_signature="74KNZJeDHnMBp0EMJ9ZHt%2FXKycU%3D",
        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, oauth_z=""zrealm="z", zOAuth Authorization)join
startswithr   )oauth_paramsheadersrealmkvheader_parameterss   &&&   g/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/authlib/oauth1/rfc5849/parameters.pyprepare_headersr      s    , mmG 		 %	
$||H% )vaykF1I;a($	
 %eWC03DD "((9':;GON#	
s
   B
B
c                d    \        V4      pVP                  V 4       VP                  R R7       V# )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                 2    V ^ ,          P                  R4      # )    r   )r   )is   &r   <lambda> _append_params.<locals>.<lambda>O   s    adooh7    )key)listextendsort)r   paramsmergeds   && r   _append_paramsr!   >   s/     &\F
MM,
 KK7K8Mr   c                *    \        \        W4      4      # )zPrepare 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!   )r   bodys   &&r   prepare_form_encoded_bodyr$   S   s     n\899r   c                    \         P                   ! V4      w  r#rErg\        \        T \        V4      ;'       g    . 4      4      p\         P                  ! W#WEWg34      # )zPrepare 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

)r   r   r!   r   
urlunparse)r   urischnetpathparqueryfras   &&      r   prepare_request_uri_queryr.   _   sQ     '/&7&7&<#Cd~lN54I4O4ORPQE$U@AAr   )NN)__doc__authlib.common.urlsr   r   r   utilr   r   r!   r$   r.    r   r   <module>r3      s.    / * ( +\*	:Br   