4 个版本
0.1.3 | 2020 年 5 月 3 日 |
---|---|
0.1.2 | 2020 年 4 月 26 日 |
0.1.1 | 2020 年 4 月 14 日 |
0.1.0 | 2020 年 4 月 11 日 |
在 #incomplete 中排名 22
16KB
313 代码行,不包括注释
Auris, Rust 的 URI 解析库
- 仅使用 Rust 中的安全功能
- 努力实现
rfc2396
&rfc3986
兼容性
解析结构
foo://example.com:8042/over/there?name=ferret#nose
\_/ \______________/\_________/ \_________/ \__/
| | | | |
scheme authority path query fragment
使用方法
use auris::URI;
"postgres://user:password@host".parse::<URI<String>>();
"https://crates.io/crates/auris".parse::<URI<String>>();
查询字符串
我们还将查询字符串解析为 HashMap
"postgres://user:[email protected]/db?replication=true".parse::<URI<String>>();
如果存在重复的查询字符串标签,则最后一个标签生效
"scheme://host/path?a=1&a=2".parse::<URI<String>>();
文档
待办事项
- 端口
- 拆分为多个文件
- 包含点的域名
- 使用 fmt::Display 渲染 URI 和 Authority
- Net loc 兼容性
- 解析 IPv4、IPv6
- 解析片段
- 百分编码和解码
- QuickCheck?
依赖关系
~1MB
~18K SLoC