pub enum ParseError {
Show 16 variants
InvalidPrefix,
Partial,
MissingPrefix,
MissingNewLine,
MissingProtocol,
MissingSourceAddress,
MissingDestinationAddress,
MissingSourcePort,
MissingDestinationPort,
HeaderTooLong,
InvalidProtocol,
InvalidSuffix,
InvalidSourceAddress(AddrParseError),
InvalidDestinationAddress(AddrParseError),
InvalidSourcePort(Option<ParseIntError>),
InvalidDestinationPort(Option<ParseIntError>),
}Expand description
An error in parsing a text PROXY protocol header.
Variants§
InvalidPrefix
Header must start with ‘PROXY’.
Partial
Header is only partially present.
MissingPrefix
Header is empty.
MissingNewLine
Header does not end with the string ‘\r\n’.
MissingProtocol
Header missing protocol.
MissingSourceAddress
Header missing source address.
MissingDestinationAddress
Header missing destination address.
MissingSourcePort
Header missing source port.
MissingDestinationPort
Header missing destination port.
HeaderTooLong
Header does not fit within the expected buffer size of 107 bytes (plus 1 byte for null-terminated strings).
InvalidProtocol
Header has an invalid protocol.
InvalidSuffix
Header must end in ‘\r\n’.
InvalidSourceAddress(AddrParseError)
Header contains invalid IP address for the source.
InvalidDestinationAddress(AddrParseError)
Header contains invalid IP address for the destination.
InvalidSourcePort(Option<ParseIntError>)
Header contains invalid TCP port for the source.
InvalidDestinationPort(Option<ParseIntError>)
Header contains invalid TCP port for the destination.]
Trait Implementations§
Source§impl Clone for ParseError
impl Clone for ParseError
Source§fn clone(&self) -> ParseError
fn clone(&self) -> ParseError
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ParseError
impl Debug for ParseError
Source§impl Display for ParseError
impl Display for ParseError
impl Eq for ParseError
Source§impl Error for ParseError
impl Error for ParseError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<ParseError> for BinaryParseError
impl From<ParseError> for BinaryParseError
Source§fn from(error: ParseError) -> Self
fn from(error: ParseError) -> Self
Converts to this type from the input type.
Source§impl PartialEq for ParseError
impl PartialEq for ParseError
Source§fn eq(&self, other: &ParseError) -> bool
fn eq(&self, other: &ParseError) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl PartialResult for ParseError
impl PartialResult for ParseError
Source§fn is_incomplete(&self) -> bool
fn is_incomplete(&self) -> bool
Tests whether this
Result is incomplete.
An action that leads to an incomplete result may have a different result with more bytes.
Retrying with the same input will not change the result.Source§fn is_complete(&self) -> bool
fn is_complete(&self) -> bool
Tests whether this
Result is successful or whether the error is terminal.
A terminal error will not result in a success even with more bytes.
Retrying with the same – or more – input will not change the result.impl StructuralPartialEq for ParseError
Auto Trait Implementations§
impl Freeze for ParseError
impl RefUnwindSafe for ParseError
impl Send for ParseError
impl Sync for ParseError
impl Unpin for ParseError
impl UnsafeUnpin for ParseError
impl UnwindSafe for ParseError
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Error> ErrorExt for Error
impl<Error> ErrorExt for Error
Source§fn into_box_error(self) -> Box<dyn Error + Sync + Send>
fn into_box_error(self) -> Box<dyn Error + Sync + Send>
Return self as
BoxError without additional context.Source§fn into_opaque_error(self) -> OpaqueError
fn into_opaque_error(self) -> OpaqueError
Return self as
OpaqueError without additional context. Read moreSource§fn context_debug<M>(self, value: M) -> Box<dyn Error + Sync + Send>
fn context_debug<M>(self, value: M) -> Box<dyn Error + Sync + Send>
Wrap the error in a context,
using
fmt::Debug as fmt::Display.Source§fn context_field<M>(
self,
key: &'static str,
value: M,
) -> Box<dyn Error + Sync + Send>
fn context_field<M>( self, key: &'static str, value: M, ) -> Box<dyn Error + Sync + Send>
Wrap the error in a keyed context.
Source§fn context_str_field<M>(
self,
key: &'static str,
value: M,
) -> Box<dyn Error + Sync + Send>
fn context_str_field<M>( self, key: &'static str, value: M, ) -> Box<dyn Error + Sync + Send>
Same as
Self::context_field but using a string-like value,
this is useful in case you need to pass a string slice which is borrowed
and thus cannot be passed as part of ’static error.Source§fn context_hex_field<M>(
self,
key: &'static str,
value: M,
) -> Box<dyn Error + Sync + Send>
fn context_hex_field<M>( self, key: &'static str, value: M, ) -> Box<dyn Error + Sync + Send>
Source§fn context_debug_field<M>(
self,
key: &'static str,
value: M,
) -> Box<dyn Error + Sync + Send>
fn context_debug_field<M>( self, key: &'static str, value: M, ) -> Box<dyn Error + Sync + Send>
Wrap the error in a keyed context,
using
fmt::Debug as fmt::Display.Source§fn with_context<C, F>(self, cb: F) -> Box<dyn Error + Sync + Send>
fn with_context<C, F>(self, cb: F) -> Box<dyn Error + Sync + Send>
Lazily wrap the error with a context.
Source§fn with_context_debug<C, F>(self, cb: F) -> Box<dyn Error + Sync + Send>
fn with_context_debug<C, F>(self, cb: F) -> Box<dyn Error + Sync + Send>
Lazily wrap the error with a context,
using
fmt::Debug as fmt::Display.Source§fn with_context_field<C, F>(
self,
key: &'static str,
cb: F,
) -> Box<dyn Error + Sync + Send>
fn with_context_field<C, F>( self, key: &'static str, cb: F, ) -> Box<dyn Error + Sync + Send>
Lazily wrap the error with keyed context.
Source§fn with_context_str_field<C, F>(
self,
key: &'static str,
cb: F,
) -> Box<dyn Error + Sync + Send>
fn with_context_str_field<C, F>( self, key: &'static str, cb: F, ) -> Box<dyn Error + Sync + Send>
Same as
Self::with_context_field but using a string-like value,
this is useful in case you need to pass a string slice which is borrowed
and thus cannot be passed as part of ’static error.Source§fn with_context_hex_field<C, F>(
self,
key: &'static str,
cb: F,
) -> Box<dyn Error + Sync + Send>
fn with_context_hex_field<C, F>( self, key: &'static str, cb: F, ) -> Box<dyn Error + Sync + Send>
Source§fn with_context_debug_field<C, F>(
self,
key: &'static str,
cb: F,
) -> Box<dyn Error + Sync + Send>
fn with_context_debug_field<C, F>( self, key: &'static str, cb: F, ) -> Box<dyn Error + Sync + Send>
Lazily wrap the error with keyed context
using
fmt::Debug as fmt::Display.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more