Expand description
§tunnelbana-etags
An ETag adding middleware
for Rust and especially ServeDir.
Part of the tunnelbana project.
§Example
use tower_http::services::ServeDir;
use tower::{ServiceBuilder, ServiceExt};
use http::Response;
use tunnelbana_etags::{ETagLayer, ETagMap};
let path = std::path::PathBuf::from("/var/www/html");
let etags = ETagMap::new(&path).expect("Failed to generate etags");
let etag_mw = ETagLayer::new(etags);
let serve_dir = ServeDir::new(path).append_index_html_on_directories(true);
let service = ServiceBuilder::new()
.layer(etag_mw)
.service(serve_dir);Structs§
- ETag
- An implementation of a tower service which adds etags to a service which it wraps.
- ETag
Layer - A
tower::Layerthat adds an etag to wrapped services. - ETagMap
- A map of String-based static paths to etag sets. This serves as a simple wrapper type, just to prove that the created map is valid.
Enums§
- Response
Future - A future representing possible states of the request.
- TagMap
Build Error - Error returned when
ETagMap::newfails.