* [Rust] Update reqwest dependency to 0.13 with query and form features
Update the Rust client generator template to use reqwest 0.13 instead
of 0.12, as requested in issue #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#22621
* [Rust] Updated samples
* [Rust] Rename rustls-tls feature to rustls to match reqwest 0.13
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.
* [Rust] Upgrade reqwest-middleware to 0.5 for reqwest 0.13 compatibility
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.
* [Rust] Use query and form features from reqwest-middleware
It adds "query" and "form" features for reqwest-middleware crate in petstore-async-middleware example and Cargo.mustache template.
---------
Co-authored-by: Emil Bonne Kristiansen <emilbonnek@gmail.com>
* feat(rust): add the native-tls (default) and rustls Cargo features for `reqwest`
* refactor(rust): rename the `rustls` Cargo feature to follow the ecosystem naming convention
* rust: support repr(int) enum
* Regen APIS
* remove the extra lines
* merge most recent commits from master
* update tests to ensure that enum compiles correctly
* drop changes to kotlin files
---------
Co-authored-by: Jihyun Yu <yjh0502@gmail.com>
* fix(rust): simplify None logic
Used to be a code path (where isFreeFormObject and something else) where we could end up with two `: None` `: None`'s
This does add the None for the !required && !isArray && !isMap && !isNullable case (where nothing would have been printed before.
Above for the type on the individual vars inside the struct definition the logic is simply if not required then it's optional.
If it's optional we want a None when creating a new struct.
* ci: add tests for failure