1 个不稳定版本
0.1.0 | 2023 年 5 月 16 日 |
---|
#4 在 #user-info
12KB
309 行
概述
一个具有更多自定义性的简单 URL 构建器。
如果你使用这个库,请注意它不执行任何错误处理或输入清理。在使用构建器之前(以及尝试输出)请验证输入。
快速入门
在 Cargo.toml
[dependencies]
url-constructor = "0.1.0"
创建 URL
use url_constructor::UrlConstructor;
let url = UrlConstructor::new()
.scheme("http")
.userinfo("alex:password1")
.subdomain("api")
.host("google.com")
.port(8080)
.subdir("v2")
.subdir("users")
.param("salary", ">10000")
.param("lastName", "Wallace")
.fragment("id")
.build()
assert_eq!(
url,
"http://alex:[email protected]:8080/v2/users?lastName=Wallace&salary=>10000#id"
)
规格
以下是构建器的当前“怪癖”
- 默认方案是
https
,其他组件没有默认值 - 如果方案设置为空字符串,则 URL 的
://
部分不会被返回 - 子域名按调用顺序从左到右返回(见上面的示例)
- 控制字符,如
&
、?
、/
、#
和@
将自动添加到各自的 URL 组件中(注意:没有检查以防止重复) - 使用
subdomain
方法定义主机部分的每个部分应产生与直接使用host
相同的结果 - 每个组件的重复性
- 方案: 0...1
- 用户信息: 0...1
- 子域名: 0...*
- 主机: 0...1
- 端口: 0...1
- 子目录: 0...*
- 参数: 0...*
- 片段: 0...*