Struct actix_web::middleware::ErrorHandlers[][src]

pub struct ErrorHandlers<S> { /* fields omitted */ }

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]

Construct new ErrorHandlers instance

Register error handler for specified status code

Trait Implementations

impl<S> Default for ErrorHandlers<S>
[src]

Returns the "default value" for a type. Read more

impl<S: 'static> Middleware<S> for ErrorHandlers<S>
[src]

Method is called when handler returns response, but before sending http message to peer. Read more

Method is called when request is ready. It may return future, which should resolve before next middleware get called. Read more

Method is called after body stream get sent to peer.

Auto Trait Implementations

impl<S> !Send for ErrorHandlers<S>

impl<S> !Sync for ErrorHandlers<S>