-
-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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 Server] Hyper 0.13 + Async/Await support #6244
[Rust Server] Hyper 0.13 + Async/Await support #6244
Conversation
Upgrade dependencies to Hyper 0.13 and use async/await.
futures = "0.1" | ||
swagger = "4.0" | ||
futures = "0.3" | ||
swagger = "5.0.0-alpha-1" |
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.
This is an alpha release, mainly because the Hyper 0.13 code here is so new. I'll cut a 5.0 release of swagger prior to 5.0 of OpenAPI Generator being released, and update this to match.
It was ready to merge, but the recent changes to master would require significant additional work. Server is not required to be clone, think Context wasn't either, so might be useful to look at that. You might also want to look at https://crates.io/crates/hyper-multipart-rfc7578 for multipart, to remove the hyper 0.10 and related dependencies. |
Generated cargo files aren't valid, due to examples not having path.
[edit] Existing generations needs to have examples/client and examples/server directory removed. Might be a note for upgrade. [edit2] Actually seems like they are still getting generated, and thus the cargo generated is invalid. |
Withing server, hyper_tls is not found
|
@dbcfd I've fixed up the issue with hyper-tls - but I can't reproduce the issue you are seeing with the examples? The examples are the standard multi-file examples described in https://doc.rust-lang.org/cargo/guide/project-layout.html Should look like:
or for an API without callbacks:
and the Cargo.toml snippet is standard as well:
as per https://doc.rust-lang.org/cargo/reference/cargo-targets.html#examples |
* master: [PS] Refactor the http signing auth with ecdsa support (OpenAPITools#6397) [Rust Server] Hyper 0.13 + Async/Await support (OpenAPITools#6244) [Rust] set supportAsync to true as the default (OpenAPITools#6480) [php-symfony] Set required PHP version ^7.1.3 (OpenAPITools#6181) update doc [csharp] Rename netstandard to netstandard1.3 (OpenAPITools#6460) feat: support deprecated parameters for typescript-axios generator (OpenAPITools#6475) [REQ][typescript-axios] useSingleRequestParameter should mark parameter optional if all properties are optional (OpenAPITools#6477) better struct alias in rust (OpenAPITools#6470) Migrate Go server samples to OAS 3 only (OpenAPITools#6471) [Rust][reqwest] add async support (OpenAPITools#6464) [codegen][python-experimental] Composed schema with additionalProperties (OpenAPITools#6290) [Java] Decommission Retrofit 1.x support (OpenAPITools#6447) remove scala oas3 samples (OpenAPITools#6446) [Java][jersey2] Fix RuntimeException when HTTP signature parameters are not configured (OpenAPITools#6457) [Java][jersey2] Improve http signature code comments (OpenAPITools#6463) [typescript-angular] drop support of angular below 6.0.0 (OpenAPITools#6360) [cli] new 'author template' command (OpenAPITools#6441) python-experimental updates ancestor + adds descendant discriminator tests (OpenAPITools#6417)
* master: (36 commits) Improve handling spaces in example command (#6482) fix maven plugin snapshot version comment out erlang server test (#6499) Migrate Perl samples to use OAS v3 spec (#6490) [core] Refactor templating management (#6357) migrate apex samples to use oas3 spec (#6488) add new file in php-symfony sample [PS] Refactor the http signing auth with ecdsa support (#6397) [Rust Server] Hyper 0.13 + Async/Await support (#6244) [Rust] set supportAsync to true as the default (#6480) [php-symfony] Set required PHP version ^7.1.3 (#6181) update doc [csharp] Rename netstandard to netstandard1.3 (#6460) feat: support deprecated parameters for typescript-axios generator (#6475) [REQ][typescript-axios] useSingleRequestParameter should mark parameter optional if all properties are optional (#6477) better struct alias in rust (#6470) Migrate Go server samples to OAS 3 only (#6471) [Rust][reqwest] add async support (#6464) [codegen][python-experimental] Composed schema with additionalProperties (#6290) [Java] Decommission Retrofit 1.x support (#6447) ...
poll_ready
to expose API busy-ness - this is optional.async_trait
, and all methods are async.MakeService
andService
are now atower::Service
s.async_trait
workstower::Service
doesn't useasync_trait
, so this doesn't just fall out.This resolves #3865
Rust Server Technical Committee
PR checklist
./bin/
(or Windows batch scripts under.\bin\windows
) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{LANG}-petstore.sh
if updating the code or mustache templates for a language ({LANG}
) (e.g. php, ruby, python, etc).master
,4.3.x
,5.0.x
. Default:master
.