From 8960b29128662b925fd228325cd96cc3c1094da8 Mon Sep 17 00:00:00 2001 From: chris Date: Thu, 9 Sep 2021 19:23:16 -0700 Subject: [PATCH] Added error handling --- integrations/axum/src/extract.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/integrations/axum/src/extract.rs b/integrations/axum/src/extract.rs index 2188b2fd..4d759ff3 100644 --- a/integrations/axum/src/extract.rs +++ b/integrations/axum/src/extract.rs @@ -27,6 +27,7 @@ pub mod rejection { use async_graphql::ParseRequestError; use axum::body::Body; use axum::response::IntoResponse; + use http::StatusCode; /// Rejection used for [`GraphQLRequest`](GraphQLRequest). pub struct GraphQLRejection(pub ParseRequestError); @@ -36,7 +37,16 @@ pub mod rejection { type BodyError = ::Error; fn into_response(self) -> http::Response { - todo!() + match self.0 { + ParseRequestError::PayloadTooLarge => http::Response::builder() + .status(StatusCode::PAYLOAD_TOO_LARGE) + .body(Body::empty()) + .unwrap(), + bad_request => http::Response::builder() + .status(StatusCode::BAD_REQUEST) + .body(Body::from(format!("{:?}", bad_request))) + .unwrap(), + } } }