Crate http_cache_surf

Source
Expand description

The surf middleware implementation for http-cache.

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(())
}

Structs§

CACacheManagermanager-cacache
Implements CacheManager with cacache as the backend.
Cache
Wrapper for HttpCache
CacheOptions
Configuration options which control behavior of the cache. Use with CachePolicy::new_options().
HttpCache
Caches requests according to http spec.
HttpCacheOptions
Can be used to override the default CacheOptions and cache key. The cache key is a closure that takes http::request::Parts and returns a String.
HttpResponse
A basic generic type that represents an HTTP response
MokaCachemanager-moka
A thread-safe, futures-aware concurrent in-memory cache.
MokaCacheBuildermanager-moka
Builds a Cache with various configuration knobs.
MokaManagermanager-moka
Implements CacheManager with moka as the backend.
Parts
Component parts of an HTTP Request

Enums§

CacheMode
Similar to make-fetch-happen cache options. Passed in when the HttpCache struct is being built.

Traits§

CacheManager
A trait providing methods for storing, reading, and removing cache records.