dropbox-sdk-rust
dropbox-sdk-rust copied to clipboard
implement optional async support
The new features controlling this are async_routes
which enables compiling the async functions, and and default_async_client
which enables a default HTTP client based on reqwest.
For most current use cases this should be a seamless transition, as I've made great pains to ensure that types are in the same locations unless you use the new features.
However if users have implemented a custom HTTP client, they will need to rework it a lot, as the HTTP client traits have been completely rewritten and are very different. That said, the new trait moves more things to the helper code, so implementing a custom client should be easier now.
This change violates our MSRV policy by quite a lot (requiring rust 1.75.0 which is only ~4 months old instead of the desired 12) so I'm proposing to land this as a beta release for now.
Checklist
General Contributing
- [x] I have read the Code of Conduct and signed the CLA.
- [x] I have added an entry to the
RELEASE_NOTES.md
file, or believe it's not necessary for this change.
Validation
A copy of the demo
example has been made (called demo-async
) which uses the default async client, which acts as a decent integration test.