o
    ˷e                     @   sB   d Z ddlZddlmZ ddlmZ eeZG dd deZ	dS )	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                   @   s   e Zd ZdZ		dddZdS )SignatureOnlyEndpointz>An endpoint only responsible for verifying an oauth signature.GETNc           
   
   C   sB  z
|  ||||}W n tjy% } ztd|  W Y d}~dS d}~ww z| | | | W n tjyP } ztd|  d|fW  Y d}~S d}~ww | j|j	|j
|j|sftd d|fS | j|j	|}|su| jj|_	| |}||jd< ||jd< t||f}	|	std td	| td
| |	|fS )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v r%   g/var/www/ideatree/venv/lib/python3.10/site-packages/oauthlib/oauth1/rfc5849/endpoints/signature_only.pyvalidate_request   sL   

	




z&SignatureOnlyEndpoint.validate_request)r   NN)__name__
__module____qualname____doc__r'   r%   r%   r%   r&   r      s
    r   )
r+   logging r   baser   	getLoggerr(   r   r   r%   r%   r%   r&   <module>   s   
