Ë
    ~ºßh  ã                   óz   — d Z ddlZddlZddlmZmZmZmZmZm	Z	m
Z
  ej                  e«      Z G d„ d«      Zd„ Zy)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                   óÌ   — e Zd Zd„ Zed„ «       Zej                  d„ «       Zed„ «       Zej                  d„ «       Zed„ «       Zej                  d„ «       Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zy)ÚBaseEndpointc                 ó.   — d| _         d| _        d | _        y )NTF)Ú
_availableÚ_catch_errorsÚ_valid_request_methods©Úselfs    úa/var/www/html/python/myenv/lib/python3.12/site-packages/oauthlib/oauth2/rfc6749/endpoints/base.pyÚ__init__zBaseEndpoint.__init__   s   € ØˆŒØ"ˆÔØ&*ˆÕ#ó    c                 ó   — | j                   S ©N)r   r   s    r   Úvalid_request_methodsz"BaseEndpoint.valid_request_methods   s   € à×*Ñ*Ð*r   c                 óZ   — |�|D �cg c]  }|j                  «       ‘Œ }}|| _        y c c}w r   )Úupperr   )r   r   Úxs      r   r   z"BaseEndpoint.valid_request_methods   s0   € à Ð,Ø8MÖ$N°1 Q§W¡W¥YÐ$NÐ!Ð$NØ&;ˆÕ#ùò %Os   ‡(c                 ó   — | j                   S r   ©r   r   s    r   Ú	availablezBaseEndpoint.available%   s   € à�‰Ðr   c                 ó   — || _         y r   r   )r   r   s     r   r   zBaseEndpoint.available)   s	   € à#ˆ�r   c                 ó   — | j                   S r   ©r   r   s    r   Úcatch_errorszBaseEndpoint.catch_errors-   s   € à×!Ñ!Ð!r   c                 ó   — || _         y r   r!   )r   r"   s     r   r"   zBaseEndpoint.catch_errors1   s
   € à)ˆÕr   c                 ó6   — |j                   st        |d¬«      ‚y)zRaise error on missing token.zMissing token parameter.©ÚrequestÚdescriptionN)Útokenr   ©r   r&   s     r   Ú_raise_on_missing_tokenz$BaseEndpoint._raise_on_missing_token5   s"   € à�}Š}Ü%¨gØ2LôNð Nð r   c                 óF  — | j                   j                  |«      r>| j                   j                  |«      s"t        j	                  d|«       t        |¬«      ‚y| j                   j                  |j                  |«      s"t        j	                  d|«       t        |¬«      ‚y)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_clientz%BaseEndpoint._raise_on_invalid_client:   s‰   € à×!Ñ!×@Ñ@ÀÔIØ×)Ñ)×=Ñ=¸gÔFÜ—	‘	Ð=¸wÔGÜ(°Ô9Ð9ð Gð ×'Ñ'×>Ñ>¸w×?PÑ?PÐRYÔZÜ�I‰IÐ9¸7ÔCÜ$¨WÔ5Ð5ð [r   c                 ó˜   — |j                   r>|j                   | j                  v r%|j                   | j                  vrt        |¬«      ‚yyy)zRaise on unsupported tokens.r,   N)Útoken_type_hintÚvalid_token_typesÚsupported_token_typesr
   r)   s     r   Ú_raise_on_unsupported_tokenz(BaseEndpoint._raise_on_unsupported_tokenD   sN   € à×#Ò#Ø×#Ñ# t×'=Ñ'=Ñ=Ø×#Ñ#¨4×+EÑ+EÑEÜ+°GÔ<Ð<ð Fð >ð $r   c                 óÎ   — | j                   €t        d«      ‚|j                  j                  «       | j                   vr(t	        |d|j                  j                  «       z  ¬«      ‚y )Nz0Configure "valid_request_methods" property firstzUnsupported request method %sr%   )r   Ú
ValueErrorÚhttp_methodr   r   r)   s     r   Ú_raise_on_bad_methodz!BaseEndpoint._raise_on_bad_methodK   sf   € Ø×%Ñ%Ð-ÜÐOÓPÐPØ×Ñ×$Ñ$Ó&¨d×.HÑ.HÑHÜ%¨gØ3RÐU\×UhÑUh×UnÑUnÓUpÑ3pôsð sð Ir   c                 ó~   — |j                   j                  «       dk(  r |j                  xs d}|rt        |d¬«      ‚yy)z/Raise if invalid POST request received
        ÚPOSTÚ z$URL query parameters are not allowedr%   N)r<   r   Ú	uri_queryr   )r   r&   Úquery_paramss      r   Ú_raise_on_bad_post_requestz'BaseEndpoint._raise_on_bad_post_requestR   sL   € ð ×Ñ×$Ñ$Ó&¨&Ò0Ø"×,Ñ,Ò2°ˆLÙÜ)°'Ø7]ô`ð `ð ð 1r   N)Ú__name__Ú
__module__Ú__qualname__r   Úpropertyr   Úsetterr   r"   r*   r4   r9   r=   rC   © r   r   r   r      s­   „ ò+ð
 ñ+ó ð+ð ×!Ñ!ñ<ó "ð<ð ñó ðð ×Ññ$ó ð$ð ñ"ó ð"ð ×Ññ*ó ð*òNò
6ò=òsó`r   r   c                 óB   ‡ — t        j                  ‰ «      ˆ fd„«       }|S )Nc                 ó~  •— | j                   s1t        «       }t        j                  d|z  «       i |j                  dfS | j
                  r	  ‰| |g|¢­i |¤ŽS  ‰| |g|¢­i |¤ŽS # t        $ r ‚ t        $ r ‚ t        $ r;}t        «       }t        j                  d|z  «       i |j                  dfcY d }~S d }~ww xY w)Nz*Endpoint unavailable, ignoring request %s.i÷  z.Exception caught while processing request, %s.iô  )r   r	   r0   ÚinfoÚjsonr"   r   r   Ú	Exceptionr   Úwarning)ÚendpointÚuriÚargsÚkwargsÚeÚerrorÚfs         €r   Úwrapperz0catch_errors_and_unavailability.<locals>.wrapper\   sÉ   ø€ à×!Ò!Ü+Ó-ˆAÜ�H‰HÐAÀCÑGÔHØ�q—v‘v˜s�?Ð"à× Ò ð
+Ù˜ 3Ð8¨Ò8°Ñ8Ð8ñ �X˜sÐ4 TÒ4¨VÑ4Ð4øô ò ØÜ#ò ØÜò +Ü#›�Ü—‘ØDÀqÑHôJà˜5Ÿ:™: sÐ*Õ*ûð	+ús   ÁA& Á&B<Â0B7Â1B<Â7B<)Ú	functoolsÚwraps)rV   rW   s   ` r   Úcatch_errors_and_unavailabilityrZ   [   s%   ø€ Ü‡_�_�QÓó5ó ð5ð( €Nr   )Ú__doc__rX   ÚloggingÚerrorsr   r   r   r   r   r	   r
   Ú	getLoggerrD   r0   r   rZ   rI   r   r   ú<module>r_      sI   ðñó Û ÷÷ ñ ð
 €g×Ñ˜Ó!€÷F`ñ F`óPr   