Crate tokio_middleware [−] [src]
A collection of middleware Service middleware.
Middleware can be used to define application-agnostic behavior in a reusable way. A common example of this is implementing timeouts: if a request fails to complete within a certain time, the timeout mechanism fails it with a timeout error.
A middleware component sits in the middle of a service stack. In the case
of an HTTP server, the server implementation takes a Service<Req = HttpRequest, Resp = HttpResponse> and uses this for handling inbound
requests. The application provides an implementation of Service that
satisfies its business requirements, for example, responding with "hello
world". The Timeout middleware is created with the HelloWorld upstream
service and the Timeout middleware itself implements Service. This
enables initializing the HTTP server with Timeout<HelloWorld> such that
the timeout middleware decorates the behavior of the upstream service.
There is a huge range of potential behaviors that can be implemented as middleware. This library contains a collection of useful protocol-agnostic middleware, but middleware that is protocol specific can be found in crates that implement those protocols.
Structs
| Log | |
| Timeout |
Abort requests that are taking too long |