httpsig_hyper/
error.rs

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