-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
INFO: 128.55.64.29:0 - "PATCH /collections/CMIP6/items/CMIP6.CMIP.MOHC.UKESM1-1-LL.piControl.r1i1p1f2.Amon.tauu.gn.v20220505 HTTP/1.1" 500 Internal Server Error
ERROR: Exception in ASGI application
+ Exception Group Traceback (most recent call last):
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/_utils.py", line 77, in collapse_excgroups
| yield
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/middleware/base.py", line 186, in __call__
| async with anyio.create_task_group() as task_group:
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/anyio/_backends/_asyncio.py", line 763, in __aexit__
| raise BaseExceptionGroup(
| ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
+-+---------------- 1 ----------------
| Traceback (most recent call last):
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/uvicorn/protocols/http/h11_impl.py", line 406, in run_asgi
| result = await app( # type: ignore[func-returns-value]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
| return await self.app(scope, receive, send)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
| await super().__call__(scope, receive, send)
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/applications.py", line 113, in __call__
| await self.middleware_stack(scope, receive, send)
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/middleware/errors.py", line 187, in __call__
| raise exc
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__
| await self.app(scope, receive, _send)
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/middleware/base.py", line 185, in __call__
| with collapse_excgroups():
| File "/usr/lib64/python3.11/contextlib.py", line 158, in __exit__
| self.gen.throw(typ, value, traceback)
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/_utils.py", line 83, in collapse_excgroups
| raise exc
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/middleware/base.py", line 187, in __call__
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/src/authorizer.py", line 72, in dispatch
| return await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/middleware/base.py", line 163, in call_next
| raise app_exc
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/middleware/base.py", line 149, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
| await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app
| raise exc
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app
| await app(scope, receive, sender)
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/routing.py", line 715, in __call__
| await self.middleware_stack(scope, receive, send)
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/routing.py", line 735, in app
| await route.handle(scope, receive, send)
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/routing.py", line 288, in handle
| await self.app(scope, receive, send)
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/routing.py", line 76, in app
| await wrap_app_handling_exceptions(app, request)(scope, receive, send)
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app
| raise exc
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app
| await app(scope, receive, sender)
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/starlette/routing.py", line 73, in app
| response = await f(request)
| ^^^^^^^^^^^^^^^^
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/fastapi/routing.py", line 301, in app
| raw_response = await run_endpoint_function(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
| return await dependant.call(**values)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/venv/lib64/python3.11/site-packages/stac_fastapi/api/routes.py", line 63, in _endpoint
| return _wrap_response(await func(request=request, **request_data.kwargs()))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/src/client.py", line 287, in patch_item
| validate_patch(event_id=event_id, request_id=request_id, item_id=item_id, item=item, extensions=item_extensions)
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/src/utils.py", line 182, in validate_patch
| item, null_keys = get_null_keys(item)
| ^^^^^^^^^^^^^^^^^^^
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/src/utils.py", line 139, in get_null_keys
| item_dict, null_keys = nested_null_keys(item.model_dump())
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/src/utils.py", line 133, in nested_null_keys
| sub_dict, sub_null_keys = get_null_keys(v)
| ^^^^^^^^^^^^^^^^
| File "/home/ec2-user/esgfng/client_integration/stac-transaction-api/src/utils.py", line 139, in get_null_keys
| item_dict, null_keys = nested_null_keys(item.model_dump())
| ^^^^^^^^^^^^^^^
| AttributeError: 'dict' object has no attribute 'model_dump'
+------------------------------------
The exception is thrown when the PATCH request body is invalid. It should be handled in a more client-friendly way.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels