Skip to main content

TransportError

Enum TransportError 

Source
#[non_exhaustive]
pub enum TransportError { InvalidConfig(&'static str), BuildClient(Error), Transport(Error), HttpStatus { status: StatusCode, body: String, }, Deserialize { source: Error, body: String, }, Utf8(FromUtf8Error), BodyTooLarge { limit: usize, }, InvalidResponse(String), }
Expand description

Errors produced by the shared HTTP/SSE transport layer.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

InvalidConfig(&'static str)

§

BuildClient(Error)

§

Transport(Error)

§

HttpStatus

A non-success HTTP status, with the full response body captured as diagnostic text.

body is read under the shared size cap (MAX_BODY_BYTES). Bodies that fit are captured in full; an oversized error body instead surfaces as BodyTooLarge and this variant is not produced. So when this variant is present, body is complete — never a truncated prefix.

Fields

§status: StatusCode
§body: String
§

Deserialize

A streamed response chunk could not be deserialized.

Produced only by the SSE event parser, one event at a time. When a TransportError is lifted into a ProviderError via From, this surfaces as ProviderError::Transport(TransportError::Deserialize)not as ProviderError::Deserialize, which is reserved for full-body failures produced by parse_json. Consumers matching for deserialization failures across both paths must account for both variants.

Fields

§source: Error
§body: String
§

Utf8(FromUtf8Error)

§

BodyTooLarge

A non-streaming response body exceeded the shared size cap and was not fully buffered.

Produced by the capped body reader (read_body_text). Distinct from InvalidResponse, which reports content problems (empty body, malformed structure) rather than a size limit. The reader stops before the offending chunk is appended, so no body text is carried here. When the overflow occurs while reading an error body, the HTTP status is not carried here either — it is visible only to callers that read status off the raw response before consuming the body (the prepare/send path).

Fields

§limit: usize
§

InvalidResponse(String)

Trait Implementations§

Source§

impl Debug for TransportError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for TransportError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for TransportError

Source§

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

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<TransportError> for ProviderError

Source§

fn from(source: TransportError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more