Crates.io | uri-parsing-rs |
lib.rs | uri-parsing-rs |
version | 0.0.1 |
source | src |
created_at | 2021-08-31 14:56:10.337093 |
updated_at | 2021-08-31 14:56:10.337093 |
description | A Rust crate for URI |
homepage | |
repository | https://github.com/j5ik2o/uri-rs |
max_upload_size | |
id | 445136 |
size | 107,635 |
A Rust crate for URI.
Add this to your Cargo.toml
:
[dependencies]
uri-rs = "<<version>>"
use uri_rs::Uri;
let s = "http://user1:pass1@localhost:8080/example?key1=value1&key2=value2&key1=value2#f1";
let uri = Uri::parse(s).unwrap();
println!("{:?}", uri);
// Uri {
// schema: Scheme("http"),
// authority: Some(
// Authority {
// host_name: HostName("localhost"),
// port: Some(8080),
// user_info: Some(
// UserInfo {
// user_name: "user1",
// password: Some("pass1")
// }
// )
// }
// ),
// path: AbemptyPath {
// type_name: "abempty_path",
// parts: ["example"]
// },
// query: Some(
// Query {
// params: [
// ("key1", Some("value1")),
// ("key2", Some("value2")),
// ("key1", Some("value2"))
// ]
// }
// ),
// fragment: Some("f1")
// }
println!("{}", uri.to_string());
// http://user1:pass1@localhost:8080/example?key1=value1&key2=value2&key1=value2#f1
TODO
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.