http_type/request/
error.rs1use 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}