14 个版本

0.3.3 2023年5月22日
0.3.2 2022年12月8日
0.2.0 2022年11月14日
0.1.9 2022年10月20日
0.1.8 2022年9月20日

#1398解析器实现

40 每月下载量
用于 spacex_sdk

MIT 许可证

13KB
237 代码行

jwfetch

使用带有跟踪的 reqwest 包。

示例

运行示例使用 cargo run --example simple

use jwfetch::{request, get, post, BaseRequestConfig, RequestConfig, FetchError, ActixHeaderMap, Method};
use serde_derive::{Deserialize, Serialize};

#[derive(Deserialize, Debug, Serialize, Clone)]
pub struct UserInfo {
    pub id: String,
    pub avatar: String,
}

pub async fn get_user_info(origin_headers: ActixHeaderMap) -> Result<UserInfo, FetchError> {
    request::<UserInfo>(RequestConfig {
        url: "user/userinfo".to_string(),
        method: Method::GET,
        base_url: Some("https://api.github.com/api/".to_string()),
        origin_headers: Some(origin_headers),
        headers: None,
        data: None,
        timeout: None,
        extra_header_keys: Some(vec!["user-agent", "cookie", "referer"]),
    })
    .await
}

或者您可以使用 getpostBaseRequestConfig

依赖项

~12–23MB
~424K SLoC