Struct rocket_http::uri::Absolute [−][src]
pub struct Absolute<'a> { /* fields omitted */ }Expand description
A URI with a scheme, authority, path, and query:
http://user:pass@domain.com:4444/path?query.
Structure
The following diagram illustrates the syntactic structure of an absolute URI with all optional parts:
http://user:pass@domain.com:4444/path?query
|--| |-----------------------||---------|
scheme authority originThe scheme part of the absolute URI and at least one of authority or origin are required.
Implementations
Parses the string string into an Absolute. Parsing will never
allocate. Returns an Error if string is not a valid absolute URI.
Example
use rocket::http::uri::Absolute;
// Parse a valid authority URI.
let uri = Absolute::parse("http://google.com").expect("valid URI");
assert_eq!(uri.scheme(), "http");
assert_eq!(uri.authority().unwrap().host(), "google.com");
assert_eq!(uri.origin(), None);Returns the scheme part of the absolute URI.
Example
use rocket::http::uri::Absolute;
let uri = Absolute::parse("ftp://127.0.0.1").expect("valid URI");
assert_eq!(uri.scheme(), "ftp");Returns the authority part of the absolute URI, if there is one.
Example
use rocket::http::uri::Absolute;
let uri = Absolute::parse("https://rocket.rs:80").expect("valid URI");
assert_eq!(uri.scheme(), "https");
let authority = uri.authority().unwrap();
assert_eq!(authority.host(), "rocket.rs");
assert_eq!(authority.port(), Some(80));
let uri = Absolute::parse("file:/web/home").expect("valid URI");
assert_eq!(uri.authority(), None);Returns the origin part of the absolute URI, if there is one.
Example
use rocket::http::uri::Absolute;
let uri = Absolute::parse("file:/web/home.html?new").expect("valid URI");
assert_eq!(uri.scheme(), "file");
let origin = uri.origin().unwrap();
assert_eq!(origin.path(), "/web/home.html");
assert_eq!(origin.query(), Some("new"));
let uri = Absolute::parse("https://rocket.rs").expect("valid URI");
assert_eq!(uri.origin(), None);Trait Implementations
Converts self into an owned version of itself.
Auto Trait Implementations
impl<'a> !RefUnwindSafe for Absolute<'a>
impl<'a> UnwindSafe for Absolute<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more