ssri/
errors.rs

1use miette::Diagnostic;
2use thiserror::Error;
3
4use crate::Integrity;
5
6/// Integrity-related error values.
7#[derive(Diagnostic, Error, Debug, Clone, PartialEq, Eq)]
8pub enum Error {
9    /// Error parsing an SRI string into an Integrity object.
10    #[error("Failed to parse subresource integrity string: {0}")]
11    #[diagnostic(code(ssri::parse_integrity_error), url(docsrs))]
12    ParseIntegrityError(String),
13    /// Error matching two Integrity values.
14    #[error("Integrity check failed.\n\tWanted: {0}\n\tActual: {1}")]
15    #[diagnostic(code(ssri::integrity_check_error), url(docsrs))]
16    IntegrityCheckError(Integrity, Integrity),
17    /// Error Decoding Hex Data
18    #[error("Failed decode hexadecimal data, reason: {0}")]
19    #[diagnostic(code(ssri::hex_decode_error), url(docsrs))]
20    HexDecodeError(String),
21}