* [csharp] Convert "false" properties to booleans
It appears as though "false" strings in additionalProperties are no
longer treated as false booleans. This may be an issue elsewhere, but a
simple fix is to always explicitly set the boolean value in a generator
class back to the additionalProperties map to convert boolean Strings to
boolean Objects.
* [nancyfx] Clean up async default option handling
* [nancyfx] Include asyncServer=false in sample script
* [csharp] Regenerate samples
* [csharp] Resolve .net 4 generation issues
Some functionality is missing from .NET 4.0, such as IReadonlyDictionary
and Type.GetTypeInfo().
This commit resolves compilation of generated .NET 4.0 code, requiring
no conditional versioning of Newtonsoft.Json.
* [csharp] Regenerate .net 4.0 sample
* [csharp] Resolve .NET 4.0 sample compile
Sample build.sh wasn't accounting for targeting different FCL correctly.
That is, when passing "net40" to the -sdk option, it would use the
default -sdk:4 and -langversion:6. These don't necessarily match with
what is installed on a machine with only .NET 4.0 (which is our targeted
use case here).
To resolve, we need to define another version-specific value for passing
to the mcs -sdk option (see man mcs for details).
This option currently isn't overridable in the client codegen class.
Also, langversion is set specifically to the version of C# available to
the targeted SDK version. If there is need, we may extend this to
something like:
langversion=${MCS_LANG_VERSION:-6}
To allow users to run as:
env MCS_LANG_VERSION=5 sh build.sh
I haven't done this because I doubt there's much of a use case via this
script. I'm assuming most consumers will build via IDE or MSBuild.
* [csharp] Revert bin/csharp-petstore.sh to 3.5
* [csharp] Regenerate .NET 3.5 sample
* [csharp] Resolve nuget issue with existing files
* [csharp] Update -all.sh, regenerate samples
* [csharp] Treat enum models consistently
C# works differently from most languages in that enums are not
considered objects. This means default(EnumType) will choose a default
of the first enum option. This isn't desirable because it breaks the
required = false functionality of swagger specs, which defines a
property which isn't required to exist in the message body.
Rather than force consumers to use enum values such as UNSPECIFIED, UNKNOWN,
NOT_SET, etc... we can treat enums as primitives. This means any
non-required enum will become Nullable<EnumType> regardless of whether
it is defined as an inline enum or a referenced enum model.
* Categorizing C# integration test for enums as general
* [csharp] Remove enum-ref integration test
* [csharp] Clean up general enum support integration test, validate different enum usage cases.
* [csharp][all] Assign one-based int to string enums
The EmitDefaultValue=false for string based enums will prevent the first
enum value from being serialized, because as 0 it is considered the
default.
This commit assigns an explicit numerical value to all non-integer
enums. This assignment has no effect on the
serialization/deserialization values, and only assigns the compiled
integer.
NOTE: This will have an effect of requiring recompilation of any code
that references the client/server models. This is because:
public enum Pet { Available }
Source files referencing Pet.Available as defined above will have a
constant 0 in place of the enum value.
public enum Pet { Available = 1 }
Source files referencing Pet.Available as defined above will have a
constant 1 in place of the enum value.
After compilation, Pet.Available in both instances lose their semantic
values and refer to the byte representation of their integral values.
For more info, see
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/enum
* WIP: initial commit for Erlang client generator
* add models types and function type specs
* fix type specs when models are the type and support QS lists
* make method lowercase in postprocessoperations
* add model encode function
* add erlang client sample
* add windows client sample script
* proper return type spec and handle return error messages
* remove jdk7 check
* comment out some installation
* update npm
* comment out ts angular tests
* restore ts angular2 test
* restore bash test
* add back new config, clean up commented items
* The get method template is modified to return the value of the enum instead of the enum itself.
* Update of the Petstore CXF server sample
* Update of the Petstore CXF client sample
* Update of the Petstore CXF server annotated base path sample
* Update of the Petstore CXF server non spring application sample
* adding "Read Timeout" getters and setters for the Jersey and OkHttp
based ApiClients
adding "Write Timeout" getters and setters for the OkHttp based
ApiClient
adding tests for the OkHttpClient covering the new getters and setters
* generated files from the bin scripts
* [CppRest] Replace U macro with conversion function for default string values.
* [CppRest] Replace U macro with conversion function in templates.
* [CppRest] Update cpprest petstore client sample.
* [csharp] Treat enum models consistently
C# works differently from most languages in that enums are not
considered objects. This means default(EnumType) will choose a default
of the first enum option. This isn't desirable because it breaks the
required = false functionality of swagger specs, which defines a
property which isn't required to exist in the message body.
Rather than force consumers to use enum values such as UNSPECIFIED, UNKNOWN,
NOT_SET, etc... we can treat enums as primitives. This means any
non-required enum will become Nullable<EnumType> regardless of whether
it is defined as an inline enum or a referenced enum model.
* Categorizing C# integration test for enums as general
* [csharp] Remove enum-ref integration test
* [csharp] Clean up general enum support integration test, validate different enum usage cases.
* Attempts to fix issues that causes enums that are not generated with a class to not generate correctly
* Fixed issue with incorrectly generating enums
* Replaced isomorphic fetch with portable fetch
* Ran scripts in bin
* reference custom.d.ts in api.ts
* ran scripts and added custom.d.ts files to git
* Ran scripts in bin after merge
* regenerated security tests
* Implemented fix for #6006. Mime-type support for accepts and
content-type.
* Review comments of @macjohnny incorporated
* merge with latest and retest
* merge with latest and retest. Now correctly generated with new Maven build
`unicode` does not exist in py3, therefore since six is already imported
switch to using `six.u` so that `unicode` is used on py2 and `str` is used
on py3.