1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use miette::Diagnostic;
use thiserror::Error;

use crate::Integrity;

/// Integrity-related error values.
#[derive(Diagnostic, Error, Debug, Clone, PartialEq, Eq)]
pub enum Error {
    /// Error parsing an SRI string into an Integrity object.
    #[error("Failed to parse subresource integrity string: {0}")]
    #[diagnostic(code(ssri::parse_integrity_error), url(docsrs))]
    ParseIntegrityError(String),
    /// Error matching two Integrity values.
    #[error("Integrity check failed.\n\tWanted: {0}\n\tActual: {1}")]
    #[diagnostic(code(ssri::integrity_check_error), url(docsrs))]
    IntegrityCheckError(Integrity, Integrity),
}