pub enum Error {
TlsBuild(ErrorStack),
TlsHandshake(HandshakeError<TcpStream>),
Http2(Error),
Connect(Error),
Verify(String),
InvalidUrl(String),
}Expand description
Errors that can occur during high-fidelity transport operations.
This enum categorizes failures across the entire protocol stack, from low-level TCP dialing to high-level HTTP/2 frame signaling.
Variants§
TlsBuild(ErrorStack)
Failure during the construction of the BoringSSL context.
This usually indicates an invalid cipher list, unsupported curve configuration, or a missing FFI symbol in the linked BoringSSL binary.
TlsHandshake(HandshakeError<TcpStream>)
Failure during the TLS handshake with the remote peer.
These errors often stem from peer-side fingerprint validation, protocol version mismatches, or failures in the ALPN/ALPS negotiation phase.
Http2(Error)
Failure during the HTTP/2 handshake or frame signaling.
This error is returned when the remote peer violates the H2 protocol or when the internal state machine fails to replicate the required Chrome behavior (e.g., SETTINGS frame ordering).
Connect(Error)
Standard I/O failure during connection establishment or data transfer.
This covers TCP timeout, connection reset, and other OS-level network errors.
Verify(String)
Fingerprint verification failed against a reference validator.
This is an orchestration error that occurs when the actual wire behavior (JA3/JA4/Akamai) deviates from the constants defined in the identity profile.
InvalidUrl(String)
The provided URL is malformed or uses an unsupported scheme.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<ErrorStack> for Error
impl From<ErrorStack> for Error
Source§fn from(source: ErrorStack) -> Self
fn from(source: ErrorStack) -> Self
Auto Trait Implementations§
impl !Freeze for Error
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
impl !UnwindSafe for Error
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
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>
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>
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