Skip to content

Commit 125e5f5

Browse files
committed
🐛 Improve error message clarity in get_task_result and change create_project return type to HTTPCreated
1 parent a3c81bb commit 125e5f5

File tree

3 files changed

+8
-11
lines changed

3 files changed

+8
-11
lines changed

packages/service-library/src/servicelib/aiohttp/rest_middlewares.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from aiohttp.web_request import Request
1313
from aiohttp.web_response import StreamResponse
1414
from common_library.error_codes import ErrorCodeStr, create_error_code
15-
from common_library.json_serialization import json_dumps, json_loads
15+
from common_library.json_serialization import json_dumps
1616
from common_library.user_messages import user_message
1717
from models_library.basic_types import IDStr
1818
from models_library.rest_error import ErrorGet, ErrorItemType, LogMessageType
@@ -21,7 +21,7 @@
2121

2222
from ..logging_errors import create_troubleshootting_log_kwargs
2323
from ..mimetype_constants import MIMETYPE_APPLICATION_JSON
24-
from ..rest_responses import is_enveloped_from_map, is_enveloped_from_text
24+
from ..rest_responses import is_enveloped_from_text
2525
from ..status_codes_utils import get_code_description
2626
from . import status
2727
from .rest_responses import (
@@ -167,11 +167,9 @@ def _handle_http_successful(
167167
exception.status, safe_status_message(message=exception.reason)
168168
)
169169

170-
if exception.text:
171-
payload = json_loads(exception.text)
172-
if not is_enveloped_from_map(payload):
173-
payload = wrap_as_envelope(data=payload)
174-
exception.text = json_dumps(payload)
170+
if exception.text and not is_enveloped_from_text(exception.text):
171+
payload = wrap_as_envelope(data=exception.text)
172+
exception.text = json_dumps(payload)
175173

176174
return exception
177175

packages/service-library/src/servicelib/long_running_tasks/http_endpoint_responses.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ async def get_task_result(
4444
except Exception as exc:
4545
_logger.exception(
4646
**create_troubleshootting_log_kwargs(
47-
user_error_msg=f"{task_id=} raised an exception",
47+
user_error_msg=f"{task_id=} raised an exception while getting its result",
4848
error=exc,
4949
error_code=create_error_code(exc),
5050
error_context={"task_context": task_context, "task_id": task_id},

services/web/server/src/simcore_service_webserver/projects/_crud_api_create.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ async def create_project( # pylint: disable=too-many-arguments,too-many-branche
263263
simcore_user_agent: str,
264264
parent_project_uuid: ProjectID | None,
265265
parent_node_id: NodeID | None,
266-
) -> None:
266+
) -> web.HTTPCreated:
267267
"""Implements TaskProtocol for 'create_projects' handler
268268
269269
Arguments:
@@ -278,7 +278,6 @@ async def create_project( # pylint: disable=too-many-arguments,too-many-branche
278278
predefined_project -- project in request body
279279
280280
Raises:
281-
web.HTTPCreated: succeeded
282281
web.HTTPBadRequest:
283282
web.HTTPNotFound:
284283
web.HTTPUnauthorized:
@@ -481,7 +480,7 @@ async def create_project( # pylint: disable=too-many-arguments,too-many-branche
481480
**RESPONSE_MODEL_POLICY
482481
)
483482

484-
raise web.HTTPCreated(
483+
return web.HTTPCreated(
485484
text=json_dumps({"data": data}),
486485
content_type=MIMETYPE_APPLICATION_JSON,
487486
)

0 commit comments

Comments
 (0)