2个版本
使用旧的Rust 2015
0.0.2 | 2015年8月10日 |
---|---|
0.0.1 | 2015年5月1日 |
#37 in #mut
571 每月下载量
用于 http-pull-parser
85KB
2K SLoC
Rust HTTP解析器
Rust HTTP解析器提供解析HTTP请求和响应的功能。它是从用C语言编写的joyent/http-parser移植过来的。
用法
请参考文档。
状态
解析器和单元测试都已移植。目前,所有测试用例都已通过。除此之外,我没有对其周围进行其他测试,也没有其他项目使用它。因此,它已经准备好进行测试,但距离在生产环境中使用还远。此外,API是不稳定的,可能会更改。
lib.rs
:
Rust HTTP解析器
Rust HTTP解析器提供解析HTTP请求和响应的功能。
它是从用C语言编写的joyent/http-parser移植过来的。
安装
在Cargo.toml
中添加http_parser
[dependencies]
http_parser = "0.0.2"
用法
定义一个回调结构体
struct Callback;
impl HttpParserCallback for Callback {
fn on_message_begin(&mut self, parser: &mut HttpParser) -> CallbackResult {
println!("Message begin");
Ok(ParseAction::None)
}
// Override other functions as you wish
}
为请求创建一个HttpParser
实例
let mut parser = HttpParser::new(HttpParserType::Request);
创建一个Callback
结构体实例
#
#
let mut cb = Callback;
通过提供HTTP请求执行解析器
#
#
let line: &str = "GET / HTTP/1.1\r\n";
parser.execute(&mut cb, line.as_bytes());