1use miette::Diagnostic;
2use thiserror::Error;
3
4use crate::Integrity;
5
6#[derive(Diagnostic, Error, Debug, Clone, PartialEq, Eq)]
8pub enum Error {
9 #[error("Failed to parse subresource integrity string: {0}")]
11 #[diagnostic(code(ssri::parse_integrity_error), url(docsrs))]
12 ParseIntegrityError(String),
13 #[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("Failed decode hexadecimal data, reason: {0}")]
19 #[diagnostic(code(ssri::hex_decode_error), url(docsrs))]
20 HexDecodeError(String),
21}