diff --git a/services/web/server/src/simcore_service_webserver/exception_handling/_factory.py b/services/web/server/src/simcore_service_webserver/exception_handling/_factory.py index 29abf093cd0..29e3e325117 100644 --- a/services/web/server/src/simcore_service_webserver/exception_handling/_factory.py +++ b/services/web/server/src/simcore_service_webserver/exception_handling/_factory.py @@ -14,9 +14,9 @@ _logger = logging.getLogger(__name__) -_STATUS_CODE_TO_HTTP_ERRORS: dict[ - int, type[web.HTTPError] -] = get_all_aiohttp_http_exceptions(web.HTTPError) +_STATUS_CODE_TO_HTTP_ERRORS: dict[int, type[web.HTTPError]] = ( + get_all_aiohttp_http_exceptions(web.HTTPError) +) class _DefaultDict(dict): @@ -40,7 +40,8 @@ def create_error_response(error: ErrorGet, status_code: int) -> web.Response: return web.json_response( data={"error": error.model_dump(exclude_unset=True, mode="json")}, dumps=json_dumps, - reason=error.message, + # NOTE: Multiline not allowed in HTTP reason attribute (aiohttp now raises ValueError) + reason=error.message.replace("\n", " ") if error.message else None, status=status_code, ) diff --git a/services/web/server/src/simcore_service_webserver/exporter/exceptions.py b/services/web/server/src/simcore_service_webserver/exporter/exceptions.py index 66f0833985b..baeff42bead 100644 --- a/services/web/server/src/simcore_service_webserver/exporter/exceptions.py +++ b/services/web/server/src/simcore_service_webserver/exporter/exceptions.py @@ -6,4 +6,5 @@ class SDSException(HTTPBadRequest): # pylint: disable=too-many-ancestors """Basic exception for errors raised inside the module""" def __init__(self, message: str): - super().__init__(reason=message) + # Multiline not allowed in HTTP reason attribute + super().__init__(reason=message.replace("\n", " ") if message else None)