#[non_exhaustive]pub enum FetchError {
ConnectionFailed {
detail: String,
source: Option<Error>,
},
HeaderTooLarge {
detail: String,
},
BodyTooLarge,
Timeout,
Cancelled,
Internal(String),
}Expand description
Typed error returned by the pure-Rust fetch_request API.
Header-oversize detection lives above this layer in
[crate::ffi::fetch], which compares the assembled response head
byte-count against the endpoint’s max_header_size. That check is
deterministic and does not depend on hyper’s error wording, so this
enum no longer disambiguates header parse failures from other
transport errors — they all surface as ConnectionFailed.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ConnectionFailed
Connection setup, hyper handshake, or send-request transport
failure. Wraps the underlying hyper::Error when one is
available so callers can downcast instead of substring-matching.
HeaderTooLarge
Response head exceeded the endpoint’s max_header_size budget.
Produced only by [crate::ffi::fetch]’s post-receive byte-count
check; fetch_request itself never emits this variant.
BodyTooLarge
Response body exceeded the configured byte limit. Surfaced by the FFI wrapper after the body is drained.
Timeout
cfg.timeout elapsed before the response head arrived.
Cancelled
Caller dropped the future or signalled cancellation via the FFI fetch token.
Internal(String)
Bug or unexpected internal failure (request build, body wrap, …).
Trait Implementations§
Source§impl Debug for FetchError
impl Debug for FetchError
Source§impl Display for FetchError
impl Display for FetchError
Source§impl Error for FetchError
impl Error for FetchError
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()
Auto Trait Implementations§
impl Freeze for FetchError
impl !RefUnwindSafe for FetchError
impl Send for FetchError
impl Sync for FetchError
impl Unpin for FetchError
impl UnsafeUnpin for FetchError
impl !UnwindSafe for FetchError
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.