Struct hyper::Url [−][src]
The parsed representation of an absolute URL.
Fields
scheme: String
The scheme (a.k.a. protocol) of the URL, in ASCII lower case.
scheme_data: SchemeData
The components of the URL whose representation depends on where the scheme is relative.
query: Option<String>
The query string of the URL.
None
if the ?
delimiter character was not part of the parsed input,
otherwise a possibly empty, percent-encoded string.
Percent encoded strings are within the ASCII range.
See also the query_pairs
, set_query_from_pairs
,
and lossy_percent_decode_query
methods.
fragment: Option<String>
The fragment identifier of the URL.
None
if the #
delimiter character was not part of the parsed input,
otherwise a possibly empty, percent-encoded string.
Percent encoded strings are within the ASCII range.
See also the lossy_percent_decode_fragment
method.
Methods
impl Url
[src]
[−]
impl Url
pub fn parse(input: &str) -> Result<Url, ParseError>
[src]
[−]
pub fn parse(input: &str) -> Result<Url, ParseError>
Parse an URL with the default UrlParser
parameters.
In particular, relative URL references are parse errors since no base URL is provided.
pub fn from_file_path<P>(path: P) -> Result<Url, ()> where
P: AsRef<Path>,
[src]
[−]
pub fn from_file_path<P>(path: P) -> Result<Url, ()> where
P: AsRef<Path>,
Convert a file name as std::path::Path
into an URL in the file
scheme.
This returns Err
if the given path is not absolute
or, with a Windows path, if the prefix is not a disk prefix (e.g. C:
).
pub fn from_directory_path<P>(path: P) -> Result<Url, ()> where
P: AsRef<Path>,
[src]
[−]
pub fn from_directory_path<P>(path: P) -> Result<Url, ()> where
P: AsRef<Path>,
Convert a directory name as std::path::Path
into an URL in the file
scheme.
This returns Err
if the given path is not absolute
or, with a Windows path, if the prefix is not a disk prefix (e.g. C:
).
Compared to from_file_path
, this adds an empty component to the path
(or, in terms of URL syntax, adds a trailing slash)
so that the entire path is considered when using this URL as a base URL.
For example:
"index.html"
parsed withUrl::from_directory_path(Path::new("/var/www"))
as the base URL isfile:///var/www/index.html
"index.html"
parsed withUrl::from_file_path(Path::new("/var/www/"))
as the base URL isfile:///var/index.html
, which might not be what was intended.
(Note that Path::new
removes any trailing slash.)
pub fn to_file_path(&self) -> Result<PathBuf, ()>
[src]
[−]
pub fn to_file_path(&self) -> Result<PathBuf, ()>
Assuming the URL is in the file
scheme or similar,
convert its path to an absolute std::path::Path
.
Note: This does not actually check the URL’s scheme
,
and may give nonsensical results for other schemes.
It is the user’s responsibility to check the URL’s scheme before calling this.
let path = url.to_file_path();
Returns Err
if the host is neither empty nor "localhost"
,
or if Path::new_opt()
returns None
.
(That is, if the percent-decoded path contains a NUL byte or,
for a Windows path, is not UTF-8.)
pub fn serialize(&self) -> String
[src]
[−]
pub fn serialize(&self) -> String
Return the serialization of this URL as a string.
pub fn origin(&self) -> Origin
[src]
[−]
pub fn origin(&self) -> Origin
Return the origin of this URL (https://url.spec.whatwg.org/#origin)
pub fn serialize_no_fragment(&self) -> String
[src]
[−]
pub fn serialize_no_fragment(&self) -> String
Return the serialization of this URL, without the fragment identifier, as a string
pub fn non_relative_scheme_data(&self) -> Option<&str>
[src]
[−]
pub fn non_relative_scheme_data(&self) -> Option<&str>
If the URL is non-relative, return the string scheme data.
pub fn non_relative_scheme_data_mut(&mut self) -> Option<&mut String>
[src]
[−]
pub fn non_relative_scheme_data_mut(&mut self) -> Option<&mut String>
If the URL is non-relative, return a mutable reference to the string scheme data.
pub fn relative_scheme_data(&self) -> Option<&RelativeSchemeData>
[src]
[−]
pub fn relative_scheme_data(&self) -> Option<&RelativeSchemeData>
If the URL is in a relative scheme, return the structured scheme data.
pub fn relative_scheme_data_mut(&mut self) -> Option<&mut RelativeSchemeData>
[src]
[−]
pub fn relative_scheme_data_mut(&mut self) -> Option<&mut RelativeSchemeData>
If the URL is in a relative scheme, return a mutable reference to the structured scheme data.
pub fn username(&self) -> Option<&str>
[src]
[−]
pub fn username(&self) -> Option<&str>
If the URL is in a relative scheme, return its username.
pub fn username_mut(&mut self) -> Option<&mut String>
[src]
[−]
pub fn username_mut(&mut self) -> Option<&mut String>
If the URL is in a relative scheme, return a mutable reference to its username.
pub fn lossy_percent_decode_username(&self) -> Option<String>
[src]
[−]
pub fn lossy_percent_decode_username(&self) -> Option<String>
Percent-decode the URL’s username, if any.
This is “lossy”: invalid UTF-8 percent-encoded byte sequences will be replaced � U+FFFD, the replacement character.
pub fn password(&self) -> Option<&str>
[src]
[−]
pub fn password(&self) -> Option<&str>
If the URL is in a relative scheme, return its password, if any.
pub fn password_mut(&mut self) -> Option<&mut String>
[src]
[−]
pub fn password_mut(&mut self) -> Option<&mut String>
If the URL is in a relative scheme, return a mutable reference to its password, if any.
pub fn lossy_percent_decode_password(&self) -> Option<String>
[src]
[−]
pub fn lossy_percent_decode_password(&self) -> Option<String>
Percent-decode the URL’s password, if any.
This is “lossy”: invalid UTF-8 percent-encoded byte sequences will be replaced � U+FFFD, the replacement character.
pub fn serialize_userinfo(&mut self) -> Option<String>
[src]
[−]
pub fn serialize_userinfo(&mut self) -> Option<String>
Serialize the URL's username and password, if any.
Format: "
pub fn host(&self) -> Option<&Host>
[src]
[−]
pub fn host(&self) -> Option<&Host>
If the URL is in a relative scheme, return its structured host.
pub fn host_mut(&mut self) -> Option<&mut Host>
[src]
[−]
pub fn host_mut(&mut self) -> Option<&mut Host>
If the URL is in a relative scheme, return a mutable reference to its structured host.
pub fn domain(&self) -> Option<&str>
[src]
[−]
pub fn domain(&self) -> Option<&str>
If the URL is in a relative scheme and its host is a domain, return the domain as a string.
pub fn domain_mut(&mut self) -> Option<&mut String>
[src]
[−]
pub fn domain_mut(&mut self) -> Option<&mut String>
If the URL is in a relative scheme and its host is a domain, return a mutable reference to the domain string.
pub fn serialize_host(&self) -> Option<String>
[src]
[−]
pub fn serialize_host(&self) -> Option<String>
If the URL is in a relative scheme, serialize its host as a string.
A domain a returned as-is, an IPv6 address between [] square brackets.
pub fn port(&self) -> Option<u16>
[src]
[−]
pub fn port(&self) -> Option<u16>
If the URL is in a relative scheme and has a port number, return it.
pub fn port_mut(&mut self) -> Option<&mut Option<u16>>
[src]
[−]
pub fn port_mut(&mut self) -> Option<&mut Option<u16>>
If the URL is in a relative scheme, return a mutable reference to its port.
pub fn port_or_default(&self) -> Option<u16>
[src]
[−]
pub fn port_or_default(&self) -> Option<u16>
If the URL is in a relative scheme that is not a file-like, return its port number, even if it is the default.
pub fn path(&self) -> Option<&[String]>
[src]
[−]
pub fn path(&self) -> Option<&[String]>
If the URL is in a relative scheme, return its path components.
pub fn path_mut(&mut self) -> Option<&mut Vec<String>>
[src]
[−]
pub fn path_mut(&mut self) -> Option<&mut Vec<String>>
If the URL is in a relative scheme, return a mutable reference to its path components.
pub fn serialize_path(&self) -> Option<String>
[src]
[−]
pub fn serialize_path(&self) -> Option<String>
If the URL is in a relative scheme, serialize its path as a string.
The returned string starts with a "/" slash, and components are separated by slashes. A trailing slash represents an empty last component.
pub fn query_pairs(&self) -> Option<Vec<(String, String)>>
[src]
[−]
pub fn query_pairs(&self) -> Option<Vec<(String, String)>>
Parse the URL’s query string, if any, as application/x-www-form-urlencoded
and return a vector of (key, value) pairs.
pub fn set_query_from_pairs<I, K, V>(&mut self, pairs: I) where
I: IntoIterator,
K: AsRef<str>,
V: AsRef<str>,
<I as IntoIterator>::Item: Borrow<(K, V)>,
[src]
[−]
pub fn set_query_from_pairs<I, K, V>(&mut self, pairs: I) where
I: IntoIterator,
K: AsRef<str>,
V: AsRef<str>,
<I as IntoIterator>::Item: Borrow<(K, V)>,
Serialize an iterator of (key, value) pairs as application/x-www-form-urlencoded
and set it as the URL’s query string.
pub fn lossy_percent_decode_query(&self) -> Option<String>
[src]
[−]
pub fn lossy_percent_decode_query(&self) -> Option<String>
Percent-decode the URL’s query string, if any.
This is “lossy”: invalid UTF-8 percent-encoded byte sequences will be replaced � U+FFFD, the replacement character.
pub fn lossy_percent_decode_fragment(&self) -> Option<String>
[src]
[−]
pub fn lossy_percent_decode_fragment(&self) -> Option<String>
Percent-decode the URL’s fragment identifier, if any.
This is “lossy”: invalid UTF-8 percent-encoded byte sequences will be replaced � U+FFFD, the replacement character.
pub fn join(&self, input: &str) -> Result<Url, ParseError>
[src]
[−]
pub fn join(&self, input: &str) -> Result<Url, ParseError>
Join a path with a base URL.
Corresponds to the basic URL parser where self
is the given base URL.
Trait Implementations
impl Ord for Url
[src]
[+]
impl Ord for Url
impl PartialOrd<Url> for Url
[src]
[+]
impl PartialOrd<Url> for Url
impl FromStr for Url
[src]
[+]
impl FromStr for Url
impl Display for Url
[src]
[+]
impl Display for Url
impl Decodable for Url
[src]
[+]
impl Decodable for Url
impl Eq for Url
[src]
impl Eq for Url
impl Hash for Url
[src]
[+]
impl Hash for Url
impl Encodable for Url
[src]
[+]
impl Encodable for Url
impl PartialEq<Url> for Url
[src]
[+]
impl PartialEq<Url> for Url
impl Clone for Url
[src]
[+]
impl Clone for Url
impl Debug for Url
[src]
[+]
impl Debug for Url
impl IntoUrl for Url
[src]
[+]
impl IntoUrl for Url