§
    ZŠtj  ã                   ó~   — 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dS )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dS )ÚBaseEndpointc                 ó0   — d| _         d| _        d | _        d S )NTF)Ú
_availableÚ_catch_errorsÚ_valid_request_methods©Úselfs    úd/var/www/html/CA-Chatbot/venv/lib/python3.11/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                 ó0   — |�d„ |D ¦   «         }|| _         d S )Nc                 ó6   — g | ]}|                      ¦   «         ‘ŒS © )Úupper)Ú.0Úxs     r   ú
<listcomp>z6BaseEndpoint.valid_request_methods.<locals>.<listcomp>!   s    € Ð$NÐ$NÐ$N°1 Q§W¢W¡Y¤YÐ$NÐ$NÐ$Nr   r   )r   r   s     r   r   z"BaseEndpoint.valid_request_methods   s+   € à Ð,Ø$NÐ$NÐ8MÐ$NÑ$NÔ$NÐ!Ø&;ˆÔ#Ð#Ð#r   c                 ó   — | j         S r   ©r   r   s    r   Ú	availablezBaseEndpoint.available%   s
   € àŒÐr   c                 ó   — || _         d S 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                 ó   — || _         d S r   r&   )r   r'   s     r   r'   zBaseEndpoint.catch_errors1   s   € à)ˆÔÐÐr   c                 ó6   — |j         st          |d¬¦  «        ‚dS )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   s9   € àŒ}ð 	NÝ%¨gØ2LðNñ Nô Nð Nð	Nð 	Nr   c                 ó^  — | j                              |¦  «        rG| j                              |¦  «        s+t                               d|¦  «         t          |¬¦  «        ‚dS | j                              |j        |¦  «        s+t                               d|¦  «         t          |¬¦  «        ‚dS )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ÔIð 	6ØÔ)×=Ò=¸gÑFÔFð :Ý—	’	Ð=¸wÑGÔGÐGÝ(°Ð9Ñ9Ô9Ð9ð:ð :ð Ô'×>Ò>¸wÔ?PÐRYÑZÔZð 	6Ý�IŠIÐ9¸7ÑCÔCÐCÝ$¨WÐ5Ñ5Ô5Ð5ð	6ð 	6r   c                 ót   — |j         r,|j         | j        v r |j         | j        vrt          |¬¦  «        ‚dS dS dS )zRaise on unsupported tokens.r1   N)Útoken_type_hintÚvalid_token_typesÚsupported_token_typesr
   r.   s     r   Ú_raise_on_unsupported_tokenz(BaseEndpoint._raise_on_unsupported_tokenD   sV   € àÔ#ð 	=ØÔ# tÔ'=Ð=Ð=ØÔ#¨4Ô+EÐEÐEÝ+°GÐ<Ñ<Ô<Ð<ð	=ð 	=Ø=Ð=ØEÐEr   c                 óÈ   — | j         €t          d¦  «        ‚|j                             ¦   «         | j         vr+t	          |d|j                             ¦   «         z  ¬¦  «        ‚d S )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   su   € ØÔ%Ð-ÝÐOÑPÔPÐPØÔ×$Ò$Ñ&Ô&¨dÔ.HÐHÐHÝ%¨gØ3RÐU\ÔUh×UnÒUnÑUpÔUpÑ3pðsñ sô sð sð IÐHr   c                 ó|   — |j                              ¦   «         dk    r|j        pd}|rt          |d¬¦  «        ‚dS dS )z/Raise if invalid POST request received
        ÚPOSTÚ z$URL query parameters are not allowedr*   N)rA   r   Ú	uri_queryr   )r   r+   Úquery_paramss      r   Ú_raise_on_bad_post_requestz'BaseEndpoint._raise_on_bad_post_requestR   sh   € ð Ô×$Ò$Ñ&Ô&¨&Ò0Ð0Ø"Ô,Ð2°ˆLØð `Ý)°'Ø7]ð`ñ `ô `ð `ð 1Ð0ð`ð `r   N)Ú__name__Ú
__module__Ú__qualname__r   Úpropertyr   Úsetterr#   r'   r/   r9   r>   rB   rH   r   r   r   r   r      s'  € € € € € ð+ð +ð +ð
 ð+ð +ñ „Xð+ð Ô!ð<ð <ñ "Ô!ð<ð ðð ñ „Xðð Ôð$ð $ñ Ôð$ð ð"ð "ñ „Xð"ð Ôð*ð *ñ Ôð*ðNð Nð Nð
6ð 6ð 6ð=ð =ð =ðsð sð sð`ð `ð `ð `ð `r   r   c                 óF   ‡ — t          j        ‰ ¦  «        ˆ fd„¦   «         }|S )Nc                 ó€  •— | j         s5t          ¦   «         }t                               d|z  ¦  «         i |j        dfS | j        rn	  ‰| |g|¢R i |¤ŽS # t          $ r ‚ t          $ r ‚ t          $ r?}t          ¦   «         }t           
                    d|z  ¦  «         i |j        dfcY d }~S d }~ww xY w ‰| |g|¢R i |¤ŽS )Nz*Endpoint unavailable, ignoring request %s.i÷  z.Exception caught while processing request, %s.iô  )r#   r	   r5   Ú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ÔHÐHØ�q”v˜s�?Ð"àÔ ð 	5ð
+Ø�q˜ 3Ð8¨Ð8Ð8Ð8°Ð8Ð8Ð8øÝð ð ð ØÝ#ð ð ð ØÝð +ð +ð +Ý#™œ�Ý—’ØDÀqÑHñJô Jð Jà˜5œ: sÐ*Ð*Ð*Ð*Ð*Ð*Ð*øøøøð	+øøøð �1�X˜sÐ4 TÐ4Ð4Ð4¨VÐ4Ð4Ð4s   ÁA ÁB0Á14B+Â%B0Â+B0)Ú	functoolsÚwraps)rZ   r[   s   ` r   Úcatch_errors_and_unavailabilityr^   [   s8   ø€ Ý„_�QÑÔð5ð 5ð 5ð 5ñ Ôð5ð( €Nr   )Ú__doc__r\   ÚloggingÚerrorsr   r   r   r   r   r	   r
   Ú	getLoggerrI   r5   r   r^   r   r   r   ú<module>rc      sæ   ððð ð Ð Ð Ð Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð
 €gÔ˜Ñ!Ô!€ðF`ð F`ð F`ð F`ð F`ñ F`ô F`ð F`ðPð ð ð ð r   