34 releases
| new 1.0.0-alpha.4 | Jan 29, 2026 |
|---|---|
| 1.0.0-alpha.2 | Aug 25, 2025 |
| 1.0.0-alpha.1 | Jul 28, 2025 |
| 0.15.0 | Jun 26, 2025 |
| 0.4.1 | Mar 29, 2022 |
#238 in Caching
6,560 downloads per month
Used in 3 crates
(2 directly)
290KB
5.5K
SLoC
http-cache-surf
A caching middleware that follows HTTP caching rules, thanks to http-cache-semantics. By default, it uses cacache as the backend cache manager. Should likely be registered after any middleware modifying the request.
Minimum Supported Rust Version (MSRV)
1.88.0
Install
With cargo add installed :
cargo add http-cache-surf
Example
use http_cache_surf::{Cache, CacheMode, CACacheManager, HttpCache, HttpCacheOptions};
use std::path::PathBuf;
#[async_std::main]
async fn main() -> surf::Result<()> {
let req = surf::get("https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching");
surf::client()
.with(Cache(HttpCache {
mode: CacheMode::Default,
manager: CACacheManager::new(PathBuf::from("./cache"), false),
options: HttpCacheOptions::default(),
}))
.send(req)
.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.manager-foyer(disabled): enable foyer, a hybrid in-memory + disk 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.
Dependencies
~10–47MB
~671K SLoC