4个版本 (稳定版)
1.2.0 | 2021年1月24日 |
---|---|
1.1.0 | 2021年1月23日 |
1.0.0 | 2021年1月23日 |
0.1.0 | 2021年1月23日 |
#2598 在 解析器实现
54KB
1K SLoC
RFC6570 Level 2 - Rust
概述
一个Rust库,用于验证和将字符串作为RFC6570合规URI(至第2级)进行处理。
版本控制
本项目从v1.0.0
开始遵循语义版本控制原则。
仓库信息
此仓库位于GitLab.com。
使用方法
要使用此库,请使用相关字符串实例化一个UriTemplate
。从这里,如果只需要验证输入字符串,则可以将结果“丢弃”,或者可以使用expressions()
或variables()
检索包含的表达式或变量列表。最后,可以通过调用expand()
并传递变量和值的HashMap<&str, &str>
来扩展URI模板。
use rfc6570_level_2::UriTemplate;
let template = UriTemplate::new("https://example.com/{resource}/{+id}{#field}")?;
// What variables are available?
let variables: Vec<&str> = template.variables().collect();
assert_eq!(variables, vec!["resource", "id", "field"]);
let var_map = [
("resource", "user"),
("id", "5"),
("field", "email"),
].iter().cloned().collect();
// Expand the template
let uri = template.expand(&var_map);
assert_eq!(uri, "https://example.com/user/5#email");
依赖项
~2.5MB
~56K SLoC