ó
    ychÎ  ã                   ób   • S r SSKrSSKJr  SSKJr  \R                  " \5      r " S S\5      r	g)	zº
oauthlib.oauth1.rfc5849.endpoints.resource
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This module is an implementation of the resource protection provider logic of
OAuth 1.0 RFC 5849.
é    Né   )Úerrorsé   )ÚBaseEndpointc                   ó&   • \ rS rSrSr  SS jrSrg)ÚResourceEndpointé   aµ  An endpoint responsible for protecting resources.

Typical use is to instantiate with a request validator and invoke the
``validate_protected_resource_request`` in a decorator around a view
function. If the request is valid, invoke and return the response of the
view. If invalid create and return an error response directly from the
decorator.

See :doc:`/oauth1/validator` for details on which validator methods to implement
for this endpoint.

An example decorator::

    from functools import wraps
    from your_validator import your_validator
    from oauthlib.oauth1 import ResourceEndpoint
    endpoint = ResourceEndpoint(your_validator)

    def require_oauth(realms=None):
        def decorator(f):
            @wraps(f)
            def wrapper(request, *args, **kwargs):
                v, r = provider.validate_protected_resource_request(
                        request.url,
                        http_method=request.method,
                        body=request.data,
                        headers=request.headers,
                        realms=realms or [])
                if v:
                    return f(*args, **kwargs)
                else:
                    return abort(403)
Nc                 óF  •  U R                  XX45      n U R                  U5        U R	                  U5        UR
                  (       d  SU4$ U R                  R                  UR
                  5      (       d  SU4$ U R                  R                  UR                  UR                  UR                  UUR
                  S9(       d  SU4$ U R                  R                  UR                  U5      nU(       d  U R                  R                  Ul	        U R                  R                  UR                  UR
                  U5      nU(       d  U R                  R                  Ul        U R                  R!                  UR                  UR
                  XfR"                  US9n	U R%                  U5      n
XvR&                  S'   X†R&                  S'   X–R&                  S'   X¦R&                  S'   [)        XxU	U
45      nU(       dm  [*        R-                  S	5        [*        R-                  S
U5        [*        R-                  SU5        [*        R-                  SU	5        [*        R-                  SU
5        X¶4$ ! [        R                   a     gf = f! [        R                   a    SU4s $ f = f)aD  Create a request token response, with a new request token if valid.

: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.
:param realms: A list of realms the resource is protected under.
               This will be supplied to the ``validate_realms``
               method of the request validator.
:returns: A tuple of 2 elements.
          1. True if valid, False otherwise.
          2. An oauthlib.common.Request object.
)FNF)Úaccess_token)ÚuriÚrealmsÚclientÚresource_ownerÚrealmÚ	signaturez&[Failure] request verification failed.zValid client: %szValid token: %szValid realm: %szValid signature: %s)Ú_create_requestr   ÚOAuth1ErrorÚ_check_transport_securityÚ_check_mandatory_parametersÚresource_owner_keyÚrequest_validatorÚcheck_access_tokenÚvalidate_timestamp_and_nonceÚ
client_keyÚ	timestampÚnonceÚvalidate_client_keyÚdummy_clientÚvalidate_access_tokenÚdummy_access_tokenÚvalidate_realmsr   Ú_check_signatureÚvalidator_logÚallÚlogÚinfo)Úselfr   Úhttp_methodÚbodyÚheadersr   ÚrequestÚvalid_clientÚvalid_resource_ownerÚvalid_realmÚvalid_signatureÚvs               Ús/var/www/djangovue.mamus.xyz/django/venv/lib/python3.13/site-packages/oauthlib/oauth1/rfc5849/endpoints/resource.pyÚ#validate_protected_resource_requestÚ4ResourceEndpoint.validate_protected_resource_request5   sq  € ð	Ø×*Ñ*¨3¸TÓKˆGð	"Ø×*Ñ*¨7Ô3Ø×,Ñ,¨WÔ5ð ×)×)Ø˜'�>Ð!à×%Ñ%×8Ñ8Ø×*Ñ*÷,ñ ,à˜'�>Ð!à×%Ñ%×BÑBØ×"Ñ" G×$5Ñ$5°w·}±}ÀgØ$×7Ñ7ð Cö 9ð ˜'�>Ð!ð ×-Ñ-×AÑAØ×Ñ ó)ˆæØ!%×!7Ñ!7×!DÑ!DˆGÔð  $×5Ñ5×KÑKØ×Ñ × :Ñ :¸Gó EÐæ#Ø)-×)?Ñ)?×)RÑ)RˆGÔ&ð0 ×,Ñ,×<Ñ<¸W×=OÑ=OØ=D×=WÑ=WÐY`×fqÑfqØDJð =ð Lˆð ×/Ñ/°Ó8ˆð +7×Ñ˜hÑ'Ø2F×ÑÐ.Ñ/Ø)4×Ñ˜gÑ&Ø-<×Ñ˜kÑ*ô �°[Ø ð"ó #ˆæÜ�H‰HÐ=Ô>Ü�H‰HÐ'¨Ô6Ü�H‰HÐ&Ð(<Ô=Ü�H‰HÐ&¨Ô4Ü�H‰HÐ*¨OÔ<ØˆzÐøô{ ×!Ñ!ó 	Ùð	ûô ×!Ñ!ó 	"Ø˜'�>Ò!ð	"ús"   ‚I+ •"J É+JÊJÊJ ÊJ © )ÚGETNNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r2   Ú__static_attributes__r4   ó    r1   r   r      s   † ñ ðD DIØLP÷nr<   r   )
r:   ÚloggingÚ r   Úbaser   Ú	getLoggerr6   r%   r   r4   r<   r1   Ú<module>rA      s3   ðñó å Ý à×Ò˜Ó!€ôR�|õ Rr<   