diff options
author | Jonathan Huot <JonathanHuot@users.noreply.github.com> | 2019-08-01 19:10:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-01 19:10:17 +0200 |
commit | f74922bace5a6d28b8020d1688c40d03c6bceafc (patch) | |
tree | c2a60453c842e6085a52538c1ec5e0ca3ae69dee /oauthlib/oauth2 | |
parent | 3de7007c6885f0ac23ff2c56d6a65d8f258600a2 (diff) | |
parent | f516c1660e2608375bd6f65c1829caaf7301c426 (diff) | |
download | oauthlib-docs-flows-hooks.tar.gz |
Merge branch 'master' into docs-flows-hooksdocs-flows-hooks
Diffstat (limited to 'oauthlib/oauth2')
-rw-r--r-- | oauthlib/oauth2/rfc6749/__init__.py | 50 |
1 files changed, 2 insertions, 48 deletions
diff --git a/oauthlib/oauth2/rfc6749/__init__.py b/oauthlib/oauth2/rfc6749/__init__.py index aff0ed8..1a4128c 100644 --- a/oauthlib/oauth2/rfc6749/__init__.py +++ b/oauthlib/oauth2/rfc6749/__init__.py @@ -11,56 +11,10 @@ from __future__ import absolute_import, unicode_literals import functools import logging +from .endpoints.base import BaseEndpoint +from .endpoints.base import catch_errors_and_unavailability from .errors import TemporarilyUnavailableError, ServerError from .errors import FatalClientError, OAuth2Error log = logging.getLogger(__name__) - - -class BaseEndpoint(object): - - def __init__(self): - self._available = True - self._catch_errors = False - - @property - def available(self): - return self._available - - @available.setter - def available(self, available): - self._available = available - - @property - def catch_errors(self): - return self._catch_errors - - @catch_errors.setter - def catch_errors(self, catch_errors): - self._catch_errors = catch_errors - - -def catch_errors_and_unavailability(f): - @functools.wraps(f) - def wrapper(endpoint, uri, *args, **kwargs): - if not endpoint.available: - e = TemporarilyUnavailableError() - log.info('Endpoint unavailable, ignoring request %s.' % uri) - return {}, e.json, 503 - - if endpoint.catch_errors: - try: - return f(endpoint, uri, *args, **kwargs) - except OAuth2Error: - raise - except FatalClientError: - raise - except Exception as e: - error = ServerError() - log.warning( - 'Exception caught while processing request, %s.' % e) - return {}, error.json, 500 - else: - return f(endpoint, uri, *args, **kwargs) - return wrapper |