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: &str) -> 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 Ord for Url
[src]

fn cmp(&self, __arg_0: &Url) -> Ordering

This method returns an Ordering between self and other. 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

impl Hash for Url
[src]

fn hash<__H: Hasher>(&self, __arg_0: &mut __H)

Feeds this value into the state given, updating the hasher as necessary.

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0

Feeds a slice of this type into the state provided.

impl Debug for Url
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

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 Eq for Url
[src]

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 !=.