Skip to content
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

[Rust][Client] Unify sync/async client structure #6753

Merged
merged 3 commits into from
Jul 1, 2020

Conversation

bcourtine
Copy link
Contributor

Unify structure:

  • Remove xxxApiClient structures and traits.
  • Configuration is now passed as function argument (instead of being part of the client struct).

This evolution makes much easier the sync/async switch since structure and signatures are now much closer.

  • Read the contribution guidelines.
  • If contributing template-only or documentation-only changes which will change sample output, build the project beforehand.
  • Run the shell script ./bin/generate-samples.shto update all Petstore samples related to your fix. 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/config/java*. For Windows users, please run the script in Git BASH.
  • File the PR against the correct branch: master
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

cc @frol (2017/07) @farcaller (2017/08) @richardwhiuk (2019/07) @paladinzh (2020/05) @wing328

Also cc @HenningHolmDE @seunlanlege since you are currently the main rust generator users.

@HenningHolmDE
Copy link
Contributor

@bcourtine I really like the unification! It makes changing between sync and async depending on your needs much easier. 👍

I tested a few generator settings (sync/async, single/multi param) with my project and besides from library: hyper (as mentioned above) everything seems to work fine for me.

Co-authored-by: Henning Holm <git@henningholm.de>
@seunlanlege
Copy link

is it possible to add the schema documentation to the methods?

@bcourtine
Copy link
Contributor Author

@seunlanlege I think this is not related to current PR…

It can eventually be done in another PR, but I don't understand what you mean by "add the schema to the methods". Would you have an example?

@seunlanlege
Copy link

oh I meant the API documentation for the methods.

@bcourtine
Copy link
Contributor Author

@seunlanlege Since it was not a big deal, I added API method comments in current PR. You can try it out.

@seunlanlege
Copy link

tested and works as advertised 🙏

@wing328 wing328 added this to the 5.0.0 milestone Jul 1, 2020
@wing328 wing328 merged commit fa72c63 into OpenAPITools:master Jul 1, 2020
jimschubert added a commit that referenced this pull request Jul 3, 2020
* master: (142 commits)
  update python samples
  clarify direction of py client side validation flag (#6850)
  fix erronous cmd arg example for docker in readme (#6846)
  [BUG] [JAVA] Fix multiple files upload (#4803) (#6808)
  [kotlin][client] fix retrofit dependencies (#6836)
  [PowerShell] add more fields to be customized (#6835)
  [Java][WebClient]remove the dead code from java ApiClient.mustache (#6556)
  [PHP] Better handling of invalid data (array) (#6760)
  Make ApiClient in retrofit2 be able to use own OkHttpClient (#6699)
  mark python2 support in flask as deprecated (#6653)
  update samples
  [Java][jersey2] Add a getter for the User-Agent header value (#6831)
  Provides a default nil value for optional init parameters (#6827)
  [Java] Deprecate feignVersion option (#6824)
  [R] Enum R6Class Support, closes #3367 (#5728)
  [Rust][Client] Unify sync/async client structure (#6753)
  [php-ze-ph] Set required PHP version to ^7.2 (#6763)
  [Java][client][native][Gradle] Add missing jackson-databind-nullable (#6802)
  Improve sttpOpenApiClient generator (#6684)
  Update docker-tag-latest-release.yml
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants