1 个不稳定版本
使用旧的Rust 2015
0.5.0 | 2017年1月29日 |
---|
#20 在 #media-type
在 uhttp_json_api 中使用
22KB
179 行
uhttp_media_type -- HTTP MIME/media类型解析器
该crate提供了一种零分配、基于切片的解析器,用于解析HTTP媒体类型,如它们出现在 Content-Type
和 Accept
头中。
示例
use uhttp_media_type::{MediaType, MediaParams, ParamValue};
let mt = MediaType::new("application/json; charset=utf-8; param=\"a value\"").unwrap();
assert_eq!(mt.mimetype, "application/json");
assert_eq!(mt.parts().unwrap(), ("application", "json"));
assert_eq!(mt.params, " charset=utf-8; param=\"a value\"");
let mut params = MediaParams::new(mt.params);
let (key, val) = params.next().unwrap().unwrap();
assert_eq!(key, "charset");
assert_eq!(val, ParamValue::Unquoted("utf-8"));
assert_eq!(val.inner(), "utf-8");
let (key, val) = params.next().unwrap().unwrap();
assert_eq!(key, "param");
assert_eq!(val, ParamValue::Quoted("a value"));
assert_eq!(val.inner(), "a value");
assert!(params.next().is_none());
使用方法
可以通过在 Cargo.toml
中添加依赖项来使用此 crate,并在crate根目录中导入它
[dependencies]
uhttp_media_type = "0.5.0"
extern crate uhttp_media_type;
依赖
~620KB