
    k7i                        S SK r S SKrS SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SKJ
r
  S S	KJr  S
SKJr  SSKJr  SSKJr   " S S\\
5      r " S S\\R(                  5      r " S S\\R,                  5      rg)    N)Auth)Request)Response)
to_unicode)SIGNATURE_HMAC_SHA1)SIGNATURE_TYPE_HEADER)
ClientAuth)OAuth1Client   
OAuthError   )build_request)extract_client_kwargsc                   N    \ rS rSrSrSrS\S\R                  \\	S4   4S jr
Srg)	
OAuth1Auth   z0Signs the httpx request using OAuth 1 (RFC5849).TrequestreturnNc              #      #    U R                  UR                  [        UR                  5      UR                  UR
                  5      u  p#n[        [        U5      5      US'   [        X#XAS9v   g 7f)NzContent-Length)urlheadersbodyinitial_request)preparemethodstrr   r   contentlenr   )selfr   r   r   r   s        i/home/james-whalen/.local/lib/python3.13/site-packages/authlib/integrations/httpx_client/oauth1_client.py	auth_flowOAuth1Auth.auth_flow   s]     !\\NNC,goow
d %(D	N !4
 	
s   A-A/ )__name__
__module____qualname____firstlineno____doc__requires_request_bodyr   typing	Generatorr   r"   __static_attributes__r$       r!   r   r      s1    : 
 
V-=-=gxQU>U-V 
r.   r   c            	       T    \ rS rSr\rSSSSSS\\S4	S jrS	S jr	S r
\S 5       rSrg)
AsyncOAuth1Client"   NFc                     [        U5      n[        R                  R                  " U 40 UD6  [        R                  " U S 4UUUUUUUUU	U
S.
UD6  g )N
	client_idclient_secrettokentoken_secretredirect_urirsa_keyverifiersignature_methodsignature_typeforce_include_body)r   httpxAsyncClient__init___OAuth1Client)r    r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   kwargs_client_kwargss                r!   r@   AsyncOAuth1Client.__init__%   sj     /v6""4:>:	
  '%%-)1	
 	
r.   c                    #    U(       a  X R                   l        U R                   R                  (       d  U R                  SS5        U R                  " U40 UD6I Sh  vN nSU R                   l        U$  N7f)a  Method for fetching an access token from the token endpoint.

This is the final step in the OAuth 1 workflow. An access token is
obtained using all previously obtained credentials, including the
verifier from the authorization step.

:param url: Access Token endpoint.
:param verifier: A verifier string to prove authorization was granted.
:param kwargs: Extra parameters to include for fetching access token.
:return: A token dict.
missing_verifierzMissing "verifier" valueN)authr:   handle_error_fetch_token)r    r   r:   rB   r6   s        r!   fetch_access_token$AsyncOAuth1Client.fetch_access_tokenF   sa      !)IIyy!!02LM''6v66!		 7s   AA7A5A7c                    #    U R                   " U40 UD6I S h  vN nUR                  5       I S h  vN nU R                  UR                  [	        U5      5      nXPl        U$  NI N37fN)postareadparse_response_tokenstatus_coder   r6   )r    r   rB   resptextr6   s         r!   rI   AsyncOAuth1Client._fetch_tokenZ   sX     YYs-f--ZZ\!))$*:*:Jt<LM
	 .!s   A'A#A'A%2A'%A'c                     [        X5      erM   r   
error_typeerror_descriptions     r!   rH   AsyncOAuth1Client.handle_errora       77r.   )r6   rM   )r%   r&   r'   r(   r   
auth_classr   r   r@   rJ   rI   staticmethodrH   r-   r$   r.   r!   r0   r0   "   sH    J
 ,, 
B( 8 8r.   r0   c            	       D    \ rS rSr\rSSSSSS\\S4	S jr\	S 5       r
Srg)r
   f   NFc                     [        U5      nUR                  SS 5      nUb  [        R                  " US9US'   [        R                  R
                  " U 40 UD6  [        R
                  " U U 4UUUUUUUUU	U
S.
UD6  g )Napp)r`   	transportr3   )r   popr>   WSGITransportClientr@   rA   )r    r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   rB   rC   	app_values                 r!   r@   OAuth1Client.__init__i   s     /v6"&&ud3	 */*=*=)*LN;'d5n5	
  '%%-)1	
 	
r.   c                     [        X5      erM   r   rV   s     r!   rH   OAuth1Client.handle_error   rZ   r.   r$   )r%   r&   r'   r(   r   r[   r   r   r@   r\   rH   r-   r$   r.   r!   r
   r
   f   s>    J
 ,, $
L 8 8r.   r
   )r+   r>   r   r   r   authlib.common.encodingr   authlib.oauth1r   r   r	   authlib.oauth1.clientr
   rA   base_clientr   utilsr   r   r   r?   r0   rd   r$   r.   r!   <module>rn      sc         . . 0 % ? $   (
z 
A8u'8'8 A8H+8=%,, +8r.   