* Ensure that generic JSON bodies are correctly autogenerated
Generates valid Rust for an arbitrary JSON response body of type `object` with no other schema.
* update samples
* remove string boolean map spec
* add logic to skip array alias being generated as model
* fix alias to array
* remove unused ruby files
* remove unused ruby (oas3) files
* unalias response schema
* fix NPE when no model defined
* fix ruby openapi3 script
* update samples
* add global openapi, schemas for unaliasing
* minor code cleanup/refactoring using globalSchemas
* Revert "minor code cleanup/refactoring using globalSchemas"
This reverts commit 20a2bbc6fc4267a0e0768dcf5f15d4194ce9647b.
I think these tests cover all the problems with rust-server and inline objects I know about. This should show us when we've fixed the problem.
Also fixes a CI failure.
Builds on #1180 by @colelawrence. This addition to the rust-server generator enables the use of text/html responses as plaintext.
I've added an html endpoint to the sample to demonstrate that this works (and fixed the problem that that uncovered).
This MR allows package version to be specified in Rust in the generate argument list, with the argument `-DpackageVersion=<package_version>`. If this argument is present then the version in the resulting Cargo.toml file will be the passed value. If this argument is not present then the version in the OpenAPI definition file will be used, as per current behavior.
Update to version 2 of the `swagger` crate, which contains changes intended to make it easier to debug errors involving middleware and contexts. Crates making use of the autogenerated libraries to also update their swagger dependency to version 2. See [here](https://github.com/Metaswitch/swagger-rs/blob/2.0.0/CHANGELOG.md) for details.
* Restore support for nullable in rust-server
Accounts for changes in https://github.com/OpenAPITools/openapi-generator/pull/930. Adds a nullable field to the sample to reduce the risk of this regressing again in future.
* Add test for required nullable field
* Ignore additionalProperties
rust-server doen't yet support them, and they cause quite a bit of havoc at the moment (ending up as the `HashMap` type).
* Use .equals() rather than `==`
* Add support for multiple rust-server samples
Though we only have the one as yet. This will make it easier to move rust-server back on to the main test spec, whilst preserving the ability to have rust-specific test specs.
* Rust samples need unique names
* Move samples to a dedicated directory
So that there is nothing else in the folder where they live so that the workspace definition in the root Cargo.toml can be simple.
* [rust-server] drop 'file' support
In swagger v2, we had 'binary', 'byte', and 'file'. OpenAPI v3 only has
the former two. This commit drops the old 'file' handling. This has the
side-effect of removing a half-complete implementation of form parameter handling.
This removes the ability to send files as streams, so will make life
harder for those wishing to send large files without running out of
memory.
* Remove all remaining uses of `hasFile`
* Generate RequestParser trait to allow retrieving operation ID in middlewares
* Update function name
* Fix incomplete comment
* Add comment poitning out auotgenerated duplication
* Final generation of sample scripts
* MMORCH-913 - Allow passing wrapped hyper clients to codegen
* Deprecate old API for back-compatibility rather than removing it
* Actually test Rust-server example integrations
* First attempt at getting rust-server working
* Solve the problem of spurious 'object's
* We've found the missing models
* Catch some single-var objects correctly
* Get single-param models 'working'
* Got files working
* Remove surplus logging
* Disable some things to get it compiling
* `cargo test` now passes as well
* Create rust-server-specific petstore.yaml
We've commented out a few bits that rust-server doesn't yet support
* Remove commented-out code
And finally get rid of the generation date in the sample