1use std::fmt::{Display, Formatter};
2use std::string::{FromUtf8Error};
3use sha2::digest::InvalidLength;
4use thiserror::Error;
5use crate::error::Error::CommonError;
6
7#[derive(Error, Debug)]
8pub enum Error {
9 #[error("common error {0}")]
10 CommonError(String),
11 #[error("serde url encode error {0}")]
12 SerdeUrlEncodeError(#[from] serde_urlencoded::ser::Error),
13 #[error("request error {0}")]
14 RequestError(#[from] reqwest::Error),
15 #[error("serde json error {0}")]
16 SerdeJsonError(#[from] serde_json::error::Error),
17 #[error("hmac error {0}")]
18 HmacError(#[from] InvalidLength),
19 #[error("rsa error {0}")]
20 RsaError(#[from] rsa::Error),
21 #[error("base64 encode error {0}")]
22 Base64Error(#[from] base64ct::Error),
23 #[error("convert error {0}")]
24 ConvertError(#[from] std::convert::Infallible),
25 #[error("base64 decode error {0}")]
26 FromUtf8Error(#[from] FromUtf8Error),
27 #[error("request header error {0}")]
28 RequestHeaderNameError(#[from] reqwest::header::InvalidHeaderName),
29 #[error("request header error {0}")]
30 RequestHeaderValueError(#[from] reqwest::header::InvalidHeaderValue),
31}