drawbridge_type/digest/
mod.rs

1// SPDX-License-Identifier: Apache-2.0
2
3mod algorithm;
4mod algorithms;
5mod digests;
6mod reader;
7mod verifier;
8mod writer;
9
10pub use algorithm::Algorithm;
11pub use algorithms::Algorithms;
12pub use digests::ContentDigest;
13pub use reader::Reader;
14pub use verifier::Verifier;
15pub use writer::Writer;
16
17/// Parsing error
18#[derive(Clone, Debug, PartialEq, Eq)]
19pub enum Error {
20    MissingEq,
21    MissingColons,
22    UnknownAlgorithm,
23    Decode(base64::DecodeError),
24}
25
26impl std::fmt::Display for Error {
27    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
28        match self {
29            Self::Decode(e) => e.fmt(f),
30            Self::MissingEq => f.write_str("missing equals"),
31            Self::MissingColons => f.write_str("missing colons"),
32            Self::UnknownAlgorithm => f.write_str("unknown algorithm"),
33        }
34    }
35}
36
37impl std::error::Error for Error {}
38
39impl From<base64::DecodeError> for Error {
40    fn from(value: base64::DecodeError) -> Self {
41        Self::Decode(value)
42    }
43}