#file-header #header #http-file #http #file #serve #static-file

http-file-headers

一个不依赖于框架的静态文件服务辅助库。它使得编写功能齐全的静态文件服务器变得非常容易(包括条件头、编码、范围请求等)

7个版本

使用旧的Rust 2015

0.1.8 2018年6月27日
0.1.7 2018年6月27日
0.1.6 2017年12月29日
0.1.3 2017年9月6日
0.1.2 2017年8月25日

#1129 in HTTP服务器

每月25次下载
用于 swindon

MIT/Apache

55KB
1.5K SLoC

Http-file-headers Crate

Github | 文档 | 示例 | Crate

一个不依赖于框架的库,它可以解析HTTP请求中的文件相关头部,并帮助服务文件,包括支持

  • ETagIf-None-Match
  • Last-ModifiedIf-Modified-Since
  • Accept-RangesRangeContent-Range
  • Content-Type 使用 mime_guess
  • Accept-Encoding 为服务压缩文件(gzip和brotli)
  • 服务 index.html 或类似的目录索引

该库不依赖于任何框架,HTTP甚至异步库。因此,其用法相当详细(见示例)。尽管如此,它内部处理了大部分复杂工作,并可以轻松适应不同的需求。

以下是一些示例中显示的少数几个方面

  1. Tokio 用于异步操作
  2. Tk-http 提供HTTP服务
  3. Futures-cpupool 将读取操作卸载到单独的线程池
  4. 添加自定义头部和错误页面
  5. 自定义文件服务的路径

许可协议

许可协议如下

贡献

除非您明确声明,否则根据 Apache-2.0 许可协议定义的,您有意提交包含在作品中的任何贡献,将按上述方式双授权,无需附加任何条款或条件。

依赖关系

~1MB
~23K SLoC