&`ldZddlmZmZddlmZmZddlmZejd dZ dZ d 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)utilsNc4|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)rescapeformatappendjoinupdate) oauth_paramsheadersrealm%authorization_header_parameters_partsoauth_parameter_namevalue escaped_name escaped_valuepartauthorization_header_parametersauthorization_header full_headerss D/usr/lib/python3/dist-packages/oauthlib/oauth1/rfc5849/parameters.pyprepare_headersrs0mG-/)'3 ;#e ||$89  U+  m<-44T: ;&'+ii-'/# +9E+A+J,K'&(GGL $8L! cdt|}|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*|djdS)Nroauth_) startswith)is rz _append_params..isadooh7r)key)listextendsort)rparamsmergeds r_append_paramsr+Xs/&\F MM,  KK7K8 Mrct||S)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+)rbodys rprepare_form_encoded_bodyr.ms , --rct|\}}}}}}tt|t|xsg}t ||||||fS)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 )rrr+rr)rurischnetpathparqueryfras rprepare_request_uri_queryr7ysQ'/sm#CdC |^E%:%@bA CE sCsE37 88r)NN)__doc__ urllib.parserroauthlib.commonrrr filter_paramsrr+r.r7rrr>sA.5 BBJ* . 9r