9 个版本
| 0.1.9 | 2023 年 9 月 1 日 |
|---|---|
| 0.1.8 | 2023 年 1 月 20 日 |
#955 在 文件系统
每月 39 次下载
105KB
2.5K SLoC
http_dir
类似于 tower_http::service::ServeDir,但允许用户提供自己的 Filesystem 实现
这个 crate 是从 tower_http::service::ServeDir 分支出来的,感谢 tower_http crate
注意
此 crate 需要 nightly 特性
type_alias_impl_trait
许可证
本项目采用 MIT 许可证。
lib.rs:
HTTP 文件服务器,用于访问 Filesystem 上的文件。用户可以实现自己的 Filesystem,也可以直接使用 DiskFilesystem 或 IncludeDirFilesystem
注意
此 crate 需要 TAIT 功能,它很快将变为稳定功能,但现在它是 nightly 功能
示例
use http_dir::ServeDir;
use http_dir::fs::disk::DiskFilesystem;
// This will serve files in the "assets" directory and
// its subdirectories
let service = ServeDir::new(DiskFilesystem::from("assets"));
// Run our service using `hyper`
let addr = std::net::SocketAddr::from(([127, 0, 0, 1], 3000));
hyper::Server::bind(&addr)
.serve(tower::make::Shared::new(service))
.await
.expect("server error");
依赖
~4.5–6.5MB
~114K SLoC