Commit Graph

9 Commits

Author SHA1 Message Date
Ross Sullivan
4ba87ae0e7 [rust] Added support for text/plain to reqwest clients (#20643)
* [rust] Added support for text/plain to reqwest-trait client

* Updated samples

* [rust] Added support for text/plain to reqwest client

* Updated samples

* cleanup

* reduced compiler warnings

* fixed text/plain content with charset

* Only deserialize text/plain if the API produces it
2025-02-17 20:00:43 +08:00
Marcel Märtens
78ea8afa84 [Rust] harden against name collisions while generate cleaner rust code, fix #20337 (#20396)
* prevent all name clashes by using a prefix for all parameters, this way they CANNOT clash with anything locally, as our hardcoded stuff in mustache files doesnt start with "p_" ,
when using the grouped option, we just use the params directly and dont unpack the variables at all, prevending furthur name clashes.

* get rid of "local_var" prefix, now that we no longer clash with paramater names

* fix a typo and remove the r# generated to the paramName when we create the identifier

* java code formatting and added a fake-endpoint parameter test

* update rust samples
2025-01-13 17:43:13 +08:00
Thomas Ville
34bd02109e [rust][reqwest] support binary type for download (#20031)
* [rust][reqwest] support binary type for upload and download

* [rust][reqwest] support binary download in supportMultipleResponses contexts

* [rust][reqwest] support binary responses that don't have any return type
2024-11-29 17:07:30 +08:00
nvivot
8ef3118005 [rust][client][auth] token source option (#19647)
* feat: add token source support for rust async client

* chore: fix + regen samples

* chore: doc gen

* chore: missing generated sample files
2024-10-01 15:05:39 +08:00
Bert Downs
9a673ea09a Rust: Support Integer enums using Serde_repr (#19199)
* 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>
2024-07-24 17:14:17 +08:00
Max Nachlinger
03389dfdbd Bump Rust edition to 2021 and a few crates (#18608)
* bump Rust edition to 2021, update a few creates

* bump Rust edition to 2021, update a few creates
2024-05-09 10:43:11 +08:00
Max Nachlinger
ac649b2e2f Disable clippy::too_many_arguments in generated Rust client code. (#18601) 2024-05-08 11:52:20 +08:00
Artem Medvedev
518b29d089 fix(rust): oneOf generation for client (#17915)
* fix(rust): discriminator mapping to serde rename

Discriminator mapping has been ignored in some cases.
Even existing samples had wrong definition in some cases

This PR addresses this

* fix(rust): `oneOf` generation for client

Solves #17869 and #17896 and also includes unmerged $17898

Unfortunately it affects quite a lot of code, but we can see that only client-side models were affected by re-generation.
I tried to split this PR to several, but they're really coupled and hard to create a chain of PRs.

* fix: indentation in `impl Default`

* missing fixes

* fix: correct typeDeclaration with unaliased schema

* style: improve indentation for models

* fix: user toModelName for aliases of oneOf

* refactor: unify `getTypeDeclaration` for rust

* cover the case when `mapping` has the same `ref` for different mapping names

* test: add test for previous change

* style: remove extra qualified path to models

* add some comments

* fix(build): use method of `List` instead of specific for `LinkedList`
2024-02-24 23:41:30 +08:00
Nathan Shaaban
76d743b63b fix(rust): simplify new function optional logic (#17865)
* 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
2024-02-19 22:26:29 +08:00