http_type/request/
error.rs

1use crate::*;
2
3#[derive(Debug, Clone, PartialEq, Eq)]
4pub enum Error {
5    HttpReadError,
6    InvalidHttpRequest,
7    InvalidWebSocketRequest,
8    InvalidUrl,
9    TcpStreamConnectError,
10    RequestError,
11    MethodsNotSupport,
12    ReadConnectionError,
13    TlsConnectorBuildError,
14    SetReadTimeoutError,
15    SetWriteTimeoutError,
16    TlsStreamConnectError,
17    MaxRedirectTimes,
18    RedirectUrlDeadLoop,
19    RedirectInvalidUrl,
20    NeedOpenRedirect,
21    Unknown,
22}
23
24impl StdError for Error {}
25
26impl Display for Error {
27    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
28        match self {
29            Self::HttpReadError => write!(f, "Http read error"),
30            Self::InvalidHttpRequest => write!(f, "Invalid http request"),
31            Self::InvalidWebSocketRequest => write!(f, "Invalid websocket request"),
32            Self::InvalidUrl => write!(f, "Invalid URL"),
33            Self::TcpStreamConnectError => write!(f, "TCP Stream Connection Error"),
34            Self::RequestError => write!(f, "Request Error"),
35            Self::MethodsNotSupport => write!(f, "Unsupported HTTP Method"),
36            Self::ReadConnectionError => write!(f, "Connection Read Error"),
37            Self::TlsConnectorBuildError => write!(f, "TLS Connector Build Error"),
38            Self::SetReadTimeoutError => write!(f, "Failed to Set Read Timeout"),
39            Self::SetWriteTimeoutError => write!(f, "Failed to Set Write Timeout"),
40            Self::TlsStreamConnectError => write!(f, "TLS Stream Connection Error"),
41            Self::MaxRedirectTimes => write!(f, "Max Redirect Times"),
42            Self::RedirectUrlDeadLoop => write!(f, "Redirect URL Dead Loop"),
43            Self::RedirectInvalidUrl => write!(f, "Redirect Invalid Url"),
44            Self::NeedOpenRedirect => write!(f, "Need Open Redirect"),
45            Self::Unknown => write!(f, "{}", "Unknown"),
46        }
47    }
48}