6 个版本
0.1.5 | 2019 年 3 月 12 日 |
---|---|
0.1.4 | 2019 年 2 月 3 日 |
#18 在 #template-string
114 每月下载量
10KB
152 行
Urltemplate
将包含占位符的 URL 模板转换为 URL。每当您需要将 https://example.com/?utm_source={source}&key2={value2}
转换为 URL,如 https://example.com/?utm_source=github&key2=
核心思想是拥有简洁且易于使用的占位符,适用于 http/https URL。舒适意味着易于在任何与网络相关的项目中使用,UTF 安全。
警告:此 crate 是实验性的。它正在积极开发中。
用法
extern crate urltemplate;
use urltemplate::UrlTemplate;
use std::collections::HashMap;
let mut params = HashMap::new();
params.insert("source".to_string(), "url-template-crate-❤".to_string());
let url_with_placeholders = UrlTemplate::from("https://www.mozilla.org/?utm_source={source}");
let url_as_string = url_with_placeholders.substitute_str(¶ms).expect("valid url");
let url_as_url = url_with_placeholders.substitute(¶ms).expect("valid url");
assert_eq!(url_as_string, "https://www.mozilla.org/?utm_source=url-template-crate-❤");
assert_eq!(url_as_url.query(), Some("utm_source=url-template-crate-❤"));
注意
- UTF 安全
- 无外部依赖(仅需要
url
crate) - 紧凑且干净的实现
依赖项
~1.5MB
~49K SLoC