Ë
    GU hÿ  ã                   ób   — d Z ddlZddlmZ ddlmZ  ej                  e«      Z G d„ de«      Z	y)	z±
oauthlib.oauth1.rfc5849.endpoints.signature_only
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This module is an implementation of the signing logic of OAuth 1.0 RFC 5849.
é    Né   )Úerrorsé   )ÚBaseEndpointc                   ó   — e Zd ZdZ	 	 dd„Zy)ÚSignatureOnlyEndpointz>An endpoint only responsible for verifying an oauth signature.Nc                 ó�  — 	 | j                  ||||«      }	 | j                  |«       | j                  |«       | j                  j                  |j                  |j                  |j                  |«      st        j                  d«       d|fS | j                  j                  |j                  |«      }|s| j                  j                  |_	        | j                  |«      }||j                   d<   ||j                   d<   t#        ||f«      }	|	sAt        j	                  d«       t        j	                  d	|«       t        j	                  d
|«       |	|fS # t        j                  $ r"}t        j	                  d|z  «       Y d}~yd}~ww xY w# t        j                  $ r&}t        j	                  d|z  «       d|fcY d}~S d}~ww xY w)a°  Validate a signed OAuth request.

        :param uri: The full URI of the token request.
        :param http_method: A valid HTTP verb, i.e. GET, POST, PUT, HEAD, etc.
        :param body: The request body as a string.
        :param headers: The request headers as a dict.
        :returns: A tuple of 2 elements.
                  1. True if valid, False otherwise.
                  2. An oauthlib.common.Request object.
        z.Exception caught while validating request, %s.N)FNFz.[Failure] verification failed: timestamp/nonceÚclientÚ	signaturez&[Failure] request verification failed.zValid client: %szValid signature: %s)Ú_create_requestr   ÚOAuth1ErrorÚlogÚinfoÚ_check_transport_securityÚ_check_mandatory_parametersÚrequest_validatorÚvalidate_timestamp_and_nonceÚ
client_keyÚ	timestampÚnonceÚdebugÚvalidate_client_keyÚdummy_clientÚ_check_signatureÚvalidator_logÚall)
ÚselfÚuriÚhttp_methodÚbodyÚheadersÚrequestÚerrÚvalid_clientÚvalid_signatureÚvs
             úh/var/www/timesheet/venv/lib/python3.12/site-packages/oauthlib/oauth1/rfc5849/endpoints/signature_only.pyÚvalidate_requestz&SignatureOnlyEndpoint.validate_request   s¡  € ð	Ø×*Ñ*¨3°¸TÀ7ÓKˆGð	"Ø×*Ñ*¨7Ô3Ø×,Ñ,¨WÔ5ð ×%Ñ%×BÑBØ×"Ñ" G×$5Ñ$5°w·}±}ÀgôOä�I‰IÐFÔGØ˜'�>Ð!ð ×-Ñ-×AÑAØ×Ñ ó)ˆáØ!%×!7Ñ!7×!DÑ!DˆGÔà×/Ñ/°Ó8ˆð +7ˆ×Ñ˜hÑ'Ø-<ˆ×Ñ˜kÑ*ô �˜Ð/Ó0ˆÙÜ�H‰HÐ=Ô>Ü�H‰HÐ'¨Ô6Ü�H‰HÐ*¨OÔ<Ø�'ˆzÐøô_ ×!Ñ!ò 	Ü�H‰HØ@À3ÑFôHäûð	ûô ×!Ñ!ò 	"Ü�H‰HØ@À3ÑFôHà˜'�>Õ!ûð	"ús4   ‚E —"F ÅF	Å'FÆF	ÆGÆG Æ:GÇ G)ÚGETNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r(   © ó    r'   r   r      s   „ áHà05Ø,0ô=r/   r   )
r-   ÚloggingÚ r   Úbaser   Ú	getLoggerr*   r   r   r.   r/   r'   ú<module>r4      s5   ðñó å Ý à€g×Ñ˜Ó!€ôA˜Lõ Ar/   