* Fixes for ze-ph:
- fixed gathering of required properties for query data model
- fixed setting of internal vendor extensions for query data model detection
- fixed small typo in generated README
* Updated samples for ze-ph fixes
* restore elixir petstore original from codegen2x
* update elixir generator to work with oas2
* minor fix to elixir generato
* minor enhancement to templates
* update elixir petstore with oas2
* update rust client with petstore oas2
* update rust with oas2 petstore, fix default value
* fix type mapping for file, update api_doc for rust client
* update rust client with oas3
* restore scalatra from codegen
* regenerate scalatra oas2 petstore, fix defaut value
* better code format for scalatra
* more format fix for scalatra
* update scalatra parameter template
* Fix missing default value of form param
* Update php sample with OAS2
* Update php sample with OAS3
* Delete quotes as default value may have integer
* Update php samples with OAS2
* use toDefaultValue() in order to apply the decoration rules of generator
* Update php samples with OAS2
* Tweak: add quotes only if example is null
* Update php sample with OAS2
* Update php sample with OAS3
* [haskell-http-client] fix codegen issues
* ensure datatypeWithEnum is set on codegenParameter when is enum
* [haskell-http-client] fix isAlias + arrayModelType missing "datatype"
* [haskell-http-client] param.isListContainer is sometimes false for list types
* [haskell-http-client] gen MimeNoContent instances automatically
* [haskell-http-client] fix example-app and integration tests
* [haskell-http-client] update docs
* Update php client with OAS3
* Fix content type
the endpoint consumes 'application/x-www-form-urlencoded'
* Regenerate php client from OAS3
* Update the test case according to the fix on spec
* Update php client with petstore OpenAPI v2 spec
bin/php-petstore.sh
* Change order of arguments according to the changes that auto-generated codes
* Fix 'FakeHttpClient not found' error
It has occured when run the test case separately like below.
"vendor/bin/phpunit tests/RequestTest.php"
* Update assertion according to a change on spec
* Update assertion
* restore pistache from codegen 2.x
* update pistache samples with oas2
* update pistache with oas3 petstore (no diff)
* restore datatype for array of model
* update pisache server scripts
* Revert "restore datatype for array of model"
This reverts commit 3b949a3873f3fca78311065173eda26e786dedec.
* fix array of models in method signature
* restore go server petstore from codegen 2x
* update go server petstore (oas2) - no diff
* update go server samples (oas3)
* add go petstore server script
* update dynamic-html samples with oas2
* update dynamic-html oas3 (no change)
* update html petstore (oas2)
* update html petstore with oas3
* fix example value for form parameters
* fix javadoc string
* update objc petstore with oas2, fix default value for parameter
* update objc petstore with oas3 spec
* update objc core data oas2
* update objc petstore with oas3
* update nodejs server oas2
* update nodejs server petstore with oas3
* update nodejs google cloud with oas2 petstore
* update nodejs server google function with oas3
Co-authored-by: Akihito Nakano <sora.akatsuki@gmail.com>
Co-authored-by: Jeremie Bresson <dev@jmini.fr>
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
Co-authored-by: Martin Delille <martin@phonations.com>
Co-authored-by: Tomasz Prus <tomasz.prus@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Small fixes to prevent crash when empty json body is provided.
* Fix some more memory Leaks in the model-body
- Members not deleted in cleanup() method, for maps/arrays of primitive types.
- Avoid undefined behavior when updating class members with data from missing json fields
* Add overloaded method to take an InputStream for the request body, and fix a bug with collections
* Use fully qualified name for InputStream to avoid potential conflicts
* Add support for Input Stream choosing content type, and fix a bug
* Ensure GET requests send an empty request body!
* Improve: update sample tests automatically
* security test
* Update sample
- bin/php-petstore.sh
- bin/security/php-petstore.sh
The security test has not been updated for a while.
* Small fixes to prevent crash when empty json body is provided.
* WIP: plug mem-leaks
* fixup: add the QJsonObject instance in toJsonArray instead of pointer
* fixup: simplify toJsonMap
Actually the original solution is incomplete, because "innerType" maps to a single C++ type. Have a look at Qt's builtin QJsonObject::fromVariantMap.
* Updates to antis81:patch-1 after tests.
* update to remove string allocation
* Updates due to address of members being passed
* Update PetStore Examples
* Small updates for Header includes
* Add path & file separator (/) to return the correct path
Add the separator between the tempFolderPath and the sanitized filename so that the path to the file is correct.
(Fixes#7670)
* Remove separator from generated file
* Add separator
Add the separator between the tempFolderPath and the sanitized filename so that the path to the file is correct.
(Fixes#7670)
* Update sample code
Via ./bin/php-petstore.sh
* Added genericModelSubstitutes if using Optional
As per https://github.com/springfox/springfox/issues/1848 Doesn't seem to fix the problem, but is what springfox recommends so might be aprt of it.
* Added config package to scans
If you have defined apiPackage and basepackage (e.g. as com.example.api) but not defined configPackage then config is still in io.swagger.config and is not included in the component scan. This means the config is not used when generating the swagger definition from the code. Fixed by including configPackage also in the scan.
* Ran spring-all-pestore.sh update script
* Converted tabs to spaces
* Ran spring-all-pestore.sh update script
* [Java][retrofit2] Fix for issue #7446: file upload sets filename as baseName instead of a dynamic filename. The solution is to use okhttp3.MultipartBody.Part instead of RequestBody in formParams template.
* Changes corresponding to review comments
* Petstore Samples
* Fixed tests
* Regenerate PetApiTest, OrderTest
The same test code as deleted is in the 'tests' directory.
* Move test code 'test' -> 'tests', and Regenerate test/Model/PetTest.php
* Regenerate 'test' directory
rm -rf samples/client/petstore/php/SwaggerClient-php/test && bin/php-petstore.sh
* Replacing calls to dataTaskWithRequest:completionHandler:
In objc ApiClient-body.mustache, replacing calls to AFNetworking's deprecated `dataTaskWithRequest:completionHandler:` with calls to `dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler:`.
* Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change: ./bin/objc-petstore.sh and ./bin/security/objc-petstore.sh
* fix issue-7453; make jersey 2 generated code thread safe by following the withHttpInfo pattern used by many other generated clients
* fix issue-7453; make jersey 2 generated code thread safe by following the withHttpInfo pattern used by many other generated clients
* Added support for application/xml content-type for GO language
Issue #7463
* Added test scripts for Go lang "withXml" feature
* Added samples for Go land "withXml" feature.
* "withXml" feature for Go language is only available for client.
* [csharp] ctor params should always be camelCase
After PR #6305, var names defaulted to PascalCase results in constructor
arguments also being PacalCase. Model properties and constructor
arguments have no reason to be the same case, and in fact may cause
issues (`name = name` will result in a compilation error).
This commit forces all constructor params in models to lowerCase.
This is a necessary change, for instance, if client SDK consumers assign
using named args:
var a = new Model(first = "", second = "")
The PacalCase default and update to constructor arg casing will break
existing consumers of the client.
See #7070 for more details and discussion.
* [csharp] Regenerate samples
* [csharp] Remove client models generated from a different spec.
* [csharp] Escape reserved words on camelcase/lowercase lambdas
* [csharp] Regenerate samples
* Fix the GNAT project for the client and server to avoid using unecessary projects on
the client side
* Define a minimal configuration for user and application definition
* Fix the server skeleton to emit the response only when the status code is 200
* Fix the Ada petstore GNAT project
* fixing "decoding Unicode is not supported" error for py2 when data is unicode
* allowing nonstandard methods for tornado python client.
* Making sure to return unicode when needed
Using the option `taggedUnions` will create a union type for each parent
type instead of extending interfaces. The union types are tagged by using
the discriminator values.
And also:
* Add support for aliases;
* Add support for read-only properties.
* Rest-assured http client has been added
ApiClient has been added
@Deprecated has been added for operation
{{{returnType}}} has been fixed
build.gradle.mustache, build.sbt.mustache, api_doc_mustache has been added
Samples has been added for rest-assured
Useless supporting files has been removed for rest-assured
Sample has been added for rest-assured
* Tests has been added
* Doc and tests has been fixed, JSON.mustache moved to common
* Issue 7440 Added support for returning response in jaxrs-spec interfaces.
* Issue-7386 Updates samples for jaxrs-spec interfaces introduced in issue 7386.
- add new config options:
cabalPackage
Set the cabal package name, which consists of one or more alphanumeric words separated by hyphens
cabalVersion
Set the cabal version number, consisting of a sequence of one or more integers separated by dots
baseModule
Set the base module namespace
requestType
Set the name of the type used to generate requests
configType
Set the name of the type used for configuration
* Fix calling the 'Call' procedure to submit the request for the Ada client when a request
has form parameters
* Rebuild the files by running bin/ada-petstore.sh
* Ada generator generates "=>" (correct syntax) instead of "->". Fixes#7450
* Updated the Ada petstore samples
* Committing "VERSION" file and the rest of the petstore samples
* Redone the algorithm to sort the models by their dependencies, to create correct *-model.ads files.
To fix#7485
* changed tabs into spaces
* [tools] Make sed in new.sh more cross-platform
The -r option passed to sed is a GNU sed option for extended regex
evaluation. The -E option evaluates the same option, and is part of the
POSIX standard, meaning this option is available in GNU sed as well as
Apple's BSD variant.
This commit removes the need for users to install gnu-sed on Mac.
* [ktor] Initial ktor (kotlin-server)
This adds a very barebones implementation for a ktor server generator.
This supports metrics and typed locations. All endpoins are stubbed to
return HTTP/1.1 501 Not Implemented.
* [ktor] Initial sample
* [ktor] Adding options for select feature installs
Options available:
* featureAutoHead
* featureConditionalHeaders
* featureHSTS
* featureCORS
* featureCompression
* [ktor] Start of auth functionality
* [ktor] API key auth placeholder
* Add basic support for oauth2 configurations
ktor doesn't seem to explicitly accept oauth flow properties in its
configuration object. This may be a blocker for 'implicit' flow
definitions.
* Added example response objects
* [ktor] Route for apis with bodies, some cleanup
ktor locations are only supported for routes with path/query parameters.
Routes with body or file parameters must be declared with traditional
route api.
This commit also includes lambdas for simplifying processing in
library-based server generator code. As an example, ktor requires
lowercase http methods while spring (a potential future generator)
would require an uppercase such as HttpMethod.GET. It doesn't make sense
to modify these in the operations post-process method because that
format wouldn't be universally desirable.
The lambdas included in the KotlinServerCodegen:
* lowercase: converts all text to lowercase
* uppercase: converts all text to UPPERCASE
* titlecase: converts words (with configurable delim) to Title Case
* indented|indented_8|indented_12|indented_16: these helpers apply the
same desired indent to all lines of an included fragment's text.
* Fix some javadoc issues in lambda classes
* Update kotlin-server-petstore.bat
Change `kotlin` to `kotlin-server`
* Fix javadoc error messages in CI
* add luarocks spec
* remove trailing spaces
* remove rockspec filename option
* update lua rockspec
* update rockspec based on feedback
* remove configuration which is not needed
* remove api_client, which is no longer needed
* Build sample prior to code changes so differences are easier to decipher
* Add byte array type adapter for okhttp-gson (java8 only)
* Unit revealed that Gson (or GsonFire) defaults to escape = (equal sign) out of base64 string. Add disableHtmlEscaping() to gsonbuilder.
* Update specs and samples to include format=byte and include junit test of byte array serialization and deserialization.
* Implement recommendations by @cbornet including: Use okio.ByteString for base64 conversions instead of java 8 lib since the okhttp-gson client already includes okio. Remove setting to disableHtmlEscaping. Rename LocalByteArrayAdapter to ByteArrayAdapter.
* Update spec and sample for java okhttp-gson library client
* Undo addition of profilePhoto property. A format byte property is already available under the format_test definition.
* Put previously deleted tests back. Modified testFindPetsByTags() to verify exception since the server now returns a 500 for this request.
* Update test to pass when run against docker containerized server swaggerapi/petstore (heads up, this test fails if calling out to the internet published version of http://petstore.swagger.io)
* Split up model template into partials
* Change models from class to struct.
This fixes issue https://github.com/swagger-api/swagger-codegen/issues/6941.
In this change, we make our Swift4 generated model objects struct instead of class. However, in order to do this, we needed to handle the following edge cases:
* Inheritance and polymorphism (allOf)
* With classes, we use inheritance. So therefore, the parent properties are ONLY on the parent generated class, and the model object which derives from the parent class picks up those properties through inheritance.
* However, structs do not support inheritance. So we simply duplicate the parent allOf properties in the child struct.
* We have to handle the case where the property name on the struct may be different than the property name in the JSON. By default, the Codable protocol assumes that the JSON property name is the same as the struct property name. If they need to be different, then we generate a CodingKeys string enum, which contains the mapping between struct property name and JSON property name.
* additionalProperties. We cannot use the default Codable implementation for the additionalProperties, since it will look for an actual dictionary called "additionalProperties" in the JSON. Therefore, for model objects which have additionalProperties, we must generate our own implementation for the Decodable and Encodable protocols.
I have run ./bin/swift4-all.sh and ./bin/swift4-test.sh to re-generate all of the sources, and I have verified that the generated code in samples/clients/test/swift4/default builds and the unit tests pass.
* Update VERSION in .swagger-codegen
* Update generated code for swift4-test schema
* #7365: use enums string / number literals for request parameter if it is an enum
* #7365: use enums string / number literals for request parameter if it is an enum
* #7365: use enums string / number literals for request parameter if it is an enum
* #7365: improve docs
* #7365: move code to AbstractTypeScriptClientCodegen, remove redundant code in TypeScriptAngularClientCodegen, change type Object to Number in numericEnumValuesToEnumTypeUnion()
* #7365: move code to AbstractTypeScriptClientCodegen, remove redundant code in TypeScriptAngularClientCodegen, change type Object to Number in numericEnumValuesToEnumTypeUnion()
* #7365: allow parameter data type customizations
* #7365: re-enable disabled unit test assertions
* #7365: remove enum handling from type declaration generation
* #7365: generate all typescript samples
* #7365: re-enable disabled unit test assertion
* copy mustache templates from dart generator
* Start with generator by copying the DartClientCodegen for now
* at least we know this is not for a browser..
* First working version for a simple swagger configuration
* remove browserClient parameter, since it doesn't make sense for flutter
* Take care of complex types to support object hierarchies
* add null safety
* add small test for options
* add flutter-petstore scripts
* generate flutter petstore output
* Add new flutter test project
* move generated client to make it usable
* use generated swagger petstore plugin
* add support for lists of objects
* add DateTime support
* fix listFromJson implementation
* fix NPEs in DateTime operations + place order in sample
* Small readme changes
* bugfixes
* Use flutter-compatible implementation as default dart implementation
* fix generated samples
* Make lists serializable, now all dart test cases are working again
* better list implementation
* use StringBuffer
* removed FlutterClientCodegen
* fix browser client
* fix dependencies
* swagger-browser-client for browserClient testcases
* fix scripts
* removed flutter scripts
* add map support and simplify code via using .toJson contract
* remove unneeded devDependencies
* Regenerated samples
* fix call to mapFromJson, it is not a constructor
* remove pointless string serialization
* regenerated dart samples
* update for ze-ph generator stub to support Zend Expressive 2.1 and Path Handler 0.3
* ze-ph: for each operation generator creates special DTO model from its query parameters
* ze-ph: generation of extra TODO's for complex container type and update for samples
* Ada generator generates "=>" (correct syntax) instead of "->". Fixes#7450
* Updated the Ada petstore samples
* Committing "VERSION" file and the rest of the petstore samples
* [csharp] Support composition on toJson
Previous implementation assumed specification only supports polymorphic
associations (via discrimator), although the code didn't seem to be
setup correctly for that in the first place. That is, the parent object
must define the discriminator (see
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#models-with-polymorphism-support),
so NOT HAS parent AND HAS discriminator doesn't make sense.
From a C# perspective, base classes should have the method marked
virtual and derived classes should override the method. This supports
both composition and polymorphic definitions.
* [csharp] this.Configuration in api template
Unprefixed Configuration property access leads to ambiguous references
when spec defines a Configuration model.
* [csharp] Models/properties support nested arrays
Previous implementation didn't support multiple levels of array with
array items as OpenAPI spec supports. This means an object defined as
type: array with items = type: array|items=double (which is common in
GIS) would not be possible.
This implementation assumes generics in the nested type definitions, so
the above would generate List<List<double?>> for model parent types as
well as property type declarations.
* [csharp] Regenerate integration test sample
* [csharp] Set "Client" case sensitive as reserved
* [csharp] Regenerate security sample
* [csharp] Regenerate samples
* [csharp] Support composition on toJson
Previous implementation assumed specification only supports polymorphic
associations (via discrimator), although the code didn't seem to be
setup correctly for that in the first place. That is, the parent object
must define the discriminator (see
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#models-with-polymorphism-support),
so NOT HAS parent AND HAS discriminator doesn't make sense.
From a C# perspective, base classes should have the method marked
virtual and derived classes should override the method. This supports
both composition and polymorphic definitions.
* [csharp] Regenerate integration test files
* [csharp] Regenerate samples
* [csharp] Regenerate security sample
* [csharp] this.Configuration in api template
Unprefixed Configuration property access leads to ambiguous references
when spec defines a Configuration model.
* [csharp] Regenerate samples
* Fix the comparison between two model types to compare them recursively
and make sure we sort the model types according to their dependencies
* Run bin/ada-petstore.sh to update the generated Ada client samples
* Fix Ada client generated code to avoid having a spurious body name for parameters passed in the body
* Run bin/ada-petstore.sh to update the generated Ada client samples
* [erlang-client] fix body param from being included path and base path to remove host
* [erlang-client] move request logic out of api functions to utils module
* [erlang-client] add support for passing http client configuration to requests
* [erlang-client] update auth handling
* [erlang-client] remove underscore2, replacing with original underscore + replaceAll
* Add default value and required parameter support to vertx server templates. Fix for #7409.
* Added missing serviceId declaration to workaround #allParams section clearing the vendorExtensions map