Trait anyhow_http::OptionExt
source · pub trait OptionExt {
type Item;
// Required method
fn ok_or_status(
self,
status_code: StatusCode,
) -> StdResult<Self::Item, HttpError>;
}Required Associated Types§
Required Methods§
sourcefn ok_or_status(
self,
status_code: StatusCode,
) -> StdResult<Self::Item, HttpError>
fn ok_or_status( self, status_code: StatusCode, ) -> StdResult<Self::Item, HttpError>
Transforms the Option<T> into a Result<T, HttpError<R>>, mapping Some(v) to
Ok(v) and None to Err(HttpError) with status code.
§Examples
use http::StatusCode;
use anyhow_http::{http_error, HttpError, OptionExt};
let x: Result<_, HttpError> = None::<()>.ok_or_status(StatusCode::BAD_REQUEST);
assert_eq!(x, Err(http_error!(BAD_REQUEST)));