Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
56
Task/URL-parser/Rust/url-parser.rust
Normal file
56
Task/URL-parser/Rust/url-parser.rust
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
use url::Url;
|
||||
|
||||
fn print_fields(url: Url) -> () {
|
||||
println!("scheme: {}", url.scheme());
|
||||
println!("username: {}", url.username());
|
||||
|
||||
if let Some(password) = url.password() {
|
||||
println!("password: {}", password);
|
||||
}
|
||||
|
||||
if let Some(domain) = url.domain() {
|
||||
println!("domain: {}", domain);
|
||||
}
|
||||
|
||||
if let Some(port) = url.port() {
|
||||
println!("port: {}", port);
|
||||
}
|
||||
println!("path: {}", url.path());
|
||||
|
||||
if let Some(query) = url.query() {
|
||||
println!("query: {}", query);
|
||||
}
|
||||
|
||||
if let Some(fragment) = url.fragment() {
|
||||
println!("fragment: {}", fragment);
|
||||
}
|
||||
}
|
||||
fn main() {
|
||||
let urls = vec![
|
||||
"foo://example.com:8042/over/there?name=ferret#nose",
|
||||
"urn:example:animal:ferret:nose",
|
||||
"jdbc:mysql://test_user:ouupppssss@localhost:3306/sakila?profileSQL=true",
|
||||
"ftp://ftp.is.co.za/rfc/rfc1808.txt",
|
||||
"http://www.ietf.org/rfc/rfc2396.txt#header1",
|
||||
"ldap://[2001:db8::7]/c=GB?objectClass=one&objectClass=two",
|
||||
"mailto:John.Doe@example.com",
|
||||
"news:comp.infosystems.www.servers.unix",
|
||||
"tel:+1-816-555-1212",
|
||||
"telnet://192.0.2.16:80/",
|
||||
"urn:oasis:names:specification:docbook:dtd:xml:4.1.2",
|
||||
"ssh://alice@example.com",
|
||||
"https://bob:pass@example.com/place",
|
||||
"http://example.com/?a=1&b=2+2&c=3&c=4&d=%65%6e%63%6F%64%65%64",
|
||||
];
|
||||
|
||||
for url in urls {
|
||||
println!("Parsing {}", url);
|
||||
match Url::parse(url) {
|
||||
Ok(valid_url) => {
|
||||
print_fields(valid_url);
|
||||
println!();
|
||||
}
|
||||
Err(e) => println!("Error Parsing url - {:?}", e),
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue