
    .                     r    S r SSKJrJr  SSKrSSKJr  SSKJr  \R                  " \
5      r " S S	\5      rg)
zoauthlib.oauth1.rfc5849.endpoints.signature_only ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This module is an implementation of the signing logic of OAuth 1.0 RFC 5849.
    )absolute_importunicode_literalsN   )errors   )BaseEndpointc                   "    \ rS rSrSrSS jrSrg)SignatureOnlyEndpoint   z>An endpoint only responsible for verifying an oauth signature.Nc                     U R                  XX45      n U R                  U5        U R                  U5        U R                  R                  UR                  UR                  UR                  U5      (       d  [        R                  S5        SU4$ U R                  R                  UR                  U5      nU(       d  U R                  R                  Ul	        U R                  U5      nXuR                   S'   XR                   S'   [#        Xx45      n	U	(       dA  [        R	                  S5        [        R	                  S	U5        [        R	                  S
U5        X4$ ! [        R                   a"  n[        R	                  SU-  5         SnAgSnAff = f! [        R                   a&  n[        R	                  SU-  5        SU4s SnA$ SnAff = f)ap  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
             Clib/third_party/oauthlib/oauth1/rfc5849/endpoints/signature_only.pyvalidate_request&SignatureOnlyEndpoint.validate_request   s   $$StEg

$$W-
&&w/
 !!>>G--w}}gG G	ii@AG^ ))==G%L11>>g++G4O '3(#)8+& 	\+,A	hh78	hh!<0	hh$o6:[  	hh?#EF  	hh?#EFG^s4   E "F F1FFG*GGG )GETNN)__name__
__module____qualname____firstlineno____doc__r+   __static_attributes__r-       r*   r
   r
      s
    F:r5   r
   )r3   
__future__r   r   logging r   baser   	getLoggerr/   r   r
   r-   r5   r*   <module>r;      s4   
 9   !=L =r5   