surf
The http-cache-surf
crate provides a Middleware
implementation for the surf
HTTP client.
Getting Started
cargo add http-cache-surf
Features
manager-cacache
: (default) Enables theCACacheManager
backend cache manager.manager-moka
: Enables theMokaManager
backend cache manager.
Usage
In the following example we will construct our client with our cache struct from http-cache-surf
. This example will use the default mode, default cacache manager, and default http cache options.
After constructing our client, we will make a request to the MDN Caching Docs which should result in an object stored in cache on disk.
use http_cache_surf::{Cache, CacheMode, CACacheManager, HttpCache, HttpCacheOptions}; #[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::default(), options: HttpCacheOptions::default(), })) .send(req) .await?; Ok(()) }