#http-parser #http #parser

无std httparse

一个小巧、安全、快速、零拷贝的 HTTP/1.x 解析器

40 个版本 (稳定版)

1.9.4 2024年6月17日
1.8.0 2022年8月30日
1.7.1 2022年4月26日
1.6.0 2022年2月8日
0.0.5 2015年3月21日

#8 in 解析器实现

Download history 1326148/week @ 2024-05-04 1417496/week @ 2024-05-11 1391190/week @ 2024-05-18 1372143/week @ 2024-05-25 1542188/week @ 2024-06-01 1622824/week @ 2024-06-08 1656446/week @ 2024-06-15 1684648/week @ 2024-06-22 1542576/week @ 2024-06-29 1663962/week @ 2024-07-06 1654902/week @ 2024-07-13 1738928/week @ 2024-07-20 1735343/week @ 2024-07-27 1707244/week @ 2024-08-03 1782833/week @ 2024-08-10 1468462/week @ 2024-08-17

6,984,903 每月下载量
21,476 个crate(292 个直接使用) 中使用

MIT/Apache

145KB
3K SLoC

httparse

crates.io Released API docs MIT licensed CI Discord chat

HTTP 1.x 协议的推式解析器。避免分配。无拷贝。 快速。

支持 no_std,只需禁用 std Cargo 功能。

变更日志

使用方法

let mut headers = [httparse::EMPTY_HEADER; 64];
let mut req = httparse::Request::new(&mut headers);

let buf = b"GET /index.html HTTP/1.1\r\nHost";
assert!(req.parse(buf)?.is_partial());

// a partial request, so we try again once we have more data

let buf = b"GET /index.html HTTP/1.1\r\nHost: example.domain\r\n\r\n";
assert!(req.parse(buf)?.is_complete());

许可协议

许可协议为以下之一

贡献

除非你明确声明,否则你提交的任何有意包含在作品中的贡献,根据 Apache-2.0 许可协议定义,应双重许可如上所述,没有任何额外的条款或条件。

无运行时依赖