Trait anyhow_http::OptionExt

source ·
pub trait OptionExt {
    type Item;

    // Required method
    fn ok_or_status(
        self,
        status_code: StatusCode,
    ) -> StdResult<Self::Item, HttpError>;
}
Expand description

Extension trait to transform an Option to a HttpError.

Required Associated Types§

Required Methods§

source

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)));

Implementations on Foreign Types§

source§

impl<T> OptionExt for Option<T>

source§

type Item = T

source§

fn ok_or_status(self, status_code: StatusCode) -> StdResult<T, HttpError>

Implementors§