pub enum HttpError {
Show 18 variants
ConnectTimeout,
RequestTimeout,
ConnectionFailed(String),
ServerError(u16),
ClientError(u16, String),
Cancelled,
TooManyRedirects,
InvalidUrl(String),
InvalidHeaderName(String),
InvalidHeaderValue(String),
JsonSerialize(String),
JsonDeserialize(String),
FormEncode(String),
BodyTooLarge,
ResponseBody(String),
Request(Error),
ClientBuild(String),
Other(String),
}Expand description
HTTP 客户端错误
Variants§
ConnectTimeout
连接超时
RequestTimeout
请求超时
ConnectionFailed(String)
连接失败
ServerError(u16)
服务器错误 (5xx)
ClientError(u16, String)
客户端错误 (4xx)
Cancelled
请求被取消
TooManyRedirects
重定向过多
InvalidUrl(String)
无效的 URL
InvalidHeaderName(String)
无效的请求头名称
InvalidHeaderValue(String)
无效的请求头值
JsonSerialize(String)
JSON 序列化错误
JsonDeserialize(String)
JSON 反序列化错误
FormEncode(String)
表单编码错误
BodyTooLarge
请求体过大
ResponseBody(String)
响应体读取错误
Request(Error)
底层请求错误
ClientBuild(String)
构建客户端失败
Other(String)
其他错误
Implementations§
Source§impl HttpError
impl HttpError
Sourcepub fn is_retryable(&self) -> bool
pub fn is_retryable(&self) -> bool
判断错误是否可重试
可重试的错误类型:
- 连接超时/请求超时
- 连接失败(网络抖动)
- 服务器错误 (5xx)
Sourcepub fn is_client_error(&self) -> bool
pub fn is_client_error(&self) -> bool
判断是否为客户端错误(通常不应重试)
Sourcepub fn is_server_error(&self) -> bool
pub fn is_server_error(&self) -> bool
判断是否为服务器错误
Sourcepub fn status_code(&self) -> Option<u16>
pub fn status_code(&self) -> Option<u16>
获取 HTTP 状态码(如果有)
Trait Implementations§
Source§impl Error for HttpError
impl Error for HttpError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for HttpError
impl !RefUnwindSafe for HttpError
impl Send for HttpError
impl Sync for HttpError
impl Unpin for HttpError
impl !UnwindSafe for HttpError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.