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

URL scheme specifier

netloc

Network location part

path

Hierarchical path

query

Query component

fragment

Fragment identifier

username

User name

password

Password

hostname

Host name (lower case)

port

Port number as integer

Methods

impl Url

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

Derived Implementations

impl Ord for Url

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

impl PartialOrd for Url

fn partial_cmp(&self, __arg_0: &Url) -> Option<Ordering>

fn lt(&self, __arg_0: &Url) -> bool

fn le(&self, __arg_0: &Url) -> bool

fn gt(&self, __arg_0: &Url) -> bool

fn ge(&self, __arg_0: &Url) -> bool

impl Hash for Url

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

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

impl Debug for Url

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

impl Clone for Url

fn clone(&self) -> Url

fn clone_from(&mut self, source: &Self)

impl Eq for Url

impl PartialEq for Url

fn eq(&self, __arg_0: &Url) -> bool

fn ne(&self, __arg_0: &Url) -> bool