1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
use http::header::{InvalidHeaderValue, ToStrError};
use std::error::Error as StdError;
pub type BoxError = Box<dyn StdError + Send + Sync + 'static>;
#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
pub enum Error {
#[error(transparent)]
BodyOperation(BoxError),
#[error("Hash mismatched. Expected: {expected}, Got: {got}")]
HashMismatch {
expected: String,
got: String,
},
#[error(transparent)]
InnerService(BoxError),
#[error("Invalid digest value")]
InvalidDigest,
#[error("Invalid digest header")]
InvalidDigestHeader,
#[error(transparent)]
InvalidHeaderValue(#[from] InvalidHeaderValue),
#[error("Missing digest header")]
MissingHeader,
#[error(transparent)]
ToStr(#[from] ToStrError),
#[error("Unsupported digest")]
UnsupportedDigest,
}