* [Rust Server] Sort operations so that the ones with fewest params come first
This resolves things correctly per
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.3.md#pathsObject
- "When matching URLs, concrete (non-templated) paths would be matched
before their templated counterparts."
* Update samples
* [Rust Server] Fix tabs vs spaces
---------
Co-authored-by: Rob Day <Robert.Day@metaswitch.com>
* [Rust Server] Allow configuration of multipart/form attachment size limit
multipart 0.14+ imposes a 8MB size limit on multipart/form bodies.
This allows that limit to be configured. The default is left as is.
This also improves error messages produced when handling multipart/form bodies.
* Update samples
* Add externCrateName property to rust hyper client
This is follows the lead of the rust hyper server generator and provides
an externCrateName. This is because the crate name used for importing
can be different from the package name, because dashes `-` get converted
to underscores `_`.
This allows us to write example code in rustdoc that compiles
successfully.
* Get the rustdoc examples to actually compile
* Make rust hyper client thread safe
* Fix compile time issue with reqwest client test
* Add a test for thread safety
* Generate rust hyper samples
* Use https for petstore api to fix client tests
http://petstore.swagger.io/v2 is 301 redirecting to
https://petstore.swagger.io/v2 and this is breaking posts to the API.
When the client recieves a redirect it does not resend the POST data,
instead it switches to GET. This is in line with how browsers behave
when encountering a 301 redirect on a POST request.
* Make rust hyper client structs `Sync` too
This trait is also helpful in making the api work well with threads.
* Use a getCrateName function instead of adding more state
* update samples
---------
Co-authored-by: Krishna Rajendran <krishna@emptybox.org>
* Fix server-writing docs for rust-server
Fix broken link in generated README for rust-server.
* Update samples
---------
Co-authored-by: Keith Wansbrough <Keith.Wansbrough@metaswitch.com>
* Suppress Pattern annotation on property of type byte array
Signed-off-by: Tim Quinn <tim.quinn@oracle.com>
* Straggler files from generated samples
* Add new format test to workflows
---------
Signed-off-by: Tim Quinn <tim.quinn@oracle.com>
* manually update version in documentation, remove camel.xml
... because it has the wrong generator version, it has the wrong generator name (should be "java-camel"), the generated code doesn't compile - and then I didn't check further
* improve automatic version updating
* fix one more Readme link
* update docker stats again
* Fix#16362
* Update samples
* Undo formatting changes
* Revert whitespace changes in samples
* make it work
---------
Co-authored-by: Jason Boileau <jason@boileau.dk>
Co-authored-by: Jason Boileau <spraot@users.noreply.github.com>
This allows overriders to have full access to the response object and
more finely control the error handling behavior.
For example, this enables the specification of a proper Content-Type in
case of custom format responses (application/json, ...)
* python-asyncio: update retry factors for actual exponential retries
As per the `aiohttp-retry` library's code[^1], the timeout is
```python
timeout = self._start_timeout * (self._factor ** attempt)
```
This means the previous setting with "start_timeout=0.0" would have
always just retried right away (0 timeout) regardless of the "factor" value,
and also, "factor=0.0" would never have increased the timeout, rather it
would have resulted in a 0 timeout regardless of the value of "start_timeout".
This double-zeroing effectively rendered exponential backoff to nothing (rather than
"retries" number of retries in quick succession.
The update is a quick fix to set the same default as in `aiohttp-retry`. In
the future this should likely be configurable (through extra Configuration settings perhaps?),
as not all APIs are created equal, but this works as a quick fix for making retries more effective.
[^1]: ba2169891f/aiohttp_retry/retry_options.py (L38-L65)
* updated example
* [Rust Server] Fix code so examples compile
Zero length arrays don't correctly type infer, so if we have no scopes, we need to not create a empty array
We need an authentication middleware - without it the code doesn't compile.
* Update samples
* [Rust Server] Remove trailing whitespace
* Update samples
* [Rust Server] [CI] Build all targets
* [Rust] Fix reqwest test
* [typescript][angular] move api version from header license info to readme
* [typescript][angular] move api version from header license info to readme
* Update HttpRequest.cpp.mustache
Use stable 4-parameter connect
* add generated files
* Revert "add generated files"
This reverts commit 1d4e78aa0d42208b576354276c274000c29863f9.
* catch download progress in HttpRequest and pass it to api
* Update HttpRequest.cpp.mustache - clean mixed in changes
Removed additional changes from other PullRequest
* Update HttpRequest.cpp.mustache - replaced tabs by spaces
* Update api-header.mustache - replaced tabs by spaces
* Update HttpRequest.h.mustache - replaced tab by spaces
* ran step 3 from Linux
* changed downloadProgress to -nickname-DownloadProgress and added it to all regions where execution finish is connected
* ran step 3
* replaced tab by spaces
* ran step 3
* activate tracing to detect link issue
* removed redundant connects and encapsulated changes in {{addDownloadProgress}}
* added generated files from step 3
* remove cli-option for httprequest - this should be always there
* added files from step 3
* improved name
* Update samples-cpp-qt-client.yaml - fix parameter order
* Update samples-cpp-qt-client.yaml
* Save work-in-progress
* Incoming param handling generating well exc. for file upload
* Revise generated test for v3 vs v4 differences
* Leave details of multi-part handling to the user for now
* change default version to use the highest version known
* SE client changes for Helidon 4
* A few fixes; add new v4 SE samples
* Fix v3/v4 routing prep
* Improve version handling if web site is inaccessible; add test
* Reworking parameter conversion and required and validation handling
* Add generation of a return value record per response for each operation
* Improvements to the result record generation
* More changes
* Remove change in whitespace in v3 output
* More progress on parameter handling
* WIP - refactor parameter-returning methods to inner class along with return records
* Reorg of op helpers
* Use no-op for handling map in path, query, header, cookie - need to revise later
* Binary form param handling
* Clean-up and consistency check bt useAbstractClass and not
* Improve result builders
* Add new samples files
* Fix a few issues
* Update samples after rebase; add build steps for v3 and v4 uac github actions
* Remove v3 se useAbstractClass test - creates some bad code
* Generated doc updates
* Fix missing newline
* Improve Javadoc for generated Result; add convenience Result.send method
* Add bean val. for body param if needed
* Restructure generated records for declared responses; add Generated annotation selectively
* Fix typo
* In sample generation, force a stable generatorVersion value to avoid confusing builds and up-to-date samples checking
* Fix up white space in older generation
* Generate PartsUtils only with useAbstractClass = true
* Adopt some review comments; more to come
* Review comments; notably, switch to using the first path segment to group operations rather than the tags items
* Improve status handling a bit
* Add new generated sample files
* Add missing new samples files
* Quite a few updates, esp. to generated samples
* New config file for sample
* Updates samples
* Add updates to .openapi-generator/FILES contents
- async should never be blocked on the ApiClient
To fix we invert the logic and use Task as base and keep consistency, we expect and wait result only on synchronous calls.