9 releases
0.3.3 | Aug 13, 2024 |
---|---|
0.3.2 | Jun 17, 2022 |
0.3.1 | Jan 23, 2021 |
0.3.0 | Nov 29, 2019 |
0.0.0 | Feb 19, 2018 |
#359 in Network programming
7,112,658 downloads per month
Used in 21,059 crates
(324 directly)
19KB
Tower Service
The foundational Service
trait that Tower is based on.
Overview
The Service
trait provides the foundation upon which Tower is built. It is a
simple, but powerful trait. At its heart, Service
is just an asynchronous
function of request to response.
async fn(Request) -> Result<Response, Error>
Implementations of Service
take a request, the type of which varies per
protocol, and returns a future representing the eventual completion or failure
of the response.
Services are used to represent both clients and servers. An instance of
Service
is used through a client; a server implements Service
.
By using standardizing the interface, middleware can be created. Middleware
implement Service
by passing the request to another Service
. The
middleware may take actions such as modify the request.
License
This project is licensed under the MIT license.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Tower by you, shall be licensed as MIT, without any additional terms or conditions.