pub trait HttpInterceptor: Send + Sync {
// Provided methods
fn fail(
&self,
_status: u16,
_data: &Bytes,
) -> BoxFuture<'_, Result<(), Error>> { ... }
fn request(
&self,
req: RequestBuilder,
) -> BoxFuture<'_, Result<RequestBuilder, Error>> { ... }
fn response(&self, data: Bytes) -> BoxFuture<'_, Result<Bytes, Error>> { ... }
fn on_done(
&self,
_stats: &HttpStats,
_err: Option<&Error>,
) -> BoxFuture<'_, Result<(), Error>> { ... }
}Expand description
HTTP 请求拦截器 trait,用于在请求发出前后注入自定义逻辑(鉴权、日志、错误处理等)。
Provided Methods§
Sourcefn fail(&self, _status: u16, _data: &Bytes) -> BoxFuture<'_, Result<(), Error>>
fn fail(&self, _status: u16, _data: &Bytes) -> BoxFuture<'_, Result<(), Error>>
响应状态码 ≥400 时调用,可将错误信息转换为业务 Error。
Sourcefn request(
&self,
req: RequestBuilder,
) -> BoxFuture<'_, Result<RequestBuilder, Error>>
fn request( &self, req: RequestBuilder, ) -> BoxFuture<'_, Result<RequestBuilder, Error>>
发送前修改请求(如注入鉴权头、签名等)。
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".