Crates.io | tower-async-http |
lib.rs | tower-async-http |
version | 0.2.0 |
source | src |
created_at | 2023-07-17 22:00:27.8348 |
updated_at | 2023-11-20 23:21:54.016772 |
description | Tower Async middleware and utilities for HTTP clients and servers. An "Async Trait" fork from the original Tower Library. |
homepage | https://github.com/plabayo/tower-async |
repository | https://github.com/plabayo/tower-async |
max_upload_size | |
id | 918879 |
size | 641,136 |
Tower Async middleware and utilities for HTTP clients and servers.
It is a fork of https://github.com/tower-rs/tower-http
and makes use of async traits
to simplify things and make it more easier
to integrate async functions into middleware.
More information about this crate can be found in the crate documentation.
Tower Async HTTP contains lots of middleware that are generally useful when building HTTP servers and clients. Some of the highlights are:
Compression
and Decompression
to compress/decompress response bodies.FollowRedirect
to automatically follow redirection responses.See the docs for the complete list of middleware.
Middleware uses the http crate as the HTTP interface so they're compatible with any library or framework that also uses http. For example hyper.
Tower Async requires nightly Rust for the time being and has no backwards compatibility promises for the time being.
Once async traits
are stabilized we'll start supporting stable rust once again,
and we can start working towards backwards compatibility.
Read https://blog.rust-lang.org/inside-rust/2023/05/03/stabilizing-async-fn-in-trait.html for more information on this roadmap by the Rust Language Core Team.
If you're brand new to Tower and want to start with the basics we recommend you check out some of the original Tower guides.
We work exactly the same as Tower, expect in an async manner and slightly easier to use as such. But the core ideas are obviously the same, so it should never the less help you to get started.
Read the full tower-async
FAQ at https://github.com/plabayo/tower-async#faq.
This project is licensed under the MIT license.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Tower HTTP by you, shall be licensed as MIT, without any additional terms or conditions.