[−][src]Struct actix_web::middleware::ErrorHandlers
Middleware
for allowing custom handlers for responses.
You can use ErrorHandlers::handler()
method to register a custom error
handler for specific status code. You can modify existing response or
create completely new one.
Example
use actix_web::middleware::{ErrorHandlers, Response}; use actix_web::{http, App, HttpRequest, HttpResponse, Result}; fn render_500<S>(_: &HttpRequest<S>, resp: HttpResponse) -> Result<Response> { let mut builder = resp.into_builder(); builder.header(http::header::CONTENT_TYPE, "application/json"); Ok(Response::Done(builder.into())) } fn main() { let app = App::new() .middleware( ErrorHandlers::new() .handler(http::StatusCode::INTERNAL_SERVER_ERROR, render_500), ) .resource("/test", |r| { r.method(http::Method::GET).f(|_| HttpResponse::Ok()); r.method(http::Method::HEAD) .f(|_| HttpResponse::MethodNotAllowed()); }) .finish(); }
Methods
impl<S> ErrorHandlers<S>
[src]
impl<S> ErrorHandlers<S>
pub fn new() -> Self
[src]
pub fn new() -> Self
Construct new ErrorHandlers
instance
pub fn handler<F>(self, status: StatusCode, handler: F) -> Self where
F: Fn(&HttpRequest<S>, HttpResponse) -> Result<Response> + 'static,
[src]
pub fn handler<F>(self, status: StatusCode, handler: F) -> Self where
F: Fn(&HttpRequest<S>, HttpResponse) -> Result<Response> + 'static,
Register error handler for specified status code
Trait Implementations
impl<S: 'static> Middleware<S> for ErrorHandlers<S>
[src]
impl<S: 'static> Middleware<S> for ErrorHandlers<S>
fn response(&self, req: &HttpRequest<S>, resp: HttpResponse) -> Result<Response>
[src]
fn response(&self, req: &HttpRequest<S>, resp: HttpResponse) -> Result<Response>
Method is called when handler returns response, but before sending http message to peer. Read more
fn start(&self, req: &HttpRequest<S>) -> Result<Started>
[src]
fn start(&self, req: &HttpRequest<S>) -> Result<Started>
Method is called when request is ready. It may return future, which should resolve before next middleware get called. Read more
fn finish(&self, req: &HttpRequest<S>, resp: &HttpResponse) -> Finished
[src]
fn finish(&self, req: &HttpRequest<S>, resp: &HttpResponse) -> Finished
Method is called after body stream get sent to peer.
impl<S> Default for ErrorHandlers<S>
[src]
impl<S> Default for ErrorHandlers<S>
Auto Trait Implementations
impl<S> !Send for ErrorHandlers<S>
impl<S> !Send for ErrorHandlers<S>
impl<S> !Sync for ErrorHandlers<S>
impl<S> !Sync for ErrorHandlers<S>
Blanket Implementations
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more
impl<T> Erased for T
impl<T> Erased for T