mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-06 21:21:15 -07:00
Update oauthlib-3.1.1
This commit is contained in:
parent
e58aa40099
commit
d76838a607
64 changed files with 4329 additions and 1421 deletions
|
@ -1,4 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
oauthlib.oauth2.rfc6749
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
@ -6,22 +5,34 @@ oauthlib.oauth2.rfc6749
|
|||
This module is an implementation of various logic needed
|
||||
for consuming and providing OAuth 2.0 RFC6749.
|
||||
"""
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
import functools
|
||||
import logging
|
||||
|
||||
from ..errors import TemporarilyUnavailableError, ServerError
|
||||
from ..errors import FatalClientError, OAuth2Error
|
||||
from ..errors import (
|
||||
FatalClientError, InvalidClientError, InvalidRequestError, OAuth2Error,
|
||||
ServerError, TemporarilyUnavailableError, UnsupportedTokenTypeError,
|
||||
)
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class BaseEndpoint(object):
|
||||
class BaseEndpoint:
|
||||
|
||||
def __init__(self):
|
||||
self._available = True
|
||||
self._catch_errors = False
|
||||
self._valid_request_methods = None
|
||||
|
||||
@property
|
||||
def valid_request_methods(self):
|
||||
return self._valid_request_methods
|
||||
|
||||
@valid_request_methods.setter
|
||||
def valid_request_methods(self, valid_request_methods):
|
||||
if valid_request_methods is not None:
|
||||
valid_request_methods = [x.upper() for x in valid_request_methods]
|
||||
self._valid_request_methods = valid_request_methods
|
||||
|
||||
|
||||
@property
|
||||
def available(self):
|
||||
|
@ -29,7 +40,7 @@ class BaseEndpoint(object):
|
|||
|
||||
@available.setter
|
||||
def available(self, available):
|
||||
self._available = available
|
||||
self._available = available
|
||||
|
||||
@property
|
||||
def catch_errors(self):
|
||||
|
@ -39,6 +50,43 @@ class BaseEndpoint(object):
|
|||
def catch_errors(self, catch_errors):
|
||||
self._catch_errors = catch_errors
|
||||
|
||||
def _raise_on_missing_token(self, request):
|
||||
"""Raise error on missing token."""
|
||||
if not request.token:
|
||||
raise InvalidRequestError(request=request,
|
||||
description='Missing token parameter.')
|
||||
def _raise_on_invalid_client(self, request):
|
||||
"""Raise on failed client authentication."""
|
||||
if self.request_validator.client_authentication_required(request):
|
||||
if not self.request_validator.authenticate_client(request):
|
||||
log.debug('Client authentication failed, %r.', request)
|
||||
raise InvalidClientError(request=request)
|
||||
elif not self.request_validator.authenticate_client_id(request.client_id, request):
|
||||
log.debug('Client authentication failed, %r.', request)
|
||||
raise InvalidClientError(request=request)
|
||||
|
||||
def _raise_on_unsupported_token(self, request):
|
||||
"""Raise on unsupported tokens."""
|
||||
if (request.token_type_hint and
|
||||
request.token_type_hint in self.valid_token_types and
|
||||
request.token_type_hint not in self.supported_token_types):
|
||||
raise UnsupportedTokenTypeError(request=request)
|
||||
|
||||
def _raise_on_bad_method(self, request):
|
||||
if self.valid_request_methods is None:
|
||||
raise ValueError('Configure "valid_request_methods" property first')
|
||||
if request.http_method.upper() not in self.valid_request_methods:
|
||||
raise InvalidRequestError(request=request,
|
||||
description=('Unsupported request method %s' % request.http_method.upper()))
|
||||
|
||||
def _raise_on_bad_post_request(self, request):
|
||||
"""Raise if invalid POST request received
|
||||
"""
|
||||
if request.http_method.upper() == 'POST':
|
||||
query_params = request.uri_query or ""
|
||||
if query_params:
|
||||
raise InvalidRequestError(request=request,
|
||||
description=('URL query parameters are not allowed'))
|
||||
|
||||
def catch_errors_and_unavailability(f):
|
||||
@functools.wraps(f)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue