pub struct HostPort<'a> {
pub host: Host<'a>,
pub port: Option<u16>,
pub empty_port: bool,
}Expand description
A host and an optional port.
§Examples
use parse_net::{parse_host_port, Host};
let hp = parse_host_port(b"example.com:")?;
assert_eq!((hp.host, hp.port, hp.empty_port), (Host::Name(b"example.com"), None, true));
assert_eq!(parse_host_port(b"example.com:8080")?.port, Some(8080));Fields§
§host: Host<'a>The host.
port: Option<u16>The port, when digits followed the :.
empty_port: boolWhether a : with no digits followed the host (example.com:),
which RFC 3986 allows (port = *DIGIT).
Implementations§
Source§impl HostPort<'_>
impl HostPort<'_>
Sourcepub fn write_to(&self, out: &mut impl Sink) -> Result<(), WriteError>
pub fn write_to(&self, out: &mut impl Sink) -> Result<(), WriteError>
Writes the host, then :port when there is a port.
§Errors
WriteError::Full; nothing is written when the sink reports its
room.
§Examples
use parse_net::{parse_host_port, SliceSink};
let mut buf = [0u8; 64];
let mut out = SliceSink::new(&mut buf);
parse_host_port(b"[::1]:8080")?.write_to(&mut out).expect("room");
assert_eq!(out.written(), b"[::1]:8080");Source§impl HostPort<'_>
impl HostPort<'_>
Sourcepub fn to_owned(&self) -> OwnedHostPort
Available on crate feature alloc only.
pub fn to_owned(&self) -> OwnedHostPort
alloc only.Copies the value into an OwnedHostPort (one allocation for a name,
none for an address).
§Examples
use parse_net::{parse_host_port, Host};
use std::net::Ipv4Addr;
let owned = parse_host_port(b"192.0.2.1:443")?.to_owned();
assert_eq!(owned.as_view().port, Some(443));
assert_eq!(owned.as_view().host, Host::V4(Ipv4Addr::new(192, 0, 2, 1)));Trait Implementations§
impl<'a> Copy for HostPort<'a>
impl<'a> Eq for HostPort<'a>
impl<'a> StructuralPartialEq for HostPort<'a>
Auto Trait Implementations§
impl<'a> Forget for HostPort<'a>
impl<'a> Freeze for HostPort<'a>
impl<'a> RefUnwindSafe for HostPort<'a>
impl<'a> Send for HostPort<'a>
impl<'a> Sync for HostPort<'a>
impl<'a> Unpin for HostPort<'a>
impl<'a> UnsafeUnpin for HostPort<'a>
impl<'a> UnwindSafe for HostPort<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more