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:password1@api.google.com: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...*