pub struct HttpException {
pub status: StatusCode,
pub code: &'static str,
pub message: String,
pub details: Option<Value>,
pub request_id: Option<String>,
}Expand description
HttpException
The framework’s primary error type for HTTP responses. Enables controllers to return proper HTTP error responses without manually constructing response objects.
§Fields
status: The HTTP status codecode: A machine-readable error code for programmatic error handlingmessage: A human-readable error messagedetails: Optional additional error details (often validation errors)request_id: Optional request ID for correlation
Fields§
§status: StatusCode§code: &'static str§message: String§details: Option<Value>§request_id: Option<String>Implementations§
Source§impl HttpException
impl HttpException
Sourcepub fn new(
status: StatusCode,
code: &'static str,
message: impl Into<String>,
) -> Self
pub fn new( status: StatusCode, code: &'static str, message: impl Into<String>, ) -> Self
Generic constructor for creating an HttpException.
§Arguments
status: The HTTP status codecode: A machine-readable error codemessage: A human-readable error message
Sourcepub fn with_details(
status: StatusCode,
code: &'static str,
message: impl Into<String>,
details: Value,
) -> Self
pub fn with_details( status: StatusCode, code: &'static str, message: impl Into<String>, details: Value, ) -> Self
Constructor that includes additional error details.
§Arguments
status: The HTTP status codecode: A machine-readable error codemessage: A human-readable error messagedetails: Additional error details (often used for validation errors)
Sourcepub fn with_request_id(self, request_id: impl Into<String>) -> Self
pub fn with_request_id(self, request_id: impl Into<String>) -> Self
Attaches a request ID to the exception for correlation.
Sourcepub fn with_optional_request_id(self, request_id: Option<String>) -> Self
pub fn with_optional_request_id(self, request_id: Option<String>) -> Self
Attaches an optional request ID to the exception.
Sourcepub fn bad_request(message: impl Into<String>) -> Self
pub fn bad_request(message: impl Into<String>) -> Self
Creates a 400 Bad Request error.
Sourcepub fn bad_request_validation(errors: ValidationErrors) -> Self
pub fn bad_request_validation(errors: ValidationErrors) -> Self
Creates a 400 Bad Request error with validation errors.
Creates a 401 Unauthorized error.
Sourcepub fn internal_server_error(message: impl Into<String>) -> Self
pub fn internal_server_error(message: impl Into<String>) -> Self
Creates a 500 Internal Server Error.
Trait Implementations§
Source§impl Clone for HttpException
impl Clone for HttpException
Source§fn clone(&self) -> HttpException
fn clone(&self) -> HttpException
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HttpException
impl Debug for HttpException
Source§impl IntoResponse for HttpException
IntoResponse Implementation
impl IntoResponse for HttpException
IntoResponse Implementation
Makes HttpException directly returnable from axum handlers.
This enables returning Result<Json<T>, HttpException> from controllers
and having axum automatically convert the error into a proper HTTP response.
Source§fn into_response(self) -> Response
fn into_response(self) -> Response
Auto Trait Implementations§
impl Freeze for HttpException
impl RefUnwindSafe for HttpException
impl Send for HttpException
impl Sync for HttpException
impl Unpin for HttpException
impl UnsafeUnpin for HttpException
impl UnwindSafe for HttpException
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, S> Handler<IntoResponseHandler, S> for T
impl<T, S> Handler<IntoResponseHandler, S> for T
Source§fn call(
self,
_req: Request<Body>,
_state: S,
) -> <T as Handler<IntoResponseHandler, S>>::Future
fn call( self, _req: Request<Body>, _state: S, ) -> <T as Handler<IntoResponseHandler, S>>::Future
Source§fn layer<L>(self, layer: L) -> Layered<L, Self, T, S>where
L: Layer<HandlerService<Self, T, S>> + Clone,
<L as Layer<HandlerService<Self, T, S>>>::Service: Service<Request<Body>>,
fn layer<L>(self, layer: L) -> Layered<L, Self, T, S>where
L: Layer<HandlerService<Self, T, S>> + Clone,
<L as Layer<HandlerService<Self, T, S>>>::Service: Service<Request<Body>>,
tower::Layer to the handler. Read moreSource§fn with_state(self, state: S) -> HandlerService<Self, T, S>
fn with_state(self, state: S) -> HandlerService<Self, T, S>
Service by providing the stateSource§impl<H, T> HandlerWithoutStateExt<T> for H
impl<H, T> HandlerWithoutStateExt<T> for H
Source§fn into_service(self) -> HandlerService<H, T, ()>
fn into_service(self) -> HandlerService<H, T, ()>
Service and no state.Source§fn into_make_service(self) -> IntoMakeService<HandlerService<H, T, ()>>
fn into_make_service(self) -> IntoMakeService<HandlerService<H, T, ()>>
MakeService and no state. Read moreSource§fn into_make_service_with_connect_info<C>(
self,
) -> IntoMakeServiceWithConnectInfo<HandlerService<H, T, ()>, C>
fn into_make_service_with_connect_info<C>( self, ) -> IntoMakeServiceWithConnectInfo<HandlerService<H, T, ()>, C>
MakeService which stores information
about the incoming connection and has no state. Read more