mirror of
https://github.com/YGGverse/ggemini.git
synced 2026-04-01 01:25:32 +00:00
31 lines
797 B
Rust
31 lines
797 B
Rust
use std::fmt::{Display, Formatter, Result};
|
|
|
|
#[derive(Debug)]
|
|
pub enum Error {
|
|
Decode(std::string::FromUtf8Error),
|
|
Protocol,
|
|
Undefined(Option<String>),
|
|
}
|
|
|
|
impl Display for Error {
|
|
fn fmt(&self, f: &mut Formatter) -> Result {
|
|
match self {
|
|
Self::Decode(e) => {
|
|
write!(f, "Decode error: {e}")
|
|
}
|
|
Self::Protocol => {
|
|
write!(f, "Protocol error")
|
|
}
|
|
Self::Undefined(e) => {
|
|
write!(
|
|
f,
|
|
"{}",
|
|
match e {
|
|
Some(value) => format!("`{value}` undefined"),
|
|
None => "Could not parse value".to_string(),
|
|
}
|
|
)
|
|
}
|
|
}
|
|
}
|
|
}
|