7 个版本
使用旧的 Rust 2015
0.1.6 | 2023 年 8 月 28 日 |
---|---|
0.1.5 | 2017 年 3 月 16 日 |
0.1.0 | 2016 年 12 月 6 日 |
#4 在 #push
485KB
10K SLoC
http-box
什么是 http-box?
http-box 是一个以推送为导向的 HTTP 1 & 2 解析器,旨在保持快速和简洁。它提供了处理额外的 HTTP 细节(如查询解析、解码十六进制编码的字符串和头部字段解析)的实用程序。
http-box 的目的是解析 HTTP 内容,仅此而已,因此在库中不会找到 Request
或 Response
类型。然而,如果将来提供,它们将由实用程序 crate 提供。
http-box 将愉快地处理任何 &[u8]
数据,并且不依赖于任何套接字或网络依赖项。
功能
- 新功能: HTTP/2 支持
- 推送导向,一次处理一个字节
- 通过回调接收数据,可以在任何点跳出解析器循环
- HTTP/1.x 头部被规范化为小写
- 错误报告错误类型和发生的字节
- 单独解析 HTTP/1.x 阶段
- 头部
- 请求 / 响应
- 头部
- 多部分
- 头部
- 数据
- 分块传输编码
- 分块长度
- 扩展
- 分块数据
- 尾部
- URL 编码
- 参数
- 头部
- 零拷贝哲学
- DoS 防护易于支持
- 快速!
- 与任何网络库一起使用
API 文档
https://docs.rs/http-box/0.1.6/http_box/
HTTP/2.x 示例
HTTP/1.x 示例
HTTP 工具
依赖项
~0.1–1.4MB
~19K SLoC