Trait tower_web::error::Catch[][src]

pub trait Catch: Clone {
    type Body: BufStream;
    type Future: Future<Item = Response<Self::Body>, Error = Error>;
    fn catch(&mut self, request: &Request<()>, error: Error) -> Self::Future;
}

Handles an error generated by a resource method.

In the event that an error occurs while processing an HTTP request, implementations of Catch have the opportunity of gracefully handling the error. This usually means responding with a friendly error response.

For example, if the error is generated due to no routes matching the HTTP request, then a 404 response should be returned. If a route was matched, but the arguments were not satisfied, then a 400 response should be returned.

Associated Types

The HTTP response body type

Future yielding the HTTP response.

Required Methods

Handles an error.

Implementations of Catch generate a friendly HTTP error response based on the provideed request and error.

See module level documentation for more details.

Implementors