dns_stamp_parser/
error.rs1use base64::DecodeError as Base64Error;
2use std::{net::AddrParseError, num::ParseIntError, str::Utf8Error};
3use thiserror::Error;
4
5pub type EncodeResult<T> = Result<T, EncodeError>;
7
8pub type DecodeResult<T> = Result<T, DecodeError>;
10
11#[derive(Error, Debug, PartialEq, Eq)]
13pub enum DecodeError {
14 #[error("error parsing base 64")]
16 Base64Error(#[from] Base64Error),
17 #[error("ran out of bytes to parse")]
19 NotEnoughBytes,
20 #[error("input too large")]
22 TooManyBytes,
23 #[error("string could not be decoded with utf-8")]
25 Utf8Error(#[from] Utf8Error),
26 #[error("failed to parse address")]
28 AddrParseError(#[from] AddrParseError),
29 #[error("missing closing bracket for IPv6")]
31 AddrParseIpv6ClosingBracket,
32 #[error("address missing")]
34 MissingAddr,
35 #[error("length of array not what was expected")]
37 Len,
38 #[error("failed to parse int value")]
41 ParseIntError(#[from] ParseIntError),
42 #[error("input is invalid {cause:?}")]
44 InvalidInput {
45 cause: String,
47 },
48 #[error("unknown type")]
50 UnknownType(u8),
51}
52
53#[derive(Error, Debug, PartialEq, Eq)]
55pub enum EncodeError {
56 #[error("input too large")]
58 TooManyBytes,
59 #[error("array is empty")]
61 EmptyArray,
62}