pub struct Scheme(/* private fields */);Expand description
URL scheme, e.g. https.
Comparison and hashing are ASCII case-insensitive. Schemes of a parsed
Url are always lowercase.
Implementations§
Source§impl Scheme
impl Scheme
Sourcepub fn new(src: &str) -> Result<&Scheme, InvalidUrl>
pub fn new(src: &str) -> Result<&Scheme, InvalidUrl>
Validates a scheme: ALPHA *( ALPHA / DIGIT / "+" / "-" / "." ).
use urly::{ErrorKind, Scheme};
assert_eq!(Scheme::new("HTTPS").unwrap(), Scheme::HTTPS);
assert_eq!(Scheme::new("1http").unwrap_err().kind(), ErrorKind::InvalidScheme);Sourcepub fn default_port(&self) -> Option<u16>
pub fn default_port(&self) -> Option<u16>
Returns the default port of well-known schemes.
use urly::Scheme;
assert_eq!(Scheme::HTTPS.default_port(), Some(443));
assert_eq!(Scheme::MQTTS.default_port(), Some(8883));
assert_eq!(Scheme::new("foo").unwrap().default_port(), None);