
    qh"                     z    S 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)z
oauthlib.oauth2.rfc6749
~~~~~~~~~~~~~~~~~~~~~~~

This module is an implementation of various logic needed
for consuming and providing OAuth 2.0 RFC6749.
    N   )FatalClientErrorInvalidClientErrorInvalidRequestErrorOAuth2ErrorServerErrorTemporarilyUnavailableErrorUnsupportedTokenTypeErrorc                       \ rS rSrS r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       r	\	R                  S 5       r	S	 r
S
 rS rS rS rSrg)BaseEndpoint   c                 .    SU l         SU l        S U l        g )NTF
_available_catch_errors_valid_request_methodsselfs    X/var/www/html/env/lib/python3.13/site-packages/oauthlib/oauth2/rfc6749/endpoints/base.py__init__BaseEndpoint.__init__   s    "&*#    c                     U R                   $ N)r   r   s    r   valid_request_methods"BaseEndpoint.valid_request_methods   s    ***r   c                 ^    Ub  U Vs/ s H  o"R                  5       PM     nnXl        g s  snf r   )upperr   )r   r   xs      r   r   r      s/     ,8M$N8M1WWY8M!$N&;# %Os   *c                     U R                   $ r   r   r   s    r   	availableBaseEndpoint.available%   s    r   c                     Xl         g r   r!   )r   r"   s     r   r"   r#   )   s    #r   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(   1   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_token5   s"    }}%g2LN N 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    !!@@II))==gFF		=wG(99 G ''>>w?P?PRYZZII97C$W55 [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.r3   N)token_type_hintvalid_token_typessupported_token_typesr
   r/   s     r   _raise_on_unsupported_token(BaseEndpoint._raise_on_unsupported_tokenD   sN    ####t'='==##4+E+EE+G<< F > $r   c                     U R                   c  [        S5      eUR                  R                  5       U R                   ;  a%  [	        USUR                  R                  5       -  S9eg )Nz0Configure "valid_request_methods" property firstzUnsupported request method %sr+   )r   
ValueErrorhttp_methodr   r   r/   s     r   _raise_on_bad_method!BaseEndpoint._raise_on_bad_methodK   sf    %%-OPP$$&d.H.HH%g3RU\UhUhUnUnUp3ps s Ir   c                     UR                   R                  5       S:X  a'  UR                  =(       d    SnU(       a
  [        USS9egg)z/Raise if invalid POST request received
        POST z$URL query parameters are not allowedr+   N)rE   r   	uri_queryr   )r   r,   query_paramss      r   _raise_on_bad_post_request'BaseEndpoint._raise_on_bad_post_requestR   sL     $$&&0",,2L)'7]` `  1r   r   N)__name__
__module____qualname____firstlineno__r   propertyr   setterr"   r'   r0   r;   rA   rF   rM   __static_attributes__ r   r   r   r      s    +
 + + !!< "<   $ $ " " * *N
6=s`r   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	   r7   infojsonr'   r   r   	Exceptionr   warning)endpointuriargskwargseerrorfs         r   wrapper0catch_errors_and_unavailability.<locals>.wrapper\   s    !!+-AHHACGHqvvs?"  
+8888 X4T4V44  #  +#DqHJ5::s**	+s   A. .C0C<CC)	functoolswraps)rc   rd   s   ` r   catch_errors_and_unavailabilityrh   [   s%    __Q5 5( Nr   )__doc__rf   loggingerrorsr   r   r   r   r   r	   r
   	getLoggerrO   r7   r   rh   rV   r   r   <module>rm      sG       
 !F` F`Pr   