* fix(cpp-qt): Fix enum query parameter serialization for both inline and referenced enums
For enum query parameters, the template was incorrectly using asJsonObject()
which returns {"value": "enumValue"} and then iterating over keys, using
"value" as the parameter name instead of the actual parameter name.
This fix adds special handling for both inline enums (isEnum) and referenced
enums (isEnumRef) to use asJson() directly, which returns the correct enum
string value for URL serialization.
Fixes enum query parameters like ?scope=property instead of ?value=property.
Completes the fix started in PR #21211 which added the asJsonObject() method
to make enum code compile, but the template logic was still incorrect for URL
query parameter serialization.
Note: The petstore samples don't contain enum query parameter tests to
demonstrate this fix (they use string arrays). Future contributors may want
to add enum query parameter examples to better showcase this functionality.
* add tests for enum inline, ref for query parameters
* update cmake version to 3.5
---------
Co-authored-by: Sohaib Athar <sohaibathar@gmail.com>
* Add MCP server support to apiService.mustache
Refactor apiService.mustache to include MCP server support and enhance operation methods.
* Update samples
* update samples in wsl
* remove useless import when mcp is disabled
---------
Co-authored-by: RL6172 <thibaut.rety@external.engie.com>
* Support JsonNullable in JaxRS-spec
* Add sample files that are now modified (new import)
* Fix build issue with jaxrs-spec-microprofile-openapi-annotations sample
The enum constants may be backtick-escaped reserved words (e.g. "DocumentDisposition.`inline`"). Mustache html-escapes the backticks, leading to invalid code such as "DocumentDisposition.`inline`".
This change adjusts all Kotlin client Mustache templates to pass the values through as raw values.
openapi-generator still uses methods that have been removed from urllib3
v2.6.0. The solution is as described in urllib3's changelog:
> Removed the HTTPResponse.getheaders() method in favor of
> HTTPResponse.headers. Removed the HTTPResponse.getheader(name,
> default) method in favor of HTTPResponse.headers.get(name, default).
> (#3622)
See https://urllib3.readthedocs.io/en/latest/changelog.htmlClose#22514
* [cpp][pistache-server] Add extraction and forwarding of credentials for HTTP Basic protected endpoints.
* [cpp][pistache-server] Change HTTP Basic credentials to be contained on a struct instead of two std::strings
* [cpp][pistache-server] Add callbacks to authenticate http basic credentials.
* [cpp][pistache-server] Add `void* userdata` to HttpBasicCredentials.
This allows for data ft be passed on from the authenticator to the
handler implementation. For example a userid that has already been
looked up
* [cpp][pistache-server] Add support for HTTP Bearer authentication.
* [cpp][pistache-server] Add new file `api-base-source.mustache`
`api-base-source.mustache` contain implementations of security
related methods and also the empty constructor.
* [cpp][pistache-server] Add re-generated samples.
* Fix PR 19978: Updated indentation levels and fixed test problems
---------
Co-authored-by: Morten Winkler <morten@winkler.dk>
Passing `stringEnums=false` was incorrectly treated as `true`. This went unnoticed since the default behavior works as expected. Made the logic consistent with `typescript-axios`.
* fix(java): add header parameter handling for google-api-client
Header parameters defined in OpenAPI specs were being accepted as method
parameters but never actually added to the HTTP request.
Fixes#22457
* update samples
* minor enhancement
---------
Co-authored-by: artnan <artn@outlook.com>
* [kotlin] Make API classes open (non-final) unless nonPublicApi is used
By making those classes open, AspectJ can be used to enhance their
behavior.
I'm not changing kotlin-multiplatform templates, where 'open' was
already present before my changes.
Closes#22271
* Fail Kotlin sample compilation if API classes stop to be public
Serves as a 'regression test'.
* Generate skeleton for new integration test
* Typescript-angular: Move query param deep-object test
* typescript-angular: Add query param JSON test
* Typescript-angular: Add query param form test
* Test for #20998
* typescript-angular: Reimplement query param serialisation
This notably fixes:
- JSON query param serialisation
- array serialisation with style=form and explode=true
As the class HttpParams from Angular is specially designed for the
mimetype: `application/x-www-form-urlencoded` it does not support
the range of query parameters defined by the OpenAPI specification.
To workaround this issue, this patch introduces a custom
`OpenAPIHttpParams` class which supports a wider range of query param
styles.
Note that as `HttpClient` is used afterwards, the class
`OpenApiHttpParams` has a method to convert it into a `HttpParams` from
Angular with a no-op HttpParameterCodec to avoid double serialisation of
the query parameters.
* update samples
---------
Co-authored-by: Vladimir Svoboda <vsvoboda@forkoder.eu>
* fix: do not add dependency on urllib3 if not required
* update samples
* remove import
---------
Co-authored-by: Sascha Kreutz <saschakreutz@hotmail.de>
* remove "async" and "responseWrapper" from template as these are not supported by kotlin-spring generator
* try to force pipelines rerun
* force pipelines rerun
* fix mustache to keep generated code identical
* Revert "fix mustache to keep generated code identical"
This reverts commit c573b43401.
* Reapply "fix mustache to keep generated code identical"
This reverts commit 2c3b065c5c.
* Add support for 'useResponseEntity' in kotlin-spring. Consolidate with the separate flag 'declarativeInterfaceWrapResponses' as these can now be controlled both by one flag. Default to true.
* fix status annotation and add compile-test samples
* satisfy samples-up-to-date check
* add unit tests covering both reactive and non-reactive
* fix template to avoid unnecessary empty line
* fix template to avoid unnecessary empty line
* put method params (if present) on separate lines to improve readability
* put method params (if present) on separate lines to improve readability; fix double spaces, spaces before comma, incorrect spaces
* fix test
* store PATHs as accesible strings in companion objects.
* fix missing import
* fix incorrect import
* fix fallback to nested placeholders.