Struct urlparse::Url
[−]
[src]
pub struct Url { pub scheme: String, pub netloc: String, pub path: String, pub query: Option<String>, pub fragment: Option<String>, pub username: Option<String>, pub password: Option<String>, pub hostname: Option<String>, pub port: Option<u16>, }
Fields
scheme: String
URL scheme specifier
netloc: String
Network location part
path: String
Hierarchical path
query: Option<String>
Query component
fragment: Option<String>
Fragment identifier
username: Option<String>
User name
password: Option<String>
Password
hostname: Option<String>
Host name (lower case)
port: Option<u16>
Port number as integer
Methods
impl Url
[src]
fn new() -> Url
Creates a new Url
initialized with the empty string or None value.
fn parse<S: AsRef<str>>(s: S) -> Url
Parses a URL and returns a Url
object.
Examples
use urlparse::Url; let url = Url::parse("http://Example.com:8080/foo?filter=%28%21%28cn%3Dbar%29%29"); assert_eq!(url.scheme, "http"); assert_eq!(url.netloc, "Example.com:8080"); assert_eq!(url.path, "/foo"); assert_eq!(url.query, Some("filter=%28%21%28cn%3Dbar%29%29".to_string())); assert_eq!(url.fragment, None); assert_eq!(url.username, None); assert_eq!(url.password, None); assert_eq!(url.hostname, Some("example.com".to_string())); assert_eq!(url.port, Some(8080)); let query = match url.get_parsed_query() { Some(q) => q, None => panic!("Failed to parse my query"), }; assert_eq!(query.get(&"filter".to_string()).unwrap().get(0).unwrap(), "(!(cn=bar))");
fn unparse(&self) -> String
Returns a URL string from a Url
object.
Examples
use urlparse::urlparse; let original_str = "http://www.example.com/?a=123&b=A%20B"; let url = urlparse(original_str); assert_eq!(original_str, url.unparse());
fn get_parsed_query(&self) -> Option<Query>
Return a query object by executing parse_qs()
with self.query.
If parsing a query fails, None value will be returned.
Examples
use urlparse::urlparse; let url = urlparse("http://www.example.com/?a=123&b=A%20B"); let query = url.get_parsed_query().unwrap(); assert_eq!(query.get(&"b".to_string()).unwrap().get(0).unwrap(), "A B");
Trait Implementations
impl PartialEq for Url
[src]
fn eq(&self, __arg_0: &Url) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Url) -> bool
This method tests for !=
.
impl Eq for Url
[src]
impl Clone for Url
[src]
fn clone(&self) -> Url
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl Debug for Url
[src]
impl Hash for Url
[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl PartialOrd for Url
[src]
fn partial_cmp(&self, __arg_0: &Url) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, __arg_0: &Url) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, __arg_0: &Url) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, __arg_0: &Url) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, __arg_0: &Url) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more