Skip to content

[r2cn] 升级 reqwest 至 0.13:切换默认 TLS 后端为 rustls #1774

@benjamin-747

Description

@benjamin-747

[任务]升级 reqwest 至 0.13:切换默认 TLS 后端为 rustls

[任务分值] 10 分

[背景描述]

当前项目中使用 reqwest 作为主要的 HTTP 客户端库,用于与外部服务(如 GitHub、对象存储、内部 API 等)进行通信。
随着生态演进,reqwest 在 0.13 版本 中进行了重要调整:
• rustls 成为默认 TLS 后端,不再默认使用 native-tls;
• TLS 实现更加 跨平台一致,减少对系统 OpenSSL 的依赖;
• 更符合 Rust 生态的安全与可移植性方向。

[需求描述]

一、依赖升级

  • 将项目中 reqwest 依赖升级至 0.13.x;
  • 确认 Cargo feature 配置:
    • 使用默认的 rustls-tls;
    • 移除对 native-tls 或 OpenSSL 的隐式依赖(如存在)。

二、代码兼容性调整

  • 检查并修复因 reqwest 升级导致的:
    • API 变更(如 Client / RequestBuilder 行为差异)
    • Feature 配置冲突
  • 确保以下功能路径正常:
    • GitHub / 第三方 API 调用
    • 内部服务间 HTTP 调用
    • Webhook / 回调请求

[代码标准]

  1. 所有 PR 提交必须签署 Signed-off-by 和 使用 GPG 签名,即提交代码时(使用 git commit 命令时)至少使用 -s -S 两个参数,参考 Contributing Guide
  2. 所有 PR 提交必须通过 GitHub Actions 自动化测试,提交 PR 后请关注 GitHub Actions 结果;
  3. 代码注释均需要使用英文;

[PR 提交地址] 提交到 mega 仓库的 main 分支 `` 目录;

[开发指导]

  1. 认领任务参考 r2cn 开源实习计划 - 任务认领与确认;

[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在 #p-meta 频道和导师交流。

  1. Quanyi Ma genedna@gmail.com
  2. Tianxing Ye yetianxing2014@gmail.com

[备注]

  1. 认领实习任务的同学,必须完成测试任务和注册流程,请参考: r2cn 开源实习计划 - 测试任务r2cn 开源实习计划 - 学生注册与审核

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions