You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
when the user sends an invalid bucket name or path name , this must be included as a error message in the failed response . The below error in the server logs The specified bucket does not exist must be included in the failed response message .
expected sample error response -
{
"status": 422 , // http status
"details":{
"field":"s3_bucket" , // JSON field which errored
"message":"specified bucket does not exist" // error message to be shown in form
}
}
Server logs -
metafacts-server_1 | ERROR: Exception in ASGI application
metafacts-server_1 | Traceback (most recent call last):
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/uvicorn/protocols/http/httptools_impl.py", line 390, in run_asgi
metafacts-server_1 | result = await app(self.scope, self.receive, self.send)
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/uvicorn/middleware/proxy_headers.py", line 45, in __call__
metafacts-server_1 | return await self.app(scope, receive, send)
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/fastapi/applications.py", line 208, in __call__
metafacts-server_1 | await super().__call__(scope, receive, send)
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/starlette/applications.py", line 112, in __call__
metafacts-server_1 | await self.middleware_stack(scope, receive, send)
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/starlette/middleware/errors.py", line 181, in __call__
metafacts-server_1 | raise exc
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/starlette/middleware/errors.py", line 159, in __call__
metafacts-server_1 | await self.app(scope, receive, _send)
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/starlette/middleware/cors.py", line 92, in __call__
metafacts-server_1 | await self.simple_response(scope, receive, send, request_headers=headers)
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/starlette/middleware/cors.py", line 147, in simple_response
metafacts-server_1 | await self.app(scope, receive, send)
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/starlette/exceptions.py", line 82, in __call__
metafacts-server_1 | raise exc
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/starlette/exceptions.py", line 71, in __call__
metafacts-server_1 | await self.app(scope, receive, sender)
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 656, in __call__
metafacts-server_1 | await route.handle(scope, receive, send)
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 259, in handle
metafacts-server_1 | await self.app(scope, receive, send)
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 61, in app
metafacts-server_1 | response = await func(request)
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/fastapi/routing.py", line 226, in app
metafacts-server_1 | raw_response = await run_endpoint_function(
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/fastapi/routing.py", line 159, in run_endpoint_function
metafacts-server_1 | return await dependant.call(**values)
metafacts-server_1 | File "/app/./app/api/api_v1/routers/meta_data.py", line 71, in get_meta_data_from_s3
metafacts-server_1 | meta_data = await create_meta_data_for_s3_bucket(
metafacts-server_1 | File "/app/./app/utils/meta_data.py", line 124, in create_meta_data_for_s3_bucket
metafacts-server_1 | tasks = [
metafacts-server_1 | File "/app/./app/utils/meta_data.py", line 124, in <listcomp>
metafacts-server_1 | tasks = [
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/boto3/resources/collection.py", line 81, in __iter__
metafacts-server_1 | for page in self.pages():
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/boto3/resources/collection.py", line 171, in pages
metafacts-server_1 | for page in pages:
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/botocore/paginate.py", line 269, in __iter__
metafacts-server_1 | response = self._make_request(current_kwargs)
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/botocore/paginate.py", line 357, in _make_request
metafacts-server_1 | return self._method(**current_kwargs)
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/botocore/client.py", line 508, in _api_call
metafacts-server_1 | return self._make_api_call(operation_name, kwargs)
metafacts-server_1 | File "/usr/local/lib/python3.9/site-packages/botocore/client.py", line 915, in _make_api_call
metafacts-server_1 | raise error_class(parsed_response, operation_name)
metafacts-server_1 | botocore.errorfactory.NoSuchBucket: An error occurred (NoSuchBucket) when calling the ListObjects operation: The specified bucket does not exist
The response headers of a failed request are not the same as a successful request this is causing errors in the front end . i think it is mostly due to the cors headers not being included in a failed request .
response headers received for successful request -
The text was updated successfully, but these errors were encountered:
surajmn1
changed the title
Add proper error messages and headers in response for failed requests on the s3 endpoint
Add error messages and headers in response for failed requests on the s3 endpoint
Nov 29, 2022
The specified bucket does not exist
must be included in the failed response message .expected sample error response -
Server logs -
response headers received for successful request -
response headers received for failed request -
The text was updated successfully, but these errors were encountered: