aiohttp's `ClientSession` & `TCPConnector` used to obtain an event loop in
__init__ (via `asyncio.get_event_loop`). However, as of https://github.com/aio-libs/aiohttp/pull/8512 both
classes now obtain the running event loop and won't potentially create one. This
makes it impossible to create `ClientSession` and `TCPConnector` objects outside
of coroutines, as `get_running_loop` must be called from a coroutine.
Thus we defer the creation of a `ClientSession` into the actual request and
cache it for later usage. Thereby we pay only a very small price on the first
request, but subsequent requests will not be any more expensive.
* replace removed forkMode
* remove junit runner where it's not needed
* update samples without skipping test files, but skip files named "FILES"
* revert overwriting custom tests, add custom java tests to list
* add one sample to CircleCI, fix various Java tests
* chore (JAVA SPRING WEBCLIENT): Remove comments used for debugging
* feat (JAVA SPRING WEBCLIENT): Add support for useSingleRequestParameter to Spring WebClient
* feat (JAVA SPRING WEBCLIENT): Generate samples and docs
* fix (JAVA SPRING WEBCLIENT): Fix missing return error & Fix JDK17 action webclient useSingleRequestParameter test path
* fix (JAVA SPRING WEBCLIENT): Fix code indention
* fix (JAVA SPRING WEBCLIENT): Fix code indention again
* fix (JAVA SPRING WEBCLIENT): Update samples
* feat (JAVA SPRING WEBCLIENT): Regenerate after pull rebase
In the build.gradle template for the Java generator's resttemplate library, change dependency to com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-json-provider instead of com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider when useJarkartaEe is enabled. This makes it consistent with the pom template file.
* [C] Deal with binary api parameters
With this change, the bodyParameters array can also be binary, so pass
its length around instead of relying on strlen().
* [C] Fix a few remaining enum issues
* [C] Install headers and include any_type.h header
* [C] Don't require C++ to compile C code
* [C] Test binary bodies and path enums in schemas
* Update samples
---------
Co-authored-by: Sam Bingner <sam@corellium.com>
* [C] Clear the response code from previous api calls
Before making an api call, reset apiClient->response_code to zero. That
will protect us from checking stale values if the curl request fails.
* [C] Check that string arguments are not null
Check early on that the arguments are not null, to prevent crashes on
strdup() calls.
* [C] Don't attempt to fill in a type with error info
Check if the api call returned an error before attempting to parse the
reply as the expected type.
* [C] Handle binary and integer return types
* [C] Update test schemas with binary and integer return types
* Update samples
* quick edit to allow tokens to refresh if they specify an expires_in and created fields. Also supports refresh_token if that is passed.
* update samples
* fix compile error for projects without default using statement.
make the created date nullable.
* fix nullable de-reference on Created.
* fix to remove nullable reference types (the ! to remove the warning) and add documentation comments to the public members.
* Update ElixirClientCodegen.java
* Refine the regular expression for atoms
The original regex incorrectly matched `@atom` (unquoted atoms
cannot begin with @). However, through testing with `iex`, it also turns out that the atom
`:@` is legal.
The following atoms will now be quoted that would have been
incorrectly not quoted:
- `:@type`
* Add model to petstore client to test new atom creation regex pattern
* [C] Don't convert post body strings to JSON
If the body provided for the api request is a just a string itself,
don't try to convert it to JSON, simply submit the string.
* [C] Implement BearerToken authentication
* [C] Handle nullable fields correctly
* [C] Fix implementation of FromString for enums
* [C] Update the test schemas to cover the changes
* Update samples
* Fix the updated samples
* [C] Add the new samples folder to the CI workflow
* Fix#19566 implemented the missing definition of declared methods inside openapi-generator/modules/openapi-generator/src/main/resources/cpp-rest-sdk-client/modelbase-header.mustache, have also be added two missing body of methods definitions
* Regenerated cpp-restsdk client samples
* Fixed shared_ptr creation
* [cpprestsdk] Implement enum inside objects
* [kotlin-spring] Fix no List being used for an array of files using multipart/form-data
* [kotlin-spring] Use Spring's MultipartFile class for incoming Files instead of Spring's Resource class.
* [kotlin-spring] Add test to ensure that return type for files is `org.springframework.core.io.Resource`
* [kotlin-spring] Ensure Array is used for lists of files in generated Api class
* Update samples
* [kotlin-spring] Move conditional usage of MultipartFile to optionalDataType.mustache. Update samples
* update samples
---------
Co-authored-by: William Cheng <wing328hk@gmail.com>
* feat(typescript-angular): add support for Angular V19
fix#20204
* feat(typescript-angular): add options to override angular deps + refactor deps definition
add tsVersion, rxjsVersion, ngPackagrVersion and zonejsVersion options to override default config if new version of Angular is available but not yet implemented in openapi-generator
refactor Angular dependencies definition in separate readable yaml config file
fix#20204
* feat(typescript-angular): add better angular 19 exemple for ci testing
fix#20204
* feat(typescript-angular): unify tsVersion param
fix#20204
---------
Co-authored-by: Thibaud SOWA <thibaud.sowa@equasens.com>
* fix(typescript): remove incorrect file extensions
url, http, and https are Node.js core modules, and form-data
should be loaded using a bare specifier. This commit removes
the file extensions from these imports.
* update samples
* Updated README.mustache file for the Erlang server generator. Fixed one error and updated the usage instructions
Changes made to the Erlang server generator's user instructions ("README.mustache" file):
1. Corrected the argument in section 4.1 of the user instructions.
In openapi_server:start/2, the second argument for the generated Erlang code must now be in a different format than proposed in the instructions (see lines 13-16 of the "server.mustache" file).
Initially, the server failed to start, and after some debugging, I discovered that the argument format did not match the server's expectations, causing the port number not to be passed to cowboy:start_clear/3. This has now been fixed.
2. Reviewed and updated the text of the user instructions to remove any ambiguities.
3. Tested the user instructions for accuracy and completeness.
* erlang-server sample recompiled
* README fix
* Fixed README.mustache template markdown for erlang-server. Re-generated erlang-server sample.
* Update README.mustache
* Sample 'erlang-server' re-generated
* update samples
---------
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [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
* erlang-server: add jesse to app.up release
* erlang-server: remove dialyzer errors that might not be related to the program
* erlang-server: minor fixes to return types and generated docs
* C: add a template for an empty any_type.h header
Some generated C apis fail to build because the source files get
'#include "any_type.h"' lines, but no such header gets generated. As a
simple fix, add a new template for an empty file with that name. This is
enough to fix the problem for us, because all the generic type stuff is
handled by object_t.
* C: fix enums
I'm guessing that enums have not been used much with the C generator
before, because they always seem to produce code that doesn't build, or
that tries to free them after use. This patch fixes all the problems
we've encountered so far, except for those that need checking the return
type. I'll come back to that later.
* C: fix confusion of 'classname'/'classFilename'
* C: fix issues with returned enums
Currently, the C templates never check if a function returns an enum
inside mustache, so when that happens the generated code has broken
return types and doesn't build. I originally tried to fix this by
extending CodegenOperation to implement a 'returnTypeIsEnum' check, but
William Cheng suggested[1] that I use the existing 'returnProperty'
instead:
https://github.com/OpenAPITools/openapi-generator/pull/14379#discussion_r1064636735
So do that.
* C: update the samples
As required for a pull request, run the generate-samples.sh script and
commit the changes.
* update samples
---------
Co-authored-by: William Cheng <wing328hk@gmail.com>
* chore(go): add failing test for JSON marshalling
Adds a small schema (FruitJuice) which contains a required gmFruit,
which inherits using AnyOf. This fails to correctly marshal as JSON.
* fix(go): use non-pointer receiver for JSON marshal
In the case of a required anyOf property, JSON marshalling would has
been incorrect.
Required properties are not nullable, and thus always use value
receivers. For the single case of anyOf models, a pointer receiver was
used for MarshalJSON. All other instances of json marshalling use value
receivers.
This change is simply to use a value receiver instead of a pointer
receiver in the template for `MarshalJSON` on anyOf models.
---------
Co-authored-by: Per Hallgren <perhallgren@users.noreply.github.com>