2 个版本
0.1.0-beta.1 | 2022年9月7日 |
---|---|
0.1.0-alpha.1 | 2022年7月2日 |
在 网页编程 中排名 #1611
17KB
189 行
Rocket 缓存控制 FileServer
一个自定义的 Rocket FileServer 实现,支持缓存控制头。CCFileServer 可以作为 Rocket 的 FileServer 的直接替换。
设置自己的缓存规则,同时保留 Rocket 的 FileServer 选项
使用起来非常简单
#[launch]
fn rocket() -> Rocket<Build> {
let options = CCOptions::builder()
.max_age(Some(300))
.no_cache(Some(()));
rocket::build()
.mount("/assets", CCFileServer::from("www/public/assets"))
.mount("/js", CCFileServer::new("www/public/js", options))
}
用法
以与挂载正常 Rocket FileServer 相同的方式挂载 CCFileServer。
此外,您需要提供一个 CCOptions 结构来配置 CCFileServer 的头。所有具有 Some 值的字段都将设置为头。
待办事项
目前它只是一个原型。还有一些事情要做
- 移植 Rocket Options
- 实现所有缓存选项
- max-age 头
- public/private,no_cache 和 no_store
- 提供可选函数来计算过期日期
- 实现 E-tags
- 更干净的 API
依赖关系
~15–50MB
~799K SLoC