fuel-web-utils 0.0.27

Fuel library for web utils
use actix_web::http::header::InvalidHeaderValue;

#[derive(Debug, thiserror::Error)]
pub enum PasswordVerificationError {
    #[error("Password not found in request")]
    NotFound,
    #[error("Supplied password is empty")]
    Empty,
    #[error("Password is invalid")]
    Invalid,
    #[error(transparent)]
    InvalidHeader(#[from] InvalidHeaderValue),
}

impl From<PasswordVerificationError> for actix_web::Error {
    fn from(err: PasswordVerificationError) -> Self {
        match err {
            PasswordVerificationError::NotFound => {
                actix_web::error::ErrorUnauthorized("Password not found")
            }
            PasswordVerificationError::Empty => {
                actix_web::error::ErrorUnauthorized("Password is empty")
            }
            PasswordVerificationError::Invalid => {
                actix_web::error::ErrorUnauthorized("Password is invalid")
            }
            PasswordVerificationError::InvalidHeader(e) => {
                actix_web::error::ErrorUnauthorized(e.to_string())
            }
        }
    }
}