
    
                         S r SSKJrJr  SSKrSSKrSSKJrJrJ	r	J
r
JrJrJr  \R                  " \5      r " S S\5      rS rg)	zoauthlib.oauth2.rfc6749 ~~~~~~~~~~~~~~~~~~~~~~~

This module is an implementation of various logic needed
for consuming and providing OAuth 2.0 RFC6749.
    )absolute_importunicode_literalsN   )FatalClientErrorOAuth2ErrorServerErrorTemporarilyUnavailableErrorInvalidRequestErrorInvalidClientErrorUnsupportedTokenTypeErrorc                       \ rS rSrS r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       rS r	S r
S	 rS
rg)BaseEndpoint   c                      SU l         SU l        g )NTF
_available_catch_errorsselfs    9lib/third_party/oauthlib/oauth2/rfc6749/endpoints/base.py__init__BaseEndpoint.__init__   s    DOD    c                     U R                   $ Nr   r   s    r   	availableBaseEndpoint.available   s    ??r   c                     Xl         g r   r   )r   r   s     r   r   r      s    Or   c                     U R                   $ r   r   r   s    r   catch_errorsBaseEndpoint.catch_errors!   s    r   c                     Xl         g r   r!   )r   r"   s     r   r"   r#   %   s    %r   c                 :    UR                   (       d
  [        USS9eg)zRaise error on missing token.zMissing token parameter.)requestdescriptionN)tokenr
   r   r&   s     r   _raise_on_missing_token$BaseEndpoint._raise_on_missing_token)   s#    =='AC C r   c                 X   U R                   R                  U5      (       a@  U R                   R                  U5      (       d  [        R	                  SU5        [        US9egU R                   R                  UR                  U5      (       d  [        R	                  SU5        [        US9eg)z&Raise on failed client authentication.z!Client authentication failed, %r.r&   N)request_validatorclient_authentication_requiredauthenticate_clientlogdebugr   authenticate_client_id	client_idr)   s     r   _raise_on_invalid_client%BaseEndpoint._raise_on_invalid_client/   s    <<WEE##77@@		5w? 11 A ##::7$ $	ii3W=w//$r   c                     UR                   (       a?  UR                   U R                  ;   a$  UR                   U R                  ;  a	  [        US9eggg)zRaise on unsupported tokens.r-   N)token_type_hintvalid_token_typessupported_token_typesr   r)   s     r   _raise_on_unsupported_token(BaseEndpoint._raise_on_unsupported_token:   sN    4#9#99t'A'AA%g66 	B 	: 	 r   r   N)__name__
__module____qualname____firstlineno__r   propertyr   setterr"   r*   r5   r;   __static_attributes__ r   r   r   r      ss             & &C	07r   r   c                 F   ^  [         R                  " T 5      U 4S j5       nU$ )Nc                   > U R                   (       d1  [        5       n[        R                  SU-  5        0 UR                  S4$ U R
                  (       a   T" X/UQ70 UD6$ T" X/UQ70 UD6$ ! [         a    e [         a    e [         a;  n[        5       n[        R                  SU-  5        0 UR                  S4s S nA$ S nAff = f)Nz*Endpoint unavailable, ignoring request %s.i  z.Exception caught while processing request, %s.i  )r   r	   r1   infojsonr"   r   r   	Exceptionr   warning)endpointuriargskwargseerrorfs         r   wrapper0catch_errors_and_unavailability.<locals>.wrapperD   s    
%
'a	hh;cAB_	#0000 x.t.v..    #DqHI5::s""#s   A. .C0C<CC)	functoolswraps)rQ   rR   s   ` r   catch_errors_and_unavailabilityrV   B   s%    ??1/ /( 
.r   )__doc__
__future__r   r   rT   loggingerrorsr   r   r   r	   r
   r   r   	getLoggerr=   r1   objectr   rV   rD   r   r   <module>r]      sK   
 9  E E E !,76 ,7^r   