-
-
Notifications
You must be signed in to change notification settings - Fork 7.4k
[Rust] Update reqwest to 0.13 and reqwest-middleware to 0.5 #22816
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Update the Rust client generator template to use reqwest 0.13 instead of 0.12, as requested in issue OpenAPITools#22621. In reqwest 0.13, the `query()` and `form()` methods have been moved behind feature flags and are disabled by default. Since the generated Rust clients extensively use both methods, these features must be explicitly enabled. Changes: - Updated all reqwest dependencies from ^0.12 to ^0.13 - Added "query" and "form" to reqwest feature flags for all variants: - Blocking client configuration - Async client with file stream support - Async client without file stream - Reqwest-trait variant - Updated reqwest-middleware features for consistency This maintains full backward compatibility as only the dependency version and features change. The API surface of generated code remains identical. Fixes OpenAPITools#22621
In reqwest 0.13, the rustls-tls feature was renamed to rustls. This updates the Cargo.mustache template and all generated samples to use the new feature name, fixing CI build failures when using --all-features flag.
The previous reqwest-middleware 0.4 depends on reqwest 0.12, which caused type conflicts when upgrading to reqwest 0.13: - reqwest::Error (from reqwest 0.13) - reqwest_middleware::reqwest::Error (from reqwest 0.12 via middleware) These are different types from different versions of reqwest. reqwest-middleware 0.5 is compatible with reqwest 0.13, resolving the version conflict. With both using the same reqwest version, the re-exported types are now correctly aligned.
It adds "query" and "form" features for reqwest-middleware crate in petstore-async-middleware example and Cargo.mustache template.
Fixes this warning: warning: variant `shipped` should have an upper camel case name --> reqwest/petstore/src/models/order.rs:53:5 | 53 | shipped, | ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Shipped` | = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
|
@wing328 I filed the PR against |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No issues found across 21 files
for dependency update, we usually go with the upcoming minor releases, which is v7.20.0 |
|
can you please merge the latest master into your branch and regenerate the samples again? |
This PR updates
reqwest(v0.13) andreqwest-middleware(v0.5) dependencies (closes #22621). It aims to replace PR #22630 - I tried to contribute to that PR, but I didn't hear back from the author. I hope this approach is fine, I'm dedicated to actively updating this PR until it's merged.Changes introduced with
reqwest0.13 are described here: https://seanmonstar.com/blog/reqwest-v013-rustls-default/query()andform()methods require"query"and"form"featuresPR checklist
Commit all changed files.
This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example
./bin/generate-samples.sh bin/configs/java*.IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
master(upcoming7.x.0minor release - breaking changes with fallbacks),8.0.x(breaking changes without fallbacks)"fixes #123"present in the PR description)Summary by cubic
Upgrade Rust client generator to reqwest 0.13 and reqwest-middleware 0.5, enabling query and form features and aligning TLS feature names. This keeps generated clients current and resolves type conflicts with middleware. Fixes #22621.
Dependencies
Bug Fixes
Written for commit be7d3e1. Summary will update on new commits.