http_security_headers/
error.rs

1//! Error types for the security headers library.
2
3/// Result type alias for operations that may fail with an Error.
4pub type Result<T> = std::result::Result<T, Error>;
5
6/// Errors that can occur when working with security headers.
7#[derive(Debug, thiserror::Error)]
8pub enum Error {
9    /// Invalid Content-Security-Policy directive.
10    #[error("Invalid Content-Security-Policy: {0}")]
11    InvalidCsp(String),
12
13    /// Invalid Strict-Transport-Security configuration.
14    #[error("Invalid Strict-Transport-Security: {0}")]
15    InvalidHsts(String),
16
17    /// Invalid X-Frame-Options value.
18    #[error("Invalid X-Frame-Options: {0}")]
19    InvalidFrameOptions(String),
20
21    /// Invalid Referrer-Policy value.
22    #[error("Invalid Referrer-Policy: {0}")]
23    InvalidReferrerPolicy(String),
24
25    /// Invalid Permissions-Policy directive.
26    #[error("Invalid Permissions-Policy: {0}")]
27    InvalidPermissionsPolicy(String),
28
29    /// Invalid Cross-Origin-Opener-Policy value.
30    #[error("Invalid Cross-Origin-Opener-Policy: {0}")]
31    InvalidCoop(String),
32
33    /// Invalid Cross-Origin-Embedder-Policy value.
34    #[error("Invalid Cross-Origin-Embedder-Policy: {0}")]
35    InvalidCoep(String),
36
37    /// Invalid Cross-Origin-Resource-Policy value.
38    #[error("Invalid Cross-Origin-Resource-Policy: {0}")]
39    InvalidCorp(String),
40
41    /// Invalid header value when converting to HTTP header.
42    #[cfg(feature = "middleware")]
43    #[error("Invalid header value: {0}")]
44    InvalidHeaderValue(#[from] http::header::InvalidHeaderValue),
45
46    /// Configuration validation failed.
47    #[error("Configuration validation failed: {0}")]
48    ValidationFailed(String),
49}