Struct gotham::handler::HandlerError
source · pub struct HandlerError { /* private fields */ }
Expand description
Describes an error which occurred during handler execution, and allows the creation of a HTTP
Response
.
Implementations§
source§impl HandlerError
impl HandlerError
sourcepub fn status(&self) -> StatusCode
pub fn status(&self) -> StatusCode
Returns the HTTP status code associated with this HandlerError
.
sourcepub fn with_status(self, status_code: StatusCode) -> HandlerError
pub fn with_status(self, status_code: StatusCode) -> HandlerError
Sets the HTTP status code of the response which is generated by the IntoResponse
implementation.
fn handler(state: State) -> Pin<Box<HandlerFuture>> {
// It's OK if this is bogus, we just need something to convert into a `HandlerError`.
let io_error = std::io::Error::last_os_error();
let handler_error = HandlerError::from(io_error).with_status(StatusCode::IM_A_TEAPOT);
future::err((state, handler_error)).boxed()
}
let test_server = TestServer::new(|| Ok(handler)).unwrap();
let response = test_server
.client()
.get("http://example.com/")
.perform()
.unwrap();
assert_eq!(response.status(), StatusCode::IM_A_TEAPOT);
sourcepub fn into_cause(self) -> Error
pub fn into_cause(self) -> Error
Returns the cause of this error.
Trait Implementations§
source§impl Debug for HandlerError
impl Debug for HandlerError
source§impl<E> From<E> for HandlerErrorwhere
E: Into<Error> + Display,
impl<E> From<E> for HandlerErrorwhere
E: Into<Error> + Display,
Convert a generic anyhow::Error
into a HandlerError
, similar as you would a concrete error
type with into_handler_error()
.
source§fn from(error: E) -> HandlerError
fn from(error: E) -> HandlerError
Converts to this type from the input type.