Files
dify/api/controllers/common/resource_access_token_errors.py
T
c0dbb26f3e feat: access token feature (#42293)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: yunlu.wen <yunlu.wen@dify.ai>
Co-authored-by: twwu <twwu@dify.ai>
2026-10-09 05:54:28 +00:00

28 lines
966 B
Python

"""Translate machine credential application failures at HTTP transport boundaries."""
from collections.abc import Generator
from contextlib import contextmanager
from werkzeug.exceptions import BadRequest, Forbidden, NotFound, Unauthorized
from services.auth.resource_access_token_contracts import (
ResourceAccessTokenForbiddenError,
ResourceAccessTokenInputError,
ResourceAccessTokenInvalidError,
ResourceAccessTokenNotFoundError,
)
@contextmanager
def resource_access_token_errors() -> Generator[None, None, None]:
try:
yield
except ResourceAccessTokenInputError as error:
raise BadRequest(str(error)) from error
except ResourceAccessTokenForbiddenError as error:
raise Forbidden(str(error)) from error
except ResourceAccessTokenNotFoundError as error:
raise NotFound(str(error)) from error
except ResourceAccessTokenInvalidError as error:
raise Unauthorized(str(error)) from error