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
use crate::{
    algo::cipher::symmetric::{DecryptError, EncryptError},
    token::paseto::token::{DeserializeError, UnpackingError},
};

#[derive(Debug)]
pub enum Error {
    // encryption process
    Unpack,
    Sign,
    Encrypt,
    // decryption process
    BadHeader,
    BadSignature,
    Decrypt,
    Deserialize,
}
impl From<serde_json::Error> for Error {
    fn from(e: serde_json::Error) -> Error {
        Error::Unpack
    }
}
impl From<UnpackingError> for Error {
    fn from(e: UnpackingError) -> Error {
        Error::Unpack
    }
}
impl From<EncryptError> for Error {
    fn from(e: EncryptError) -> Error {
        Error::Encrypt
    }
}
impl From<DecryptError> for Error {
    fn from(e: DecryptError) -> Error {
        Error::Decrypt
    }
}
impl From<DeserializeError> for Error {
    fn from(e: DeserializeError) -> Error {
        Error::Deserialize
    }
}