File: //lib/python3.9/site-packages/oauthlib/oauth2/rfc6749/endpoints/__pycache__/base.cpython-39.pyc
a
\��`" � @ s\ d Z ddlZddlZddlmZmZmZmZmZm Z m
Z
e�e�Z
G dd� d�Zdd� ZdS ) 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 @ s� e Zd Zdd� Zedd� �Zejdd� �Zedd� �Zejdd� �Zed d
� �Zejdd
� �Zdd
� Z dd� Z
dd� Zdd� Zdd� Z
dS )�BaseEndpointc C s d| _ d| _d | _d S )NTF)�
_available�
_catch_errors�_valid_request_methods��self� r �J/usr/lib/python3.9/site-packages/oauthlib/oauth2/rfc6749/endpoints/base.py�__init__ s zBaseEndpoint.__init__c C s | j S �N�r
r r r r �valid_request_methods s z"BaseEndpoint.valid_request_methodsc C s |d urdd� |D �}|| _ d S )Nc S s g | ]}|� � �qS r )�upper)�.0�xr r r �
<listcomp>! � z6BaseEndpoint.valid_request_methods.<locals>.<listcomp>r )r r r r r r s c C s | j S r �r r r r r � available% s zBaseEndpoint.availablec C s
|| _ d S r r )r r r r r r ) s c C s | j S r �r r r r r �catch_errors- s zBaseEndpoint.catch_errorsc C s
|| _ d S r r )r r r r r r 1 s c C s |j st|dd��dS )zRaise error on missing token.zMissing token parameter.��request�descriptionN)�tokenr �r r r r r �_raise_on_missing_token5 s �z$BaseEndpoint._raise_on_missing_tokenc C sZ | j �|�r0| j �|�sVt�d|� t|d��n&| j �|j|�sVt�d|� t|d��dS )z&Raise on failed client authentication.z!Client authentication failed, %r.�r N)Zrequest_validatorZclient_authentication_requiredZauthenticate_client�log�debugr Zauthenticate_client_idZ client_idr# r r r �_raise_on_invalid_client: s z%BaseEndpoint._raise_on_invalid_clientc C s, |j r(|j | jv r(|j | jvr(t|d��dS )zRaise on unsupported tokens.r% N)Ztoken_type_hintZvalid_token_typesZsupported_token_typesr r# r r r �_raise_on_unsupported_tokenD s
�
�z(BaseEndpoint._raise_on_unsupported_tokenc C s<