2个版本
使用旧的Rust 2015
0.5.1 | 2017年1月22日 |
---|---|
0.5.0 | 2017年1月22日 |
#5 in #headers
在uhttp_json_api中使用
15KB
223 行代码(不包括注释)
uhttp_request -- HTTP请求起始行和头部字段解析器
此软件包提供了基于切片的裸骨解析器,用于从HTTP请求中提取请求行组件和头部字段。
通常,组件是沿着定义的定界符提取的,但进一步的处理和语法验证留给高层。
示例
use uhttp_request::{RequestLine, Headers};
let req = b"GET /abc?k=v HTTP/1.1\r\nHost: example.com\r\nAccept: text/*\r\n\r\nbody";
let (reqline, rest) = RequestLine::new(req).unwrap();
assert_eq!(reqline.method, "GET");
assert_eq!(reqline.target, "/abc?k=v");
assert_eq!(reqline.version, "HTTP/1.1");
let mut headers = Headers::new(rest);
let h = headers.next().unwrap().unwrap();
assert_eq!(h.name, "Host");
assert_eq!(h.val, b" example.com");
let h = headers.next().unwrap().unwrap();
assert_eq!(h.name, "Accept");
assert_eq!(h.val, b" text/*");
assert!(headers.next().is_none());
let rest = headers.into_inner();
assert_eq!(rest, b"body");
用法
此软件包可以通过将Cargo中的依赖项添加到Cargo.toml
来使用
[dependencies]
uhttp_request = "0.5.1"
并在软件包根目录中导入
extern crate uhttp_request;
依赖项
~620KB