Skip to content

A caching middleware that follows HTTP caching rules

License

Notifications You must be signed in to change notification settings

spiraldb/http-cache

 
 

Repository files navigation

http-cache

CI Crates.io Docs.rs Codecov Crates.io

the http-cache logo

A caching middleware that follows HTTP caching rules, thanks to http-cache-semantics. By default, it uses cacache as the backend cache manager.

How do I use this?

Likely you won't! At least not directly. Unless you are looking to implement a custom backend cache manager or client middleware you'll probably want to pull in one of the existing client implementations instead. See the Provided Client Implementations section below.

Minimum Supported Rust Version (MSRV)

1.67.1

Install

With cargo add installed :

cargo add http-cache

Features

The following features are available. By default manager-cacache and cacache-async-std are enabled.

  • manager-cacache (default): enable cacache, a high-performance disk cache, backend manager.
  • cacache-async-std (default): enable async-std runtime support for cacache.
  • cacache-tokio (disabled): enable tokio runtime support for cacache.
  • manager-moka (disabled): enable moka, a high-performance in-memory cache, backend manager.
  • with-http-types (disabled): enable http-types type conversion support

Documentation

Provided Client Implementations

  • Surf: See README for more details
  • Reqwest: See README for more details

Additional Manager Implementations

  • quick-cache: See README for more details

License

Licensed under either of

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.

About

A caching middleware that follows HTTP caching rules

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.8%
  • CSS 0.2%