rust_aliyun/
error.rs

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}