http-cache
http-cache-reqwest
A caching middleware that follows HTTP caching rules, thanks to http-cache-semantics. By default, it uses cacache as the backend cache manager. Uses reqwest-middleware for middleware support.
Minimum Supported Rust Version (MSRV)
1.67.1
Install
With cargo add installed :
cargo add http-cache-reqwest
Example
use reqwest::Client; use reqwest_middleware::{ClientBuilder, Result}; use http_cache_reqwest::{Cache, CacheMode, CACacheManager, HttpCache, HttpCacheOptions}; #[tokio::main] async fn main() -> Result<()> { let client = ClientBuilder::new(Client::new()) .with(Cache(HttpCache { mode: CacheMode::Default, manager: CACacheManager::default(), options: HttpCacheOptions::default(), })) .build(); client .get("https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching") .send() .await?; Ok(()) }
Features
The following features are available. By default manager-cacache
is enabled.
manager-cacache
(default): enable cacache, a high-performance disk cache, backend manager.manager-moka
(disabled): enable moka, a high-performance in-memory cache, backend manager.
Documentation
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.