pub enum Node<'a> {
Addr(IpAddr, Option<NodePort<'a>>),
Unknown(Option<NodePort<'a>>),
Obfuscated(&'a [u8], Option<NodePort<'a>>),
}Expand description
A for or by node (RFC 7239 section 6).
§Examples
use parse_net::{forwarded::{self, Node}, Limits};
let lines: [&[u8]; 1] = [b"for=unknown, for=\"[2001:db8::1]\", for=_hidden"];
let nodes: Vec<_> = forwarded::parse(&lines, &Limits::DEFAULT)?.iter().map(|e| e.for_).collect();
assert_eq!(nodes[0], Some(Node::Unknown(None)));
assert_eq!(nodes[1], Some(Node::Addr("2001:db8::1".parse()?, None)));
assert_eq!(nodes[2], Some(Node::Obfuscated(b"_hidden", None)));Variants§
Addr(IpAddr, Option<NodePort<'a>>)
An IP address.
Unknown(Option<NodePort<'a>>)
unknown.
Obfuscated(&'a [u8], Option<NodePort<'a>>)
An obfuscated identifier.
Trait Implementations§
impl<'a> Copy for Node<'a>
impl<'a> Eq for Node<'a>
impl<'a> StructuralPartialEq for Node<'a>
Auto Trait Implementations§
impl<'a> Forget for Node<'a>
impl<'a> Freeze for Node<'a>
impl<'a> RefUnwindSafe for Node<'a>
impl<'a> Send for Node<'a>
impl<'a> Sync for Node<'a>
impl<'a> Unpin for Node<'a>
impl<'a> UnsafeUnpin for Node<'a>
impl<'a> UnwindSafe for Node<'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