[−][src]Struct actix_web::middleware::errhandlers::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::errhandlers::{ErrorHandlers, ErrorHandlerResponse}; use actix_web::{web, http, dev, App, HttpRequest, HttpResponse, Result}; fn render_500<B>(mut res: dev::ServiceResponse<B>) -> Result<ErrorHandlerResponse<B>> { res.response_mut() .headers_mut() .insert(http::header::CONTENT_TYPE, http::HeaderValue::from_static("Error")); Ok(ErrorHandlerResponse::Response(res)) } fn main() { let app = App::new() .wrap( ErrorHandlers::new() .handler(http::StatusCode::INTERNAL_SERVER_ERROR, render_500), ) .service(web::resource("/test") .route(web::get().to(|| HttpResponse::Ok())) .route(web::head().to(|| HttpResponse::MethodNotAllowed()) )); }
Methods
impl<B> ErrorHandlers<B>
[src]
pub fn new() -> Self
[src]
Construct new ErrorHandlers
instance
pub fn handler<F>(self, status: StatusCode, handler: F) -> Self where
F: Fn(ServiceResponse<B>) -> Result<ErrorHandlerResponse<B>> + 'static,
[src]
F: Fn(ServiceResponse<B>) -> Result<ErrorHandlerResponse<B>> + 'static,
Register error handler for specified status code
Trait Implementations
impl<B> Default for ErrorHandlers<B>
[src]
impl<S, B> Transform<S> for ErrorHandlers<B> where
S: Service<Request = ServiceRequest, Response = ServiceResponse<B>, Error = Error>,
S::Future: 'static,
S::Error: 'static,
B: 'static,
[src]
S: Service<Request = ServiceRequest, Response = ServiceResponse<B>, Error = Error>,
S::Future: 'static,
S::Error: 'static,
B: 'static,
type Request = ServiceRequest
Requests handled by the service.
type Response = ServiceResponse<B>
Responses given by the service.
type Error = Error
Errors produced by the service.
type InitError = ()
Errors produced while building a service.
type Transform = ErrorHandlersMiddleware<S, B>
The TransformService
value created by this factory
type Future = FutureResult<Self::Transform, Self::InitError>
The future response value.
fn new_transform(&self, service: S) -> Self::Future
[src]
default fn map_init_err<F, E>(self, f: F) -> TransformMapInitErr<Self, S, F, E> where
F: Fn(Self::InitError) -> E,
[src]
F: Fn(Self::InitError) -> E,
Map this service's factory error to a different error, returning a new transform service factory. Read more
default fn from_err<E>(self) -> TransformFromErr<Self, S, E> where
E: From<Self::InitError>,
[src]
E: From<Self::InitError>,
Map this service's init error to any error implementing From
for this services
Error`. Read more
Auto Trait Implementations
impl<B> !Send for ErrorHandlers<B>
impl<B> !Sync for ErrorHandlers<B>
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T, S> IntoTransform for T where
T: Transform<S>,
[src]
T: Transform<S>,