SendError

Structin requestfastly 0.13.1View source
pub struct SendError { /* private fields */ }

An error that occurred while sending a request.

While the body of a request is always consumed when sent, you can recover the headers and other request metadata of the request that failed using SendError::into_sent_req().

use SendError::root_cause() to inspect details about what caused the error.

Methods

backend_name

View source
fn backend_name(&self) -> &str

Get the name of the backend that returned this error.

Parameters

self: &Self

Returns

&str

into_sent_req

View source
fn into_sent_req(self) -> Request

Convert the error back into the request that was originally sent.

Since the original request's body is consumed by sending it, the body in the returned request is empty. To add a new body to the request, use Request::with_body(), for example:

if let Err(e) = bereq.send("my_backend") {
let new_body = Body::from("something new");
let new_req = e.into_sent_req().with_body(new_body);
new_req.send("my_other_backend")?;
}

Parameters

self: Self

Returns

root_cause

View source
fn root_cause(&self) -> &SendErrorCause

Get the underlying cause of this SendError.

This is the same cause that would be returned by err.source().downcast_ref::<SendErrorCause>(), but more direct.

Parameters

self: &Self

Returns

Trait implementations

impl Debug for SendError

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

Parameters

self: &Self
f: &mut $crate::fmt::Formatter

Returns

$crate::fmt::Result

impl Display for SendError

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

Parameters

self: &Self
__formatter: &mut ::core::fmt::Formatter

Returns

::core::fmt::Result

impl Error for SendError

fn source(&self) -> Option<&(dyn Error + 'static)>

Parameters

self: &Self

Returns

::core::option::Option<&(dyn Error + 'static)>

Auto trait implementations

Blanket implementations