[−][src]Struct http::uri::PathAndQuery
Represents the path component of a URI
Methods
impl PathAndQuery
[src][−]
pub fn from_shared(src: Bytes) -> Result<Self, InvalidUriBytes>
[src][−]
Attempt to convert a PathAndQuery
from Bytes
.
This function will be replaced by a TryFrom
implementation once the
trait lands in stable.
Examples
extern crate bytes; use bytes::Bytes; let bytes = Bytes::from("/hello?world"); let path_and_query = PathAndQuery::from_shared(bytes).unwrap(); assert_eq!(path_and_query.path(), "/hello"); assert_eq!(path_and_query.query(), Some("world"));
pub fn from_static(src: &'static str) -> Self
[src][−]
Convert a PathAndQuery
from a static string.
This function will not perform any copying, however the string is checked to ensure that it is valid.
Panics
This function panics if the argument is an invalid path and query.
Examples
let v = PathAndQuery::from_static("/hello?world"); assert_eq!(v.path(), "/hello"); assert_eq!(v.query(), Some("world"));
pub fn path(&self) -> &str
[src][−]
Returns the path component
The path component is case sensitive.
abc://username:password@example.com:123/path/data?key=value&key2=value2#fragid1
|--------|
|
path
If the URI is *
then the path component is equal to *
.
Examples
let path_and_query: PathAndQuery = "/hello/world".parse().unwrap(); assert_eq!(path_and_query.path(), "/hello/world");
pub fn query(&self) -> Option<&str>
[src][−]
Returns the query string component
The query component contains non-hierarchical data that, along with data in the path component, serves to identify a resource within the scope of the URI's scheme and naming authority (if any). The query component is indicated by the first question mark ("?") character and terminated by a number sign ("#") character or by the end of the URI.
abc://username:password@example.com:123/path/data?key=value&key2=value2#fragid1
|-------------------|
|
query
Examples
With a query string component
let path_and_query: PathAndQuery = "/hello/world?key=value&foo=bar".parse().unwrap(); assert_eq!(path_and_query.query(), Some("key=value&foo=bar"));
Without a query string component
let path_and_query: PathAndQuery = "/hello/world".parse().unwrap(); assert!(path_and_query.query().is_none());
pub fn as_str(&self) -> &str
[src][−]
Returns the path and query as a string component.
Examples
With a query string component
let path_and_query: PathAndQuery = "/hello/world?key=value&foo=bar".parse().unwrap(); assert_eq!(path_and_query.as_str(), "/hello/world?key=value&foo=bar");
Without a query string component
let path_and_query: PathAndQuery = "/hello/world".parse().unwrap(); assert_eq!(path_and_query.as_str(), "/hello/world");
pub fn into_bytes(self) -> Bytes
[src][−]
Converts this PathAndQuery
back to a sequence of bytes
Trait Implementations
impl HttpTryFrom<Bytes> for PathAndQuery
[src][+]
impl<'a> HttpTryFrom<&'a [u8]> for PathAndQuery
[src][+]
impl<'a> HttpTryFrom<&'a str> for PathAndQuery
[src][+]
impl HttpTryFrom<PathAndQuery> for PathAndQuery
[src][+]
impl PartialEq<PathAndQuery> for PathAndQuery
[src][+]
impl PartialEq<str> for PathAndQuery
[src][+]
impl<'a> PartialEq<PathAndQuery> for &'a str
[src][+]
impl<'a> PartialEq<&'a str> for PathAndQuery
[src][+]
impl PartialEq<PathAndQuery> for str
[src][+]
impl PartialEq<String> for PathAndQuery
[src][+]
impl PartialEq<PathAndQuery> for String
[src][+]
impl Clone for PathAndQuery
[src][+]
impl From<PathAndQuery> for Bytes
[src][+]
impl Eq for PathAndQuery
[src]
impl PartialOrd<PathAndQuery> for PathAndQuery
[src][+]
impl PartialOrd<str> for PathAndQuery
[src][+]
impl PartialOrd<PathAndQuery> for str
[src][+]
impl<'a> PartialOrd<&'a str> for PathAndQuery
[src][+]
impl<'a> PartialOrd<PathAndQuery> for &'a str
[src][+]
impl PartialOrd<String> for PathAndQuery
[src][+]
impl PartialOrd<PathAndQuery> for String
[src][+]
impl Debug for PathAndQuery
[src][+]
impl Display for PathAndQuery
[src][+]
impl FromStr for PathAndQuery
[src][+]
Auto Trait Implementations
impl Send for PathAndQuery
impl Sync for PathAndQuery
Blanket Implementations
impl<T> ToString for T where
T: Display + ?Sized,
[src][−]
T: Display + ?Sized,
impl<T> From for T
[src][−]
impl<T, U> Into for T where
U: From<T>,
[src][−]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src][−]
T: Clone,
impl<T, U> TryFrom for T where
T: From<U>,
[src][−]
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src][−]
impl<T> Borrow for T where
T: ?Sized,
[src][−]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src][−]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src][−]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src][−]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src][−]
impl<T> Any for T where
T: 'static + ?Sized,
[src][−]
T: 'static + ?Sized,