Skip to content

Commit 5e7b2da

Browse files
committed
Improved errors on chalice
1 parent 74e71f7 commit 5e7b2da

File tree

3 files changed

+3
-44
lines changed

3 files changed

+3
-44
lines changed

src/graphql_server/chalice/views.py

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,6 @@ def get_sub_response(self, request: Request) -> TemporalResponse:
138138
@staticmethod
139139
def error_response(
140140
message: str,
141-
error_code: str,
142141
http_status_code: int,
143142
headers: Optional[dict[str, str | list[str]]] = None,
144143
) -> Response:
@@ -153,9 +152,7 @@ def error_response(
153152
Returns:
154153
An errors response.
155154
"""
156-
body = {"Code": error_code, "Message": message}
157-
158-
return Response(body=body, status_code=http_status_code, headers=headers)
155+
return Response(body=message, status_code=http_status_code, headers=headers)
159156

160157
def get_context(self, request: Request, response: TemporalResponse) -> Context:
161158
return {"request": request, "response": response} # type: ignore
@@ -181,18 +178,7 @@ def execute_request(self, request: Request) -> Response:
181178
try:
182179
return self.run(request=request)
183180
except HTTPException as e:
184-
error_code_map = {
185-
400: "BadRequestError",
186-
401: "UnauthorizedError",
187-
403: "ForbiddenError",
188-
404: "NotFoundError",
189-
409: "ConflictError",
190-
429: "TooManyRequestsError",
191-
500: "ChaliceViewError",
192-
}
193-
194181
return self.error_response(
195-
error_code=error_code_map.get(e.status_code, "ChaliceViewError"),
196182
message=e.reason,
197183
http_status_code=e.status_code,
198184
)

src/tests/http/test_query.py

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -289,15 +289,7 @@ async def test_invalid_operation_selection(http_client: HttpClient, operation_na
289289
)
290290

291291
assert response.status_code == 400
292-
293-
if isinstance(http_client, ChaliceHttpClient):
294-
# Our Chalice integration purposely wraps errors messages with a JSON object
295-
assert response.json == {
296-
"Code": "BadRequestError",
297-
"Message": f'Unknown operation named "{operation_name}".',
298-
}
299-
else:
300-
assert response.data == f'Unknown operation named "{operation_name}".'.encode()
292+
assert response.data == f'Unknown operation named "{operation_name}".'.encode()
301293

302294

303295
async def test_operation_selection_without_operations(http_client: HttpClient):
@@ -308,12 +300,4 @@ async def test_operation_selection_without_operations(http_client: HttpClient):
308300
)
309301

310302
assert response.status_code == 400
311-
312-
if isinstance(http_client, ChaliceHttpClient):
313-
# Our Chalice integration purposely wraps errors messages with a JSON object
314-
assert response.json == {
315-
"Code": "BadRequestError",
316-
"Message": "Can't get GraphQL operation type",
317-
}
318-
else:
319-
assert response.data == b"Can't get GraphQL operation type"
303+
assert response.data == b"Can't get GraphQL operation type"

src/tests/http/test_upload.py

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,6 @@ async def test_multipart_uploads_are_disabled_by_default(http_client: HttpClient
3434
)
3535

3636
assert response.status_code == 400
37-
38-
with contextlib.suppress(ImportError):
39-
from .clients.chalice import ChaliceHttpClient
40-
41-
if isinstance(http_client, ChaliceHttpClient):
42-
assert response.json == {
43-
"Code": "BadRequestError",
44-
"Message": "Unsupported content type",
45-
}
46-
return
47-
4837
assert response.data == b"Unsupported content type"
4938

5039

0 commit comments

Comments
 (0)