David Pedersen 77760198f1
docs: add "Building a middleware from scratch" guide (#590)
This adds a guide that explains how to implement a middleware from scratch without taking any shortcuts. It walks through implementing `Timeout` as it exists in Tower today.

The hope is that once users have read [the previous guide](https://tokio.rs/blog/2021-05-14-inventing-the-service-trait) followed by this one they should be fully equipped to implement their own middleware.
2021-06-07 11:06:30 +02:00
..

Tower Guides

These guides are meant to be an introduction to Tower. At least basic Rust experience is assumed. Some experience with asynchronous Rust is also recommended. If you're brand new to async Rust, we recommend the Asynchronous Programming in Rust book or the Tokio tutorial.

Additionally, some of these guides explain Tower from the perspective of HTTP servers and clients. However, Tower is useful for any network protocol that follows an async request/response pattern. HTTP is used here because it is a widely known protocol, and one of Tower's more common use-cases.

Guides