geronimo_captcha/
error.rs

1use crate::registry::RegistryCheckResult;
2
3use std::error::Error as StdError;
4use std::fmt;
5
6pub type Result<T> = std::result::Result<T, CaptchaError>;
7
8#[derive(Debug)]
9pub enum CaptchaError {
10    InvalidInput(&'static str),
11    DecodeError(String),
12    EncodeError(String),
13    Registry(RegistryCheckResult),
14    Internal(String),
15}
16
17impl fmt::Display for CaptchaError {
18    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
19        match self {
20            CaptchaError::InvalidInput(m) => write!(f, "invalid input: {m}"),
21            CaptchaError::DecodeError(m) => write!(f, "decode error: {m}"),
22            CaptchaError::EncodeError(m) => write!(f, "encode error: {m}"),
23            CaptchaError::Registry(r) => write!(f, "registry error: {r}"),
24            CaptchaError::Internal(m) => write!(f, "internal error: {m}"),
25        }
26    }
27}
28
29impl StdError for CaptchaError {}