qiniu_http_client/client/callback/
simplified.rs

1use super::super::{Authorization, Idempotent, QueryPair};
2use auto_impl::auto_impl;
3use qiniu_http::{HeaderMap, Method, UserAgent, Version};
4use std::fmt::Debug;
5
6/// 简化回调函数上下文
7///
8/// 用于在回调函数中获取请求相关信息,如请求路径、请求方法、查询参数、请求头等。
9#[auto_impl(&, &mut, Box, Rc, Arc)]
10pub trait SimplifiedCallbackContext: Sync + Send + Debug {
11    /// 是否使用 HTTPS 协议
12    fn use_https(&self) -> bool;
13
14    /// 获取请求 HTTP 方法
15    fn method(&self) -> &Method;
16
17    /// 获取请求 HTTP 版本
18    fn version(&self) -> Version;
19
20    /// 获取请求路径
21    fn path(&self) -> &str;
22
23    /// 获取请求查询参数
24    fn query(&self) -> &str;
25
26    /// 获取请求查询对
27    fn query_pairs(&self) -> &[QueryPair];
28
29    /// 获取请求 HTTP Headers
30    fn headers(&self) -> &HeaderMap;
31
32    /// 获取追加的 UserAgent
33    fn appended_user_agent(&self) -> &UserAgent;
34
35    /// 获取七牛鉴权签名
36    fn authorization(&self) -> Option<&Authorization>;
37
38    /// 获取请求幂等性
39    fn idempotent(&self) -> Idempotent;
40}