Skip to content

refactor: adopt MaybeSend futures and remove async_trait#702

Merged
Xuanwo merged 5 commits intomainfrom
xuanwo/reqsign-maybe-send-dyn
Mar 3, 2026
Merged

refactor: adopt MaybeSend futures and remove async_trait#702
Xuanwo merged 5 commits intomainfrom
xuanwo/reqsign-maybe-send-dyn

Conversation

@Xuanwo
Copy link
Member

@Xuanwo Xuanwo commented Mar 2, 2026

This PR replaces async_trait-based async trait methods with an OpenDAL-style MaybeSend future model across reqsign. It keeps the single-trait architecture while making wasm/non-wasm send bounds explicit through shared future aliases.

To preserve object safety and existing ergonomics, this change introduces *Dyn adapters (HttpSendDyn, FileReadDyn, CommandExecuteDyn, ProvideCredentialDyn, SignRequestDyn) and keeps public builder APIs (Context, Signer, provider chains) working with trait objects.

Context

  • Aligns reqsign with the same MaybeSend direction used by OpenDAL.
  • Removes all async-trait usage and corresponding crate dependencies across the workspace.

Copy link
Member

@tisonkun tisonkun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@Xuanwo Xuanwo merged commit 635f0bc into main Mar 3, 2026
48 checks passed
@Xuanwo Xuanwo deleted the xuanwo/reqsign-maybe-send-dyn branch March 3, 2026 08:52
@Xuanwo Xuanwo mentioned this pull request Mar 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants