1use httpsig::prelude::HttpSigError;
2use thiserror::Error;
3
4pub type HyperSigResult<T> = std::result::Result<T, HyperSigError>;
6
7#[derive(Error, Debug)]
9pub enum HyperSigError {
10 #[error("No signature headers found: {0}")]
12 NoSignatureHeaders(String),
13
14 #[error("Failed to stringify signature headers: {0}")]
16 FailedToStrSignatureHeaders(#[from] http::header::ToStrError),
17
18 #[error("Failed to parse header value: {0}")]
20 InvalidHeaderValue(#[from] http::header::InvalidHeaderValue),
21
22 #[error("Invalid component name: {0}")]
24 InvalidComponentName(String),
25
26 #[error("Invalid component param: {0}")]
28 InvalidComponentParam(String),
29
30 #[error("Invalid signature: {0}")]
32 InvalidSignature(String),
33
34 #[error("HttpSigError: {0}")]
36 HttpSigError(#[from] HttpSigError),
37}
38
39pub type HyperDigestResult<T> = std::result::Result<T, HyperDigestError>;
41
42#[derive(Error, Debug)]
44pub enum HyperDigestError {
45 #[error("Http body error: {0}")]
47 HttpBodyError(String),
48
49 #[error("No content-digest header found: {0}")]
51 NoDigestHeader(String),
52
53 #[error("Failed to parse header value: {0}")]
55 InvalidHeaderValue(String),
56
57 #[error("Failed to stringify content-digest header: {0}")]
59 FailedToStrDigestHeader(#[from] http::header::ToStrError),
60
61 #[error("Invalid content-digest: {0}")]
63 InvalidContentDigest(String),
64
65 #[error("Invalid content-digest type: {0}")]
67 InvalidContentDigestType(String),
68}