From 72b806699c03cb7ae36a8a2efe8c014c5cc33d26 Mon Sep 17 00:00:00 2001
From: Johan Brandhorst <johan.brandhorst@gmail.com>
Date: Thu, 23 May 2019 12:38:57 +0100
Subject: [PATCH 1/4] [Go][Client] Regenerate petstore examples

---
 .../go/go-petstore-withXml/api_pet.go         |   1 -
 .../go/go-petstore-withXml/api_store.go       |   1 -
 .../go/go-petstore-withXml/api_user.go        |   1 -
 .../go/go-petstore-withXml/docs/UserApi.md    |   4 +-
 .../client/petstore/go/go-petstore/api_pet.go |   1 -
 .../petstore/go/go-petstore/api_store.go      |   1 -
 .../petstore/go/go-petstore/api_user.go       |   1 -
 .../petstore/go/go-petstore/docs/UserApi.md   |   4 +-
 .../go/go-petstore/.openapi-generator/VERSION |   2 +-
 .../client/petstore/go/go-petstore/README.md  |  50 +++-
 .../petstore/go/go-petstore/api/openapi.yaml  | 104 ++++++--
 .../go/go-petstore/api_another_fake.go        |   3 +-
 .../petstore/go/go-petstore/api_default.go    |   3 +-
 .../petstore/go/go-petstore/api_fake.go       |  27 +-
 .../go-petstore/api_fake_classname_tags123.go |   3 +-
 .../client/petstore/go/go-petstore/api_pet.go |  19 +-
 .../petstore/go/go-petstore/api_store.go      |   9 +-
 .../petstore/go/go-petstore/api_user.go       |  17 +-
 .../client/petstore/go/go-petstore/client.go  |  11 +-
 .../docs/AdditionalPropertiesClass.md         |   1 +
 .../petstore/go/go-petstore/docs/Animal.md    |   1 +
 .../go/go-petstore/docs/AnotherFakeApi.md     |  17 +-
 .../go/go-petstore/docs/ApiResponse.md        |   1 +
 .../docs/ArrayOfArrayOfNumberOnly.md          |   1 +
 .../go/go-petstore/docs/ArrayOfNumberOnly.md  |   1 +
 .../petstore/go/go-petstore/docs/ArrayTest.md |   1 +
 .../go/go-petstore/docs/Capitalization.md     |   1 +
 .../petstore/go/go-petstore/docs/Cat.md       |   1 +
 .../petstore/go/go-petstore/docs/CatAllOf.md  |  11 +
 .../petstore/go/go-petstore/docs/Category.md  |   1 +
 .../go/go-petstore/docs/ClassModel.md         |   1 +
 .../petstore/go/go-petstore/docs/Client.md    |   1 +
 .../go/go-petstore/docs/DefaultApi.md         |  13 +-
 .../petstore/go/go-petstore/docs/Dog.md       |   1 +
 .../petstore/go/go-petstore/docs/DogAllOf.md  |  11 +
 .../go/go-petstore/docs/EnumArrays.md         |   1 +
 .../petstore/go/go-petstore/docs/EnumClass.md |   1 +
 .../petstore/go/go-petstore/docs/EnumTest.md  |   1 +
 .../petstore/go/go-petstore/docs/FakeApi.md   | 235 ++++++++++++------
 .../docs/FakeClassnameTags123Api.md           |  17 +-
 .../petstore/go/go-petstore/docs/File.md      |   1 +
 .../go-petstore/docs/FileSchemaTestClass.md   |   1 +
 .../petstore/go/go-petstore/docs/Foo.md       |   1 +
 .../go/go-petstore/docs/FormatTest.md         |   1 +
 .../go/go-petstore/docs/HasOnlyReadOnly.md    |   1 +
 .../go/go-petstore/docs/HealthCheckResult.md  |   1 +
 .../go/go-petstore/docs/InlineObject.md       |   1 +
 .../go/go-petstore/docs/InlineObject1.md      |   1 +
 .../go/go-petstore/docs/InlineObject2.md      |   1 +
 .../go/go-petstore/docs/InlineObject3.md      |   1 +
 .../go/go-petstore/docs/InlineObject4.md      |   1 +
 .../go/go-petstore/docs/InlineObject5.md      |   1 +
 .../go-petstore/docs/InlineResponseDefault.md |   1 +
 .../petstore/go/go-petstore/docs/List.md      |   1 +
 .../petstore/go/go-petstore/docs/MapTest.md   |   1 +
 ...dPropertiesAndAdditionalPropertiesClass.md |   1 +
 .../go/go-petstore/docs/Model200Response.md   |   1 +
 .../petstore/go/go-petstore/docs/Name.md      |   1 +
 .../go/go-petstore/docs/NullableClass.md      |  22 ++
 .../go/go-petstore/docs/NumberOnly.md         |   1 +
 .../petstore/go/go-petstore/docs/Order.md     |   1 +
 .../go/go-petstore/docs/OuterComposite.md     |   1 +
 .../petstore/go/go-petstore/docs/OuterEnum.md |   1 +
 .../go-petstore/docs/OuterEnumDefaultValue.md |   1 +
 .../go/go-petstore/docs/OuterEnumInteger.md   |   1 +
 .../docs/OuterEnumIntegerDefaultValue.md      |   1 +
 .../petstore/go/go-petstore/docs/Pet.md       |   1 +
 .../petstore/go/go-petstore/docs/PetApi.md    | 163 ++++++++----
 .../go/go-petstore/docs/ReadOnlyFirst.md      |   1 +
 .../petstore/go/go-petstore/docs/Return.md    |   1 +
 .../go/go-petstore/docs/SpecialModelName.md   |   1 +
 .../petstore/go/go-petstore/docs/StoreApi.md  |  64 +++--
 .../petstore/go/go-petstore/docs/Tag.md       |   1 +
 .../petstore/go/go-petstore/docs/User.md      |   1 +
 .../petstore/go/go-petstore/docs/UserApi.md   | 136 ++++++----
 .../go/go-petstore/model_cat_all_of.go        |  14 ++
 .../go/go-petstore/model_dog_all_of.go        |  14 ++
 .../go/go-petstore/model_nullable_class.go    |  28 +++
 78 files changed, 743 insertions(+), 310 deletions(-)
 create mode 100644 samples/openapi3/client/petstore/go/go-petstore/docs/CatAllOf.md
 create mode 100644 samples/openapi3/client/petstore/go/go-petstore/docs/DogAllOf.md
 create mode 100644 samples/openapi3/client/petstore/go/go-petstore/docs/NullableClass.md
 create mode 100644 samples/openapi3/client/petstore/go/go-petstore/model_cat_all_of.go
 create mode 100644 samples/openapi3/client/petstore/go/go-petstore/model_dog_all_of.go
 create mode 100644 samples/openapi3/client/petstore/go/go-petstore/model_nullable_class.go

diff --git a/samples/client/petstore/go/go-petstore-withXml/api_pet.go b/samples/client/petstore/go/go-petstore-withXml/api_pet.go
index 6b159c5001a..a2f87d72c5a 100644
--- a/samples/client/petstore/go/go-petstore-withXml/api_pet.go
+++ b/samples/client/petstore/go/go-petstore-withXml/api_pet.go
@@ -16,7 +16,6 @@ import (
 	"net/http"
 	"net/url"
 	"fmt"
-	"strings"
 	"github.com/antihax/optional"
 	"os"
 )
diff --git a/samples/client/petstore/go/go-petstore-withXml/api_store.go b/samples/client/petstore/go/go-petstore-withXml/api_store.go
index ae780c2998e..ab86530a3ba 100644
--- a/samples/client/petstore/go/go-petstore-withXml/api_store.go
+++ b/samples/client/petstore/go/go-petstore-withXml/api_store.go
@@ -16,7 +16,6 @@ import (
 	"net/http"
 	"net/url"
 	"fmt"
-	"strings"
 )
 
 // Linger please
diff --git a/samples/client/petstore/go/go-petstore-withXml/api_user.go b/samples/client/petstore/go/go-petstore-withXml/api_user.go
index be573458c73..57581af75fb 100644
--- a/samples/client/petstore/go/go-petstore-withXml/api_user.go
+++ b/samples/client/petstore/go/go-petstore-withXml/api_user.go
@@ -16,7 +16,6 @@ import (
 	"net/http"
 	"net/url"
 	"fmt"
-	"strings"
 )
 
 // Linger please
diff --git a/samples/client/petstore/go/go-petstore-withXml/docs/UserApi.md b/samples/client/petstore/go/go-petstore-withXml/docs/UserApi.md
index 3201e1771dc..ea19e0e716f 100644
--- a/samples/client/petstore/go/go-petstore-withXml/docs/UserApi.md
+++ b/samples/client/petstore/go/go-petstore-withXml/docs/UserApi.md
@@ -59,7 +59,7 @@ Creates list of users with given input array
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
 **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-**body** | [**[]User**](User.md)| List of user object | 
+**body** | [**[]User**](array.md)| List of user object | 
 
 ### Return type
 
@@ -90,7 +90,7 @@ Creates list of users with given input array
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
 **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-**body** | [**[]User**](User.md)| List of user object | 
+**body** | [**[]User**](array.md)| List of user object | 
 
 ### Return type
 
diff --git a/samples/client/petstore/go/go-petstore/api_pet.go b/samples/client/petstore/go/go-petstore/api_pet.go
index 243d16197f0..f9818f34bf7 100644
--- a/samples/client/petstore/go/go-petstore/api_pet.go
+++ b/samples/client/petstore/go/go-petstore/api_pet.go
@@ -15,7 +15,6 @@ import (
 	"net/http"
 	"net/url"
 	"fmt"
-	"strings"
 	"github.com/antihax/optional"
 	"os"
 )
diff --git a/samples/client/petstore/go/go-petstore/api_store.go b/samples/client/petstore/go/go-petstore/api_store.go
index 3211860d49c..99ad007091e 100644
--- a/samples/client/petstore/go/go-petstore/api_store.go
+++ b/samples/client/petstore/go/go-petstore/api_store.go
@@ -15,7 +15,6 @@ import (
 	"net/http"
 	"net/url"
 	"fmt"
-	"strings"
 )
 
 // Linger please
diff --git a/samples/client/petstore/go/go-petstore/api_user.go b/samples/client/petstore/go/go-petstore/api_user.go
index 6a7d2b1195a..d83c779dfb3 100644
--- a/samples/client/petstore/go/go-petstore/api_user.go
+++ b/samples/client/petstore/go/go-petstore/api_user.go
@@ -15,7 +15,6 @@ import (
 	"net/http"
 	"net/url"
 	"fmt"
-	"strings"
 )
 
 // Linger please
diff --git a/samples/client/petstore/go/go-petstore/docs/UserApi.md b/samples/client/petstore/go/go-petstore/docs/UserApi.md
index 3201e1771dc..ea19e0e716f 100644
--- a/samples/client/petstore/go/go-petstore/docs/UserApi.md
+++ b/samples/client/petstore/go/go-petstore/docs/UserApi.md
@@ -59,7 +59,7 @@ Creates list of users with given input array
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
 **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-**body** | [**[]User**](User.md)| List of user object | 
+**body** | [**[]User**](array.md)| List of user object | 
 
 ### Return type
 
@@ -90,7 +90,7 @@ Creates list of users with given input array
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
 **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-**body** | [**[]User**](User.md)| List of user object | 
+**body** | [**[]User**](array.md)| List of user object | 
 
 ### Return type
 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/.openapi-generator/VERSION b/samples/openapi3/client/petstore/go/go-petstore/.openapi-generator/VERSION
index afa63656064..06b5019af3f 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/.openapi-generator/VERSION
+++ b/samples/openapi3/client/petstore/go/go-petstore/.openapi-generator/VERSION
@@ -1 +1 @@
-4.0.0-SNAPSHOT
\ No newline at end of file
+4.0.1-SNAPSHOT
\ No newline at end of file
diff --git a/samples/openapi3/client/petstore/go/go-petstore/README.md b/samples/openapi3/client/petstore/go/go-petstore/README.md
index 4a51fe4074f..82f28d6e265 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/README.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/README.md
@@ -12,7 +12,8 @@ This API client was generated by the [OpenAPI Generator](https://openapi-generat
 ## Installation
 
 Install the following dependencies:
-```
+
+```shell
 go get github.com/stretchr/testify/assert
 go get golang.org/x/oauth2
 go get golang.org/x/net/context
@@ -20,6 +21,7 @@ go get github.com/antihax/optional
 ```
 
 Put the package under your project folder and add the following in import:
+
 ```golang
 import "./petstore"
 ```
@@ -79,10 +81,12 @@ Class | Method | HTTP request | Description
  - [ArrayTest](docs/ArrayTest.md)
  - [Capitalization](docs/Capitalization.md)
  - [Cat](docs/Cat.md)
+ - [CatAllOf](docs/CatAllOf.md)
  - [Category](docs/Category.md)
  - [ClassModel](docs/ClassModel.md)
  - [Client](docs/Client.md)
  - [Dog](docs/Dog.md)
+ - [DogAllOf](docs/DogAllOf.md)
  - [EnumArrays](docs/EnumArrays.md)
  - [EnumClass](docs/EnumClass.md)
  - [EnumTest](docs/EnumTest.md)
@@ -104,6 +108,7 @@ Class | Method | HTTP request | Description
  - [MixedPropertiesAndAdditionalPropertiesClass](docs/MixedPropertiesAndAdditionalPropertiesClass.md)
  - [Model200Response](docs/Model200Response.md)
  - [Name](docs/Name.md)
+ - [NullableClass](docs/NullableClass.md)
  - [NumberOnly](docs/NumberOnly.md)
  - [Order](docs/Order.md)
  - [OuterComposite](docs/OuterComposite.md)
@@ -121,51 +126,71 @@ Class | Method | HTTP request | Description
 
 ## Documentation For Authorization
 
+
+
 ## api_key
-- **Type**: API key 
+
+- **Type**: API key
 
 Example
+
 ```golang
 auth := context.WithValue(context.Background(), sw.ContextAPIKey, sw.APIKey{
-	Key: "APIKEY",
-	Prefix: "Bearer", // Omit if not necessary.
+    Key: "APIKEY",
+    Prefix: "Bearer", // Omit if not necessary.
 })
 r, err := client.Service.Operation(auth, args)
 ```
+
+
 ## api_key_query
-- **Type**: API key 
+
+- **Type**: API key
 
 Example
+
 ```golang
 auth := context.WithValue(context.Background(), sw.ContextAPIKey, sw.APIKey{
-	Key: "APIKEY",
-	Prefix: "Bearer", // Omit if not necessary.
+    Key: "APIKEY",
+    Prefix: "Bearer", // Omit if not necessary.
 })
 r, err := client.Service.Operation(auth, args)
 ```
+
+
 ## bearer_test
+
 - **Type**: HTTP basic authentication
 
 Example
+
 ```golang
 auth := context.WithValue(context.Background(), sw.ContextBasicAuth, sw.BasicAuth{
-	UserName: "username",
-	Password: "password",
+    UserName: "username",
+    Password: "password",
 })
 r, err := client.Service.Operation(auth, args)
 ```
+
+
 ## http_basic_test
+
 - **Type**: HTTP basic authentication
 
 Example
+
 ```golang
 auth := context.WithValue(context.Background(), sw.ContextBasicAuth, sw.BasicAuth{
-	UserName: "username",
-	Password: "password",
+    UserName: "username",
+    Password: "password",
 })
 r, err := client.Service.Operation(auth, args)
 ```
+
+
 ## petstore_auth
+
+
 - **Type**: OAuth
 - **Flow**: implicit
 - **Authorization URL**: http://petstore.swagger.io/api/oauth/dialog
@@ -174,12 +199,14 @@ r, err := client.Service.Operation(auth, args)
  - **read:pets**: read your pets
 
 Example
+
 ```golang
 auth := context.WithValue(context.Background(), sw.ContextAccessToken, "ACCESSTOKENSTRING")
 r, err := client.Service.Operation(auth, args)
 ```
 
 Or via OAuth2 module to automatically refresh tokens and perform user authentication.
+
 ```golang
 import "golang.org/x/oauth2"
 
@@ -190,6 +217,7 @@ auth := context.WithValue(oauth2.NoContext, sw.ContextOAuth2, tokenSource)
 r, err := client.Service.Operation(auth, args)
 ```
 
+
 ## Author
 
 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/api/openapi.yaml b/samples/openapi3/client/petstore/go/go-petstore/api/openapi.yaml
index 2cd94b385f3..260820910af 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/api/openapi.yaml
+++ b/samples/openapi3/client/petstore/go/go-petstore/api/openapi.yaml
@@ -130,7 +130,8 @@ paths:
   /pet/findByTags:
     get:
       deprecated: true
-      description: Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
+      description: Multiple tags can be provided with comma separated strings. Use
+        tag1, tag2, tag3 for testing.
       operationId: findPetsByTags
       parameters:
       - description: Tags to filter by
@@ -350,7 +351,8 @@ paths:
       - store
   /store/order/{order_id}:
     delete:
-      description: For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
+      description: For valid response try integer IDs with value < 1000. Anything
+        above 1000 or nonintegers will generate API errors
       operationId: deleteOrder
       parameters:
       - description: ID of the order that needs to be deleted
@@ -370,7 +372,8 @@ paths:
       tags:
       - store
     get:
-      description: For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
+      description: For valid response try integer IDs with value <= 5 or > 10. Other
+        values will generated exceptions
       operationId: getOrderById
       parameters:
       - description: ID of pet that needs to be fetched
@@ -604,7 +607,6 @@ paths:
         name: required_string_group
         required: true
         schema:
-          format: int32
           type: integer
         style: form
       - description: Required Boolean in group parameters
@@ -630,7 +632,6 @@ paths:
         name: string_group
         required: false
         schema:
-          format: int32
           type: integer
         style: form
       - description: Boolean in group parameters
@@ -803,7 +804,6 @@ paths:
               properties:
                 integer:
                   description: None
-                  format: int32
                   maximum: 100
                   minimum: 10
                   type: integer
@@ -1045,7 +1045,8 @@ paths:
       - $another-fake?
   /fake/body-with-file-schema:
     put:
-      description: For this test, the body for this request much reference a schema named `File`.
+      description: For this test, the body for this request much reference a schema
+        named `File`.
       operationId: testBodyWithFileSchema
       requestBody:
         content:
@@ -1368,7 +1369,6 @@ components:
         property:
           type: string
         123Number:
-          format: int32
           readOnly: true
           type: integer
       required:
@@ -1393,17 +1393,11 @@ components:
     Dog:
       allOf:
       - $ref: '#/components/schemas/Animal'
-      - properties:
-          breed:
-            type: string
-        type: object
+      - $ref: '#/components/schemas/Dog_allOf'
     Cat:
       allOf:
       - $ref: '#/components/schemas/Animal'
-      - properties:
-          declawed:
-            type: boolean
-        type: object
+      - $ref: '#/components/schemas/Cat_allOf'
     Animal:
       discriminator:
         propertyName: className
@@ -1423,7 +1417,6 @@ components:
     format_test:
       properties:
         integer:
-          format: int32
           maximum: 100
           minimum: 10
           type: integer
@@ -1478,7 +1471,8 @@ components:
           pattern: ^\d{10}$
           type: string
         pattern_with_digits_and_delimiter:
-          description: A string starting with 'image_' (case insensitive) and one to three digits following i.e. Image_01.
+          description: A string starting with 'image_' (case insensitive) and one
+            to three digits following i.e. Image_01.
           pattern: /^image_\d{1,3}$/i
           type: string
       required:
@@ -1625,6 +1619,7 @@ components:
         indirect_map:
           additionalProperties:
             type: boolean
+          type: object
       type: object
     ArrayTest:
       properties:
@@ -1693,7 +1688,6 @@ components:
       - 0
       - 1
       - 2
-      format: int32
       type: integer
     OuterEnumDefaultValue:
       default: placed
@@ -1708,7 +1702,6 @@ components:
       - 0
       - 1
       - 2
-      format: int32
       type: integer
     OuterComposite:
       example:
@@ -1734,6 +1727,7 @@ components:
     StringBooleanMap:
       additionalProperties:
         type: boolean
+      type: object
     FileSchemaTestClass:
       example:
         file:
@@ -1766,7 +1760,8 @@ components:
       xml:
         name: $special[model.name]
     HealthCheckResult:
-      description: Just a string to inform instance is up and running. Make it nullable in hope to get it as pointer in generated model.
+      description: Just a string to inform instance is up and running. Make it nullable
+        in hope to get it as pointer in generated model.
       example:
         NullableMessage: NullableMessage
       properties:
@@ -1774,6 +1769,64 @@ components:
           nullable: true
           type: string
       type: object
+    NullableClass:
+      additionalProperties:
+        nullable: true
+        type: object
+      properties:
+        integer_prop:
+          nullable: true
+          type: integer
+        number_prop:
+          nullable: true
+          type: number
+        boolean_prop:
+          nullable: true
+          type: boolean
+        string_prop:
+          nullable: true
+          type: string
+        date_prop:
+          format: date
+          nullable: true
+          type: string
+        datetime_prop:
+          format: date-time
+          nullable: true
+          type: string
+        array_nullable_prop:
+          items:
+            type: object
+          nullable: true
+          type: array
+        array_and_items_nullable_prop:
+          items:
+            nullable: true
+            type: object
+          nullable: true
+          type: array
+        array_items_nullable:
+          items:
+            nullable: true
+            type: object
+          type: array
+        object_nullable_prop:
+          additionalProperties:
+            type: object
+          nullable: true
+          type: object
+        object_and_items_nullable_prop:
+          additionalProperties:
+            nullable: true
+            type: object
+          nullable: true
+          type: object
+        object_items_nullable:
+          additionalProperties:
+            nullable: true
+            type: object
+          type: object
+      type: object
     inline_response_default:
       example:
         string:
@@ -1824,7 +1877,6 @@ components:
       properties:
         integer:
           description: None
-          format: int32
           maximum: 100
           minimum: 10
           type: integer
@@ -1917,6 +1969,14 @@ components:
       required:
       - requiredFile
       type: object
+    Dog_allOf:
+      properties:
+        breed:
+          type: string
+    Cat_allOf:
+      properties:
+        declawed:
+          type: boolean
   securitySchemes:
     petstore_auth:
       flows:
diff --git a/samples/openapi3/client/petstore/go/go-petstore/api_another_fake.go b/samples/openapi3/client/petstore/go/go-petstore/api_another_fake.go
index f74f5bffd55..1c5c50d2e53 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/api_another_fake.go
+++ b/samples/openapi3/client/petstore/go/go-petstore/api_another_fake.go
@@ -14,7 +14,6 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
-	"strings"
 )
 
 // Linger please
@@ -33,7 +32,7 @@ To test special tags and operation ID starting with number
 */
 func (a *AnotherFakeApiService) Call123TestSpecialTags(ctx context.Context, client Client) (Client, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Patch")
+		localVarHttpMethod   = http.MethodPatch
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
diff --git a/samples/openapi3/client/petstore/go/go-petstore/api_default.go b/samples/openapi3/client/petstore/go/go-petstore/api_default.go
index 78cb5d9ae6e..1642ea1d22c 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/api_default.go
+++ b/samples/openapi3/client/petstore/go/go-petstore/api_default.go
@@ -14,7 +14,6 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
-	"strings"
 )
 
 // Linger please
@@ -31,7 +30,7 @@ DefaultApiService
 */
 func (a *DefaultApiService) FooGet(ctx context.Context) (InlineResponseDefault, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Get")
+		localVarHttpMethod   = http.MethodGet
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
diff --git a/samples/openapi3/client/petstore/go/go-petstore/api_fake.go b/samples/openapi3/client/petstore/go/go-petstore/api_fake.go
index 94003cdd5aa..6dd6f996d1f 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/api_fake.go
+++ b/samples/openapi3/client/petstore/go/go-petstore/api_fake.go
@@ -14,7 +14,6 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
-	"strings"
 	"github.com/antihax/optional"
 	"os"
 )
@@ -33,7 +32,7 @@ FakeApiService Health check endpoint
 */
 func (a *FakeApiService) FakeHealthGet(ctx context.Context) (HealthCheckResult, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Get")
+		localVarHttpMethod   = http.MethodGet
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -126,7 +125,7 @@ type FakeOuterBooleanSerializeOpts struct {
 
 func (a *FakeApiService) FakeOuterBooleanSerialize(ctx context.Context, localVarOptionals *FakeOuterBooleanSerializeOpts) (bool, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Post")
+		localVarHttpMethod   = http.MethodPost
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -224,7 +223,7 @@ type FakeOuterCompositeSerializeOpts struct {
 
 func (a *FakeApiService) FakeOuterCompositeSerialize(ctx context.Context, localVarOptionals *FakeOuterCompositeSerializeOpts) (OuterComposite, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Post")
+		localVarHttpMethod   = http.MethodPost
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -326,7 +325,7 @@ type FakeOuterNumberSerializeOpts struct {
 
 func (a *FakeApiService) FakeOuterNumberSerialize(ctx context.Context, localVarOptionals *FakeOuterNumberSerializeOpts) (float32, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Post")
+		localVarHttpMethod   = http.MethodPost
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -424,7 +423,7 @@ type FakeOuterStringSerializeOpts struct {
 
 func (a *FakeApiService) FakeOuterStringSerialize(ctx context.Context, localVarOptionals *FakeOuterStringSerializeOpts) (string, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Post")
+		localVarHttpMethod   = http.MethodPost
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -515,7 +514,7 @@ For this test, the body for this request much reference a schema named &#x60;Fil
 */
 func (a *FakeApiService) TestBodyWithFileSchema(ctx context.Context, fileSchemaTestClass FileSchemaTestClass) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Put")
+		localVarHttpMethod   = http.MethodPut
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -583,7 +582,7 @@ FakeApiService
 */
 func (a *FakeApiService) TestBodyWithQueryParams(ctx context.Context, query string, user User) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Put")
+		localVarHttpMethod   = http.MethodPut
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -653,7 +652,7 @@ To test \&quot;client\&quot; model
 */
 func (a *FakeApiService) TestClientModel(ctx context.Context, client Client) (Client, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Patch")
+		localVarHttpMethod   = http.MethodPatch
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -769,7 +768,7 @@ type TestEndpointParametersOpts struct {
 
 func (a *FakeApiService) TestEndpointParameters(ctx context.Context, number float32, double float64, patternWithoutDelimiter string, byte_ string, localVarOptionals *TestEndpointParametersOpts) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Post")
+		localVarHttpMethod   = http.MethodPost
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -913,7 +912,7 @@ type TestEnumParametersOpts struct {
 
 func (a *FakeApiService) TestEnumParameters(ctx context.Context, localVarOptionals *TestEnumParametersOpts) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Get")
+		localVarHttpMethod   = http.MethodGet
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -1016,7 +1015,7 @@ type TestGroupParametersOpts struct {
 
 func (a *FakeApiService) TestGroupParameters(ctx context.Context, requiredStringGroup int32, requiredBooleanGroup bool, requiredInt64Group int64, localVarOptionals *TestGroupParametersOpts) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Delete")
+		localVarHttpMethod   = http.MethodDelete
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -1093,7 +1092,7 @@ FakeApiService test inline additionalProperties
 */
 func (a *FakeApiService) TestInlineAdditionalProperties(ctx context.Context, requestBody map[string]string) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Post")
+		localVarHttpMethod   = http.MethodPost
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -1161,7 +1160,7 @@ FakeApiService test json serialization of form data
 */
 func (a *FakeApiService) TestJsonFormData(ctx context.Context, param string, param2 string) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Get")
+		localVarHttpMethod   = http.MethodGet
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
diff --git a/samples/openapi3/client/petstore/go/go-petstore/api_fake_classname_tags123.go b/samples/openapi3/client/petstore/go/go-petstore/api_fake_classname_tags123.go
index f5448af3597..c58af2fc260 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/api_fake_classname_tags123.go
+++ b/samples/openapi3/client/petstore/go/go-petstore/api_fake_classname_tags123.go
@@ -14,7 +14,6 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
-	"strings"
 )
 
 // Linger please
@@ -33,7 +32,7 @@ To test class name in snake case
 */
 func (a *FakeClassnameTags123ApiService) TestClassname(ctx context.Context, client Client) (Client, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Patch")
+		localVarHttpMethod   = http.MethodPatch
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
diff --git a/samples/openapi3/client/petstore/go/go-petstore/api_pet.go b/samples/openapi3/client/petstore/go/go-petstore/api_pet.go
index a496a787982..189fd43a07b 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/api_pet.go
+++ b/samples/openapi3/client/petstore/go/go-petstore/api_pet.go
@@ -14,7 +14,6 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
-	"strings"
 	"fmt"
 	"github.com/antihax/optional"
 	"os"
@@ -34,7 +33,7 @@ PetApiService Add a new pet to the store
 */
 func (a *PetApiService) AddPet(ctx context.Context, pet Pet) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Post")
+		localVarHttpMethod   = http.MethodPost
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -108,7 +107,7 @@ type DeletePetOpts struct {
 
 func (a *PetApiService) DeletePet(ctx context.Context, petId int64, localVarOptionals *DeletePetOpts) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Delete")
+		localVarHttpMethod   = http.MethodDelete
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -179,7 +178,7 @@ Multiple status values can be provided with comma separated strings
 */
 func (a *PetApiService) FindPetsByStatus(ctx context.Context, status []string) ([]Pet, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Get")
+		localVarHttpMethod   = http.MethodGet
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -267,7 +266,7 @@ Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3
 */
 func (a *PetApiService) FindPetsByTags(ctx context.Context, tags []string) ([]Pet, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Get")
+		localVarHttpMethod   = http.MethodGet
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -355,7 +354,7 @@ Returns a single pet
 */
 func (a *PetApiService) GetPetById(ctx context.Context, petId int64) (Pet, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Get")
+		localVarHttpMethod   = http.MethodGet
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -453,7 +452,7 @@ PetApiService Update an existing pet
 */
 func (a *PetApiService) UpdatePet(ctx context.Context, pet Pet) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Put")
+		localVarHttpMethod   = http.MethodPut
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -529,7 +528,7 @@ type UpdatePetWithFormOpts struct {
 
 func (a *PetApiService) UpdatePetWithForm(ctx context.Context, petId int64, localVarOptionals *UpdatePetWithFormOpts) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Post")
+		localVarHttpMethod   = http.MethodPost
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -611,7 +610,7 @@ type UploadFileOpts struct {
 
 func (a *PetApiService) UploadFile(ctx context.Context, petId int64, localVarOptionals *UploadFileOpts) (ApiResponse, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Post")
+		localVarHttpMethod   = http.MethodPost
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -724,7 +723,7 @@ type UploadFileWithRequiredFileOpts struct {
 
 func (a *PetApiService) UploadFileWithRequiredFile(ctx context.Context, petId int64, requiredFile *os.File, localVarOptionals *UploadFileWithRequiredFileOpts) (ApiResponse, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Post")
+		localVarHttpMethod   = http.MethodPost
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
diff --git a/samples/openapi3/client/petstore/go/go-petstore/api_store.go b/samples/openapi3/client/petstore/go/go-petstore/api_store.go
index cec38c8c42b..1fb9a6a78b7 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/api_store.go
+++ b/samples/openapi3/client/petstore/go/go-petstore/api_store.go
@@ -14,7 +14,6 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
-	"strings"
 	"fmt"
 )
 
@@ -33,7 +32,7 @@ For valid response try integer IDs with value &lt; 1000. Anything above 1000 or
 */
 func (a *StoreApiService) DeleteOrder(ctx context.Context, orderId string) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Delete")
+		localVarHttpMethod   = http.MethodDelete
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -100,7 +99,7 @@ Returns a map of status codes to quantities
 */
 func (a *StoreApiService) GetInventory(ctx context.Context) (map[string]int32, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Get")
+		localVarHttpMethod   = http.MethodGet
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -199,7 +198,7 @@ For valid response try integer IDs with value &lt;&#x3D; 5 or &gt; 10. Other val
 */
 func (a *StoreApiService) GetOrderById(ctx context.Context, orderId int64) (Order, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Get")
+		localVarHttpMethod   = http.MethodGet
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -292,7 +291,7 @@ StoreApiService Place an order for a pet
 */
 func (a *StoreApiService) PlaceOrder(ctx context.Context, order Order) (Order, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Post")
+		localVarHttpMethod   = http.MethodPost
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
diff --git a/samples/openapi3/client/petstore/go/go-petstore/api_user.go b/samples/openapi3/client/petstore/go/go-petstore/api_user.go
index 75eb29fd091..ac33b7f94bc 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/api_user.go
+++ b/samples/openapi3/client/petstore/go/go-petstore/api_user.go
@@ -14,7 +14,6 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
-	"strings"
 	"fmt"
 )
 
@@ -33,7 +32,7 @@ This can only be done by the logged in user.
 */
 func (a *UserApiService) CreateUser(ctx context.Context, user User) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Post")
+		localVarHttpMethod   = http.MethodPost
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -100,7 +99,7 @@ UserApiService Creates list of users with given input array
 */
 func (a *UserApiService) CreateUsersWithArrayInput(ctx context.Context, user []User) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Post")
+		localVarHttpMethod   = http.MethodPost
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -167,7 +166,7 @@ UserApiService Creates list of users with given input array
 */
 func (a *UserApiService) CreateUsersWithListInput(ctx context.Context, user []User) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Post")
+		localVarHttpMethod   = http.MethodPost
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -235,7 +234,7 @@ This can only be done by the logged in user.
 */
 func (a *UserApiService) DeleteUser(ctx context.Context, username string) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Delete")
+		localVarHttpMethod   = http.MethodDelete
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -302,7 +301,7 @@ UserApiService Get user by user name
 */
 func (a *UserApiService) GetUserByName(ctx context.Context, username string) (User, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Get")
+		localVarHttpMethod   = http.MethodGet
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -390,7 +389,7 @@ UserApiService Logs user into the system
 */
 func (a *UserApiService) LoginUser(ctx context.Context, username string, password string) (string, *http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Get")
+		localVarHttpMethod   = http.MethodGet
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -476,7 +475,7 @@ UserApiService Logs out current logged in user session
 */
 func (a *UserApiService) LogoutUser(ctx context.Context) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Get")
+		localVarHttpMethod   = http.MethodGet
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
@@ -543,7 +542,7 @@ This can only be done by the logged in user.
 */
 func (a *UserApiService) UpdateUser(ctx context.Context, username string, user User) (*http.Response, error) {
 	var (
-		localVarHttpMethod   = strings.ToUpper("Put")
+		localVarHttpMethod   = http.MethodPut
 		localVarPostBody     interface{}
 		localVarFormFileName string
 		localVarFileName     string
diff --git a/samples/openapi3/client/petstore/go/go-petstore/client.go b/samples/openapi3/client/petstore/go/go-petstore/client.go
index ca4d0d38465..5559f79c6f8 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/client.go
+++ b/samples/openapi3/client/petstore/go/go-petstore/client.go
@@ -232,10 +232,11 @@ func (c *APIClient) prepareRequest(
 			if err != nil {
 				return nil, err
 			}
-			// Set the Boundary in the Content-Type
-			headerParams["Content-Type"] = w.FormDataContentType()
 		}
 
+		// Set the Boundary in the Content-Type
+		headerParams["Content-Type"] = w.FormDataContentType()
+
 		// Set Content-Length
 		headerParams["Content-Length"] = fmt.Sprintf("%d", body.Len())
 		w.Close()
@@ -331,6 +332,10 @@ func (c *APIClient) prepareRequest(
 }
 
 func (c *APIClient) decode(v interface{}, b []byte, contentType string) (err error) {
+	if s, ok := v.(*string); ok {
+		*s = string(b)
+		return nil
+	}
 	if xmlCheck.MatchString(contentType) {
 		if err = xml.Unmarshal(b, v); err != nil {
 			return err
@@ -385,7 +390,7 @@ func setBody(body interface{}, contentType string) (bodyBuf *bytes.Buffer, err e
 	} else if jsonCheck.MatchString(contentType) {
 		err = json.NewEncoder(bodyBuf).Encode(body)
 	} else if xmlCheck.MatchString(contentType) {
-		xml.NewEncoder(bodyBuf).Encode(body)
+		err = xml.NewEncoder(bodyBuf).Encode(body)
 	}
 
 	if err != nil {
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/AdditionalPropertiesClass.md b/samples/openapi3/client/petstore/go/go-petstore/docs/AdditionalPropertiesClass.md
index 0c8ba7085b3..9668c3d6427 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/AdditionalPropertiesClass.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/AdditionalPropertiesClass.md
@@ -1,6 +1,7 @@
 # AdditionalPropertiesClass
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **MapProperty** | **map[string]string** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/Animal.md b/samples/openapi3/client/petstore/go/go-petstore/docs/Animal.md
index d7113331a60..02d23377da6 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/Animal.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/Animal.md
@@ -1,6 +1,7 @@
 # Animal
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **ClassName** | **string** |  | 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/AnotherFakeApi.md b/samples/openapi3/client/petstore/go/go-petstore/docs/AnotherFakeApi.md
index 43c63231137..9c6ce64e293 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/AnotherFakeApi.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/AnotherFakeApi.md
@@ -7,7 +7,9 @@ Method | HTTP request | Description
 [**Call123TestSpecialTags**](AnotherFakeApi.md#Call123TestSpecialTags) | **Patch** /another-fake/dummy | To test special tags
 
 
-# **Call123TestSpecialTags**
+
+## Call123TestSpecialTags
+
 > Client Call123TestSpecialTags(ctx, client)
 To test special tags
 
@@ -15,10 +17,11 @@ To test special tags and operation ID starting with number
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **client** | [**Client**](Client.md)| client model | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**client** | [**Client**](Client.md)| client model | 
 
 ### Return type
 
@@ -30,8 +33,10 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: application/json
- - **Accept**: application/json
+- **Content-Type**: application/json
+- **Accept**: application/json
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/ApiResponse.md b/samples/openapi3/client/petstore/go/go-petstore/docs/ApiResponse.md
index f9b16338ecd..41d28fb578c 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/ApiResponse.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/ApiResponse.md
@@ -1,6 +1,7 @@
 # ApiResponse
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Code** | **int32** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/ArrayOfArrayOfNumberOnly.md b/samples/openapi3/client/petstore/go/go-petstore/docs/ArrayOfArrayOfNumberOnly.md
index a53147b6270..555213013b2 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/ArrayOfArrayOfNumberOnly.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/ArrayOfArrayOfNumberOnly.md
@@ -1,6 +1,7 @@
 # ArrayOfArrayOfNumberOnly
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **ArrayArrayNumber** | [**[][]float32**](array.md) |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/ArrayOfNumberOnly.md b/samples/openapi3/client/petstore/go/go-petstore/docs/ArrayOfNumberOnly.md
index 19031e76d20..56618756dd7 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/ArrayOfNumberOnly.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/ArrayOfNumberOnly.md
@@ -1,6 +1,7 @@
 # ArrayOfNumberOnly
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **ArrayNumber** | **[]float32** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/ArrayTest.md b/samples/openapi3/client/petstore/go/go-petstore/docs/ArrayTest.md
index a46d1acf665..0da0bc52d2d 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/ArrayTest.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/ArrayTest.md
@@ -1,6 +1,7 @@
 # ArrayTest
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **ArrayOfString** | **[]string** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/Capitalization.md b/samples/openapi3/client/petstore/go/go-petstore/docs/Capitalization.md
index ac65ee37dba..426b8eabd9b 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/Capitalization.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/Capitalization.md
@@ -1,6 +1,7 @@
 # Capitalization
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **SmallCamel** | **string** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/Cat.md b/samples/openapi3/client/petstore/go/go-petstore/docs/Cat.md
index b51d5fd2b95..1ef1f095e94 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/Cat.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/Cat.md
@@ -1,6 +1,7 @@
 # Cat
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **ClassName** | **string** |  | 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/CatAllOf.md b/samples/openapi3/client/petstore/go/go-petstore/docs/CatAllOf.md
new file mode 100644
index 00000000000..c978cee0417
--- /dev/null
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/CatAllOf.md
@@ -0,0 +1,11 @@
+# CatAllOf
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Declawed** | **bool** |  | [optional] 
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/Category.md b/samples/openapi3/client/petstore/go/go-petstore/docs/Category.md
index 1440215d225..01e8344bd06 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/Category.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/Category.md
@@ -1,6 +1,7 @@
 # Category
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Id** | **int64** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/ClassModel.md b/samples/openapi3/client/petstore/go/go-petstore/docs/ClassModel.md
index 8d7a7284393..0b925cebb1f 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/ClassModel.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/ClassModel.md
@@ -1,6 +1,7 @@
 # ClassModel
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Class** | **string** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/Client.md b/samples/openapi3/client/petstore/go/go-petstore/docs/Client.md
index fdf5fd9a69d..551da852eec 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/Client.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/Client.md
@@ -1,6 +1,7 @@
 # Client
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Client** | **string** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/DefaultApi.md b/samples/openapi3/client/petstore/go/go-petstore/docs/DefaultApi.md
index 5d1fe96684d..4fd0ab98720 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/DefaultApi.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/DefaultApi.md
@@ -7,11 +7,14 @@ Method | HTTP request | Description
 [**FooGet**](DefaultApi.md#FooGet) | **Get** /foo | 
 
 
-# **FooGet**
+
+## FooGet
+
 > InlineResponseDefault FooGet(ctx, )
 
 
 ### Required Parameters
+
 This endpoint does not need any parameter.
 
 ### Return type
@@ -24,8 +27,10 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: Not defined
- - **Accept**: application/json
+- **Content-Type**: Not defined
+- **Accept**: application/json
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/Dog.md b/samples/openapi3/client/petstore/go/go-petstore/docs/Dog.md
index 13c0aa28e6b..ff35dd5cdca 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/Dog.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/Dog.md
@@ -1,6 +1,7 @@
 # Dog
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **ClassName** | **string** |  | 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/DogAllOf.md b/samples/openapi3/client/petstore/go/go-petstore/docs/DogAllOf.md
new file mode 100644
index 00000000000..b87153e9265
--- /dev/null
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/DogAllOf.md
@@ -0,0 +1,11 @@
+# DogAllOf
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Breed** | **string** |  | [optional] 
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/EnumArrays.md b/samples/openapi3/client/petstore/go/go-petstore/docs/EnumArrays.md
index 9eca8b29032..3021f881830 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/EnumArrays.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/EnumArrays.md
@@ -1,6 +1,7 @@
 # EnumArrays
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **JustSymbol** | **string** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/EnumClass.md b/samples/openapi3/client/petstore/go/go-petstore/docs/EnumClass.md
index 67f017becd0..c6932388c06 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/EnumClass.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/EnumClass.md
@@ -1,6 +1,7 @@
 # EnumClass
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/EnumTest.md b/samples/openapi3/client/petstore/go/go-petstore/docs/EnumTest.md
index 26c48e0c126..1fe92c432dc 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/EnumTest.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/EnumTest.md
@@ -1,6 +1,7 @@
 # EnumTest
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **EnumString** | **string** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/FakeApi.md b/samples/openapi3/client/petstore/go/go-petstore/docs/FakeApi.md
index 62bb01be5c8..5695233a26c 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/FakeApi.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/FakeApi.md
@@ -19,11 +19,14 @@ Method | HTTP request | Description
 [**TestJsonFormData**](FakeApi.md#TestJsonFormData) | **Get** /fake/jsonFormData | test json serialization of form data
 
 
-# **FakeHealthGet**
+
+## FakeHealthGet
+
 > HealthCheckResult FakeHealthGet(ctx, )
 Health check endpoint
 
 ### Required Parameters
+
 This endpoint does not need any parameter.
 
 ### Return type
@@ -36,12 +39,16 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: Not defined
- - **Accept**: application/json
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
 
-# **FakeOuterBooleanSerialize**
+## FakeOuterBooleanSerialize
+
 > bool FakeOuterBooleanSerialize(ctx, optional)
 
 
@@ -49,14 +56,17 @@ Test serialization of outer boolean types
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
  **optional** | ***FakeOuterBooleanSerializeOpts** | optional parameters | nil if no parameters
 
 ### Optional Parameters
+
 Optional parameters are passed through a pointer to a FakeOuterBooleanSerializeOpts struct
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
  **body** | **optional.Bool**| Input boolean as post body | 
@@ -71,12 +81,16 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: application/json
- - **Accept**: */*
+- **Content-Type**: application/json
+- **Accept**: */*
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
 
-# **FakeOuterCompositeSerialize**
+## FakeOuterCompositeSerialize
+
 > OuterComposite FakeOuterCompositeSerialize(ctx, optional)
 
 
@@ -84,14 +98,17 @@ Test serialization of object with outer number type
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
  **optional** | ***FakeOuterCompositeSerializeOpts** | optional parameters | nil if no parameters
 
 ### Optional Parameters
+
 Optional parameters are passed through a pointer to a FakeOuterCompositeSerializeOpts struct
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
  **outerComposite** | [**optional.Interface of OuterComposite**](OuterComposite.md)| Input composite as post body | 
@@ -106,12 +123,16 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: application/json
- - **Accept**: */*
+- **Content-Type**: application/json
+- **Accept**: */*
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
 
-# **FakeOuterNumberSerialize**
+## FakeOuterNumberSerialize
+
 > float32 FakeOuterNumberSerialize(ctx, optional)
 
 
@@ -119,14 +140,17 @@ Test serialization of outer number types
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
  **optional** | ***FakeOuterNumberSerializeOpts** | optional parameters | nil if no parameters
 
 ### Optional Parameters
+
 Optional parameters are passed through a pointer to a FakeOuterNumberSerializeOpts struct
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
  **body** | **optional.Float32**| Input number as post body | 
@@ -141,12 +165,16 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: application/json
- - **Accept**: */*
+- **Content-Type**: application/json
+- **Accept**: */*
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## FakeOuterStringSerialize
 
-# **FakeOuterStringSerialize**
 > string FakeOuterStringSerialize(ctx, optional)
 
 
@@ -154,14 +182,17 @@ Test serialization of outer string types
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
  **optional** | ***FakeOuterStringSerializeOpts** | optional parameters | nil if no parameters
 
 ### Optional Parameters
+
 Optional parameters are passed through a pointer to a FakeOuterStringSerializeOpts struct
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
  **body** | **optional.String**| Input string as post body | 
@@ -176,12 +207,16 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: application/json
- - **Accept**: */*
+- **Content-Type**: application/json
+- **Accept**: */*
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
 
-# **TestBodyWithFileSchema**
+## TestBodyWithFileSchema
+
 > TestBodyWithFileSchema(ctx, fileSchemaTestClass)
 
 
@@ -189,10 +224,11 @@ For this test, the body for this request much reference a schema named `File`.
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md)|  | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md)|  | 
 
 ### Return type
 
@@ -204,22 +240,27 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: application/json
- - **Accept**: Not defined
+- **Content-Type**: application/json
+- **Accept**: Not defined
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
 
-# **TestBodyWithQueryParams**
+## TestBodyWithQueryParams
+
 > TestBodyWithQueryParams(ctx, query, user)
 
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **query** | **string**|  | 
-  **user** | [**User**](User.md)|  | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**query** | **string**|  | 
+**user** | [**User**](User.md)|  | 
 
 ### Return type
 
@@ -231,12 +272,16 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: application/json
- - **Accept**: Not defined
+- **Content-Type**: application/json
+- **Accept**: Not defined
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+## TestClientModel
 
-# **TestClientModel**
 > Client TestClientModel(ctx, client)
 To test \"client\" model
 
@@ -244,10 +289,11 @@ To test \"client\" model
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **client** | [**Client**](Client.md)| client model | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**client** | [**Client**](Client.md)| client model | 
 
 ### Return type
 
@@ -259,12 +305,16 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: application/json
- - **Accept**: application/json
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+## TestEndpointParameters
 
-# **TestEndpointParameters**
 > TestEndpointParameters(ctx, number, double, patternWithoutDelimiter, byte_, optional)
 Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 
 
@@ -272,18 +322,21 @@ Fake endpoint for testing various parameters 假端點 偽のエンドポイン
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **number** | **float32**| None | 
-  **double** | **float64**| None | 
-  **patternWithoutDelimiter** | **string**| None | 
-  **byte_** | **string**| None | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**number** | **float32**| None | 
+**double** | **float64**| None | 
+**patternWithoutDelimiter** | **string**| None | 
+**byte_** | **string**| None | 
  **optional** | ***TestEndpointParametersOpts** | optional parameters | nil if no parameters
 
 ### Optional Parameters
+
 Optional parameters are passed through a pointer to a TestEndpointParametersOpts struct
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
 
@@ -311,12 +364,16 @@ Name | Type | Description  | Notes
 
 ### HTTP request headers
 
- - **Content-Type**: application/x-www-form-urlencoded
- - **Accept**: Not defined
+- **Content-Type**: application/x-www-form-urlencoded
+- **Accept**: Not defined
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## TestEnumParameters
 
-# **TestEnumParameters**
 > TestEnumParameters(ctx, optional)
 To test enum parameters
 
@@ -324,14 +381,17 @@ To test enum parameters
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
  **optional** | ***TestEnumParametersOpts** | optional parameters | nil if no parameters
 
 ### Optional Parameters
+
 Optional parameters are passed through a pointer to a TestEnumParametersOpts struct
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
  **enumHeaderStringArray** | [**optional.Interface of []string**](string.md)| Header parameter enum test (string array) | 
@@ -353,12 +413,16 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: application/x-www-form-urlencoded
- - **Accept**: Not defined
+- **Content-Type**: application/x-www-form-urlencoded
+- **Accept**: Not defined
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+## TestGroupParameters
 
-# **TestGroupParameters**
 > TestGroupParameters(ctx, requiredStringGroup, requiredBooleanGroup, requiredInt64Group, optional)
 Fake endpoint to test group parameters (optional)
 
@@ -366,17 +430,20 @@ Fake endpoint to test group parameters (optional)
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **requiredStringGroup** | **int32**| Required String in group parameters | 
-  **requiredBooleanGroup** | **bool**| Required Boolean in group parameters | 
-  **requiredInt64Group** | **int64**| Required Integer in group parameters | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**requiredStringGroup** | **int32**| Required String in group parameters | 
+**requiredBooleanGroup** | **bool**| Required Boolean in group parameters | 
+**requiredInt64Group** | **int64**| Required Integer in group parameters | 
  **optional** | ***TestGroupParametersOpts** | optional parameters | nil if no parameters
 
 ### Optional Parameters
+
 Optional parameters are passed through a pointer to a TestGroupParametersOpts struct
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
 
@@ -396,21 +463,26 @@ Name | Type | Description  | Notes
 
 ### HTTP request headers
 
- - **Content-Type**: Not defined
- - **Accept**: Not defined
+- **Content-Type**: Not defined
+- **Accept**: Not defined
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## TestInlineAdditionalProperties
 
-# **TestInlineAdditionalProperties**
 > TestInlineAdditionalProperties(ctx, requestBody)
 test inline additionalProperties
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **requestBody** | [**map[string]string**](string.md)| request body | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**requestBody** | [**map[string]string**](string.md)| request body | 
 
 ### Return type
 
@@ -422,22 +494,27 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: application/json
- - **Accept**: Not defined
+- **Content-Type**: application/json
+- **Accept**: Not defined
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## TestJsonFormData
 
-# **TestJsonFormData**
 > TestJsonFormData(ctx, param, param2)
 test json serialization of form data
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **param** | **string**| field1 | 
-  **param2** | **string**| field2 | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**param** | **string**| field1 | 
+**param2** | **string**| field2 | 
 
 ### Return type
 
@@ -449,8 +526,10 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: application/x-www-form-urlencoded
- - **Accept**: Not defined
+- **Content-Type**: application/x-www-form-urlencoded
+- **Accept**: Not defined
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/FakeClassnameTags123Api.md b/samples/openapi3/client/petstore/go/go-petstore/docs/FakeClassnameTags123Api.md
index db334ab5689..5bf7b3bcc99 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/FakeClassnameTags123Api.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/FakeClassnameTags123Api.md
@@ -7,7 +7,9 @@ Method | HTTP request | Description
 [**TestClassname**](FakeClassnameTags123Api.md#TestClassname) | **Patch** /fake_classname_test | To test class name in snake case
 
 
-# **TestClassname**
+
+## TestClassname
+
 > Client TestClassname(ctx, client)
 To test class name in snake case
 
@@ -15,10 +17,11 @@ To test class name in snake case
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **client** | [**Client**](Client.md)| client model | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**client** | [**Client**](Client.md)| client model | 
 
 ### Return type
 
@@ -30,8 +33,10 @@ Name | Type | Description  | Notes
 
 ### HTTP request headers
 
- - **Content-Type**: application/json
- - **Accept**: application/json
+- **Content-Type**: application/json
+- **Accept**: application/json
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/File.md b/samples/openapi3/client/petstore/go/go-petstore/docs/File.md
index e7f7d80e05d..a113b0312cd 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/File.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/File.md
@@ -1,6 +1,7 @@
 # File
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **SourceURI** | **string** | Test capitalization | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/FileSchemaTestClass.md b/samples/openapi3/client/petstore/go/go-petstore/docs/FileSchemaTestClass.md
index 69cbfa2c189..ae51414dd6c 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/FileSchemaTestClass.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/FileSchemaTestClass.md
@@ -1,6 +1,7 @@
 # FileSchemaTestClass
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **File** | [**File**](File.md) |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/Foo.md b/samples/openapi3/client/petstore/go/go-petstore/docs/Foo.md
index 4900535886f..a5f66bcf525 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/Foo.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/Foo.md
@@ -1,6 +1,7 @@
 # Foo
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Bar** | **string** |  | [optional] [default to bar]
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/FormatTest.md b/samples/openapi3/client/petstore/go/go-petstore/docs/FormatTest.md
index 8801f1d5700..0bc27ab1c4b 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/FormatTest.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/FormatTest.md
@@ -1,6 +1,7 @@
 # FormatTest
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Integer** | **int32** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/HasOnlyReadOnly.md b/samples/openapi3/client/petstore/go/go-petstore/docs/HasOnlyReadOnly.md
index c259e8b325a..9e2f4957359 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/HasOnlyReadOnly.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/HasOnlyReadOnly.md
@@ -1,6 +1,7 @@
 # HasOnlyReadOnly
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Bar** | **string** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/HealthCheckResult.md b/samples/openapi3/client/petstore/go/go-petstore/docs/HealthCheckResult.md
index fa2d93d82aa..5c8c5861027 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/HealthCheckResult.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/HealthCheckResult.md
@@ -1,6 +1,7 @@
 # HealthCheckResult
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **NullableMessage** | Pointer to **string** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject.md b/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject.md
index ba0eb8201e2..3065b5f2433 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject.md
@@ -1,6 +1,7 @@
 # InlineObject
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Name** | **string** | Updated name of the pet | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject1.md b/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject1.md
index 0330fdd8ff7..0e4f031ae78 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject1.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject1.md
@@ -1,6 +1,7 @@
 # InlineObject1
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **AdditionalMetadata** | **string** | Additional data to pass to server | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject2.md b/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject2.md
index dca7f2953e4..c7f889b63b5 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject2.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject2.md
@@ -1,6 +1,7 @@
 # InlineObject2
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **EnumFormStringArray** | **[]string** | Form parameter enum test (string array) | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject3.md b/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject3.md
index 398fa834485..8c5249fca4d 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject3.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject3.md
@@ -1,6 +1,7 @@
 # InlineObject3
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Integer** | **int32** | None | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject4.md b/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject4.md
index ff4b519d951..988e4881314 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject4.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject4.md
@@ -1,6 +1,7 @@
 # InlineObject4
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Param** | **string** | field1 | 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject5.md b/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject5.md
index c5d977bebe6..bcd135b5a97 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject5.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/InlineObject5.md
@@ -1,6 +1,7 @@
 # InlineObject5
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **AdditionalMetadata** | **string** | Additional data to pass to server | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/InlineResponseDefault.md b/samples/openapi3/client/petstore/go/go-petstore/docs/InlineResponseDefault.md
index e437c153a5f..071a391fbf3 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/InlineResponseDefault.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/InlineResponseDefault.md
@@ -1,6 +1,7 @@
 # InlineResponseDefault
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **String** | [**Foo**](Foo.md) |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/List.md b/samples/openapi3/client/petstore/go/go-petstore/docs/List.md
index 3255fa27868..bba2e529906 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/List.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/List.md
@@ -1,6 +1,7 @@
 # List
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Var123List** | **string** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/MapTest.md b/samples/openapi3/client/petstore/go/go-petstore/docs/MapTest.md
index 49381ec4b85..6645e044658 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/MapTest.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/MapTest.md
@@ -1,6 +1,7 @@
 # MapTest
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **MapMapOfString** | [**map[string]map[string]string**](map.md) |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/MixedPropertiesAndAdditionalPropertiesClass.md b/samples/openapi3/client/petstore/go/go-petstore/docs/MixedPropertiesAndAdditionalPropertiesClass.md
index 0e5f61f6273..a2ce1068b27 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/MixedPropertiesAndAdditionalPropertiesClass.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/MixedPropertiesAndAdditionalPropertiesClass.md
@@ -1,6 +1,7 @@
 # MixedPropertiesAndAdditionalPropertiesClass
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Uuid** | **string** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/Model200Response.md b/samples/openapi3/client/petstore/go/go-petstore/docs/Model200Response.md
index c5abac20d86..27b93bd1549 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/Model200Response.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/Model200Response.md
@@ -1,6 +1,7 @@
 # Model200Response
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Name** | **int32** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/Name.md b/samples/openapi3/client/petstore/go/go-petstore/docs/Name.md
index fccddf63899..453e54d9851 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/Name.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/Name.md
@@ -1,6 +1,7 @@
 # Name
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Name** | **int32** |  | 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/NullableClass.md b/samples/openapi3/client/petstore/go/go-petstore/docs/NullableClass.md
new file mode 100644
index 00000000000..7c70bd76808
--- /dev/null
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/NullableClass.md
@@ -0,0 +1,22 @@
+# NullableClass
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**IntegerProp** | Pointer to **int32** |  | [optional] 
+**NumberProp** | Pointer to **float32** |  | [optional] 
+**BooleanProp** | Pointer to **bool** |  | [optional] 
+**StringProp** | Pointer to **string** |  | [optional] 
+**DateProp** | Pointer to **string** |  | [optional] 
+**DatetimeProp** | Pointer to [**time.Time**](time.Time.md) |  | [optional] 
+**ArrayNullableProp** | Pointer to [**[]map[string]interface{}**](map[string]interface{}.md) |  | [optional] 
+**ArrayAndItemsNullableProp** | Pointer to [**[]map[string]interface{}**](map[string]interface{}.md) |  | [optional] 
+**ArrayItemsNullable** | [**[]map[string]interface{}**](map[string]interface{}.md) |  | [optional] 
+**ObjectNullableProp** | Pointer to [**map[string]map[string]interface{}**](map[string]interface{}.md) |  | [optional] 
+**ObjectAndItemsNullableProp** | Pointer to [**map[string]map[string]interface{}**](map[string]interface{}.md) |  | [optional] 
+**ObjectItemsNullable** | [**map[string]map[string]interface{}**](map[string]interface{}.md) |  | [optional] 
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/NumberOnly.md b/samples/openapi3/client/petstore/go/go-petstore/docs/NumberOnly.md
index 4d2ea1b0413..604cf37eede 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/NumberOnly.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/NumberOnly.md
@@ -1,6 +1,7 @@
 # NumberOnly
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **JustNumber** | **float32** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/Order.md b/samples/openapi3/client/petstore/go/go-petstore/docs/Order.md
index befa9151a18..eeef0971005 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/Order.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/Order.md
@@ -1,6 +1,7 @@
 # Order
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Id** | **int64** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/OuterComposite.md b/samples/openapi3/client/petstore/go/go-petstore/docs/OuterComposite.md
index 30732cf10bf..df9bce1bd90 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/OuterComposite.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/OuterComposite.md
@@ -1,6 +1,7 @@
 # OuterComposite
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **MyNumber** | **float32** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/OuterEnum.md b/samples/openapi3/client/petstore/go/go-petstore/docs/OuterEnum.md
index 06d413b0168..c97466159c5 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/OuterEnum.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/OuterEnum.md
@@ -1,6 +1,7 @@
 # OuterEnum
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/OuterEnumDefaultValue.md b/samples/openapi3/client/petstore/go/go-petstore/docs/OuterEnumDefaultValue.md
index 1487a710393..823808a3d76 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/OuterEnumDefaultValue.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/OuterEnumDefaultValue.md
@@ -1,6 +1,7 @@
 # OuterEnumDefaultValue
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/OuterEnumInteger.md b/samples/openapi3/client/petstore/go/go-petstore/docs/OuterEnumInteger.md
index 8be15eee6a2..b48e6b759a7 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/OuterEnumInteger.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/OuterEnumInteger.md
@@ -1,6 +1,7 @@
 # OuterEnumInteger
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/OuterEnumIntegerDefaultValue.md b/samples/openapi3/client/petstore/go/go-petstore/docs/OuterEnumIntegerDefaultValue.md
index 27d962f106e..cdb350fc185 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/OuterEnumIntegerDefaultValue.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/OuterEnumIntegerDefaultValue.md
@@ -1,6 +1,7 @@
 # OuterEnumIntegerDefaultValue
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/Pet.md b/samples/openapi3/client/petstore/go/go-petstore/docs/Pet.md
index 049c82eb5a0..c48104c6397 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/Pet.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/Pet.md
@@ -1,6 +1,7 @@
 # Pet
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Id** | **int64** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/PetApi.md b/samples/openapi3/client/petstore/go/go-petstore/docs/PetApi.md
index 481ce5e80e5..c4f37589f0c 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/PetApi.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/PetApi.md
@@ -15,16 +15,19 @@ Method | HTTP request | Description
 [**UploadFileWithRequiredFile**](PetApi.md#UploadFileWithRequiredFile) | **Post** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required)
 
 
-# **AddPet**
+
+## AddPet
+
 > AddPet(ctx, pet)
 Add a new pet to the store
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | 
 
 ### Return type
 
@@ -36,26 +39,33 @@ Name | Type | Description  | Notes
 
 ### HTTP request headers
 
- - **Content-Type**: application/json, application/xml
- - **Accept**: Not defined
+- **Content-Type**: application/json, application/xml
+- **Accept**: Not defined
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+## DeletePet
 
-# **DeletePet**
 > DeletePet(ctx, petId, optional)
 Deletes a pet
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **petId** | **int64**| Pet id to delete | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**petId** | **int64**| Pet id to delete | 
  **optional** | ***DeletePetOpts** | optional parameters | nil if no parameters
 
 ### Optional Parameters
+
 Optional parameters are passed through a pointer to a DeletePetOpts struct
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
 
@@ -71,12 +81,16 @@ Name | Type | Description  | Notes
 
 ### HTTP request headers
 
- - **Content-Type**: Not defined
- - **Accept**: Not defined
+- **Content-Type**: Not defined
+- **Accept**: Not defined
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
 
-# **FindPetsByStatus**
+## FindPetsByStatus
+
 > []Pet FindPetsByStatus(ctx, status)
 Finds Pets by status
 
@@ -84,10 +98,11 @@ Multiple status values can be provided with comma separated strings
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **status** | [**[]string**](string.md)| Status values that need to be considered for filter | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**status** | [**[]string**](string.md)| Status values that need to be considered for filter | 
 
 ### Return type
 
@@ -99,12 +114,16 @@ Name | Type | Description  | Notes
 
 ### HTTP request headers
 
- - **Content-Type**: Not defined
- - **Accept**: application/xml, application/json
+- **Content-Type**: Not defined
+- **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
 
-# **FindPetsByTags**
+## FindPetsByTags
+
 > []Pet FindPetsByTags(ctx, tags)
 Finds Pets by tags
 
@@ -112,10 +131,11 @@ Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **tags** | [**[]string**](string.md)| Tags to filter by | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**tags** | [**[]string**](string.md)| Tags to filter by | 
 
 ### Return type
 
@@ -127,12 +147,16 @@ Name | Type | Description  | Notes
 
 ### HTTP request headers
 
- - **Content-Type**: Not defined
- - **Accept**: application/xml, application/json
+- **Content-Type**: Not defined
+- **Accept**: application/xml, application/json
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetPetById
 
-# **GetPetById**
 > Pet GetPetById(ctx, petId)
 Find pet by ID
 
@@ -140,10 +164,11 @@ Returns a single pet
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **petId** | **int64**| ID of pet to return | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**petId** | **int64**| ID of pet to return | 
 
 ### Return type
 
@@ -155,21 +180,26 @@ Name | Type | Description  | Notes
 
 ### HTTP request headers
 
- - **Content-Type**: Not defined
- - **Accept**: application/xml, application/json
+- **Content-Type**: Not defined
+- **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
 
-# **UpdatePet**
+## UpdatePet
+
 > UpdatePet(ctx, pet)
 Update an existing pet
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | 
 
 ### Return type
 
@@ -181,26 +211,33 @@ Name | Type | Description  | Notes
 
 ### HTTP request headers
 
- - **Content-Type**: application/json, application/xml
- - **Accept**: Not defined
+- **Content-Type**: application/json, application/xml
+- **Accept**: Not defined
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
 
-# **UpdatePetWithForm**
+## UpdatePetWithForm
+
 > UpdatePetWithForm(ctx, petId, optional)
 Updates a pet in the store with form data
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **petId** | **int64**| ID of pet that needs to be updated | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**petId** | **int64**| ID of pet that needs to be updated | 
  **optional** | ***UpdatePetWithFormOpts** | optional parameters | nil if no parameters
 
 ### Optional Parameters
+
 Optional parameters are passed through a pointer to a UpdatePetWithFormOpts struct
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
 
@@ -217,26 +254,33 @@ Name | Type | Description  | Notes
 
 ### HTTP request headers
 
- - **Content-Type**: application/x-www-form-urlencoded
- - **Accept**: Not defined
+- **Content-Type**: application/x-www-form-urlencoded
+- **Accept**: Not defined
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+## UploadFile
 
-# **UploadFile**
 > ApiResponse UploadFile(ctx, petId, optional)
 uploads an image
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **petId** | **int64**| ID of pet to update | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**petId** | **int64**| ID of pet to update | 
  **optional** | ***UploadFileOpts** | optional parameters | nil if no parameters
 
 ### Optional Parameters
+
 Optional parameters are passed through a pointer to a UploadFileOpts struct
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
 
@@ -253,27 +297,34 @@ Name | Type | Description  | Notes
 
 ### HTTP request headers
 
- - **Content-Type**: multipart/form-data
- - **Accept**: application/json
+- **Content-Type**: multipart/form-data
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
 
-# **UploadFileWithRequiredFile**
+## UploadFileWithRequiredFile
+
 > ApiResponse UploadFileWithRequiredFile(ctx, petId, requiredFile, optional)
 uploads an image (required)
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **petId** | **int64**| ID of pet to update | 
-  **requiredFile** | ***os.File*****os.File**| file to upload | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**petId** | **int64**| ID of pet to update | 
+**requiredFile** | ***os.File*****os.File**| file to upload | 
  **optional** | ***UploadFileWithRequiredFileOpts** | optional parameters | nil if no parameters
 
 ### Optional Parameters
+
 Optional parameters are passed through a pointer to a UploadFileWithRequiredFileOpts struct
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
 
@@ -290,8 +341,10 @@ Name | Type | Description  | Notes
 
 ### HTTP request headers
 
- - **Content-Type**: multipart/form-data
- - **Accept**: application/json
+- **Content-Type**: multipart/form-data
+- **Accept**: application/json
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/ReadOnlyFirst.md b/samples/openapi3/client/petstore/go/go-petstore/docs/ReadOnlyFirst.md
index b3546db3cc8..3fee799f295 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/ReadOnlyFirst.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/ReadOnlyFirst.md
@@ -1,6 +1,7 @@
 # ReadOnlyFirst
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Bar** | **string** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/Return.md b/samples/openapi3/client/petstore/go/go-petstore/docs/Return.md
index bcf50e4e5cd..11be0b27c50 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/Return.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/Return.md
@@ -1,6 +1,7 @@
 # Return
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Return** | **int32** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/SpecialModelName.md b/samples/openapi3/client/petstore/go/go-petstore/docs/SpecialModelName.md
index 7b2dfb654c0..96d7a28a409 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/SpecialModelName.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/SpecialModelName.md
@@ -1,6 +1,7 @@
 # SpecialModelName
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **SpecialPropertyName** | **int64** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/StoreApi.md b/samples/openapi3/client/petstore/go/go-petstore/docs/StoreApi.md
index fb9743b96d0..c7f9bbcee08 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/StoreApi.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/StoreApi.md
@@ -10,7 +10,9 @@ Method | HTTP request | Description
 [**PlaceOrder**](StoreApi.md#PlaceOrder) | **Post** /store/order | Place an order for a pet
 
 
-# **DeleteOrder**
+
+## DeleteOrder
+
 > DeleteOrder(ctx, orderId)
 Delete purchase order by ID
 
@@ -18,10 +20,11 @@ For valid response try integer IDs with value < 1000. Anything above 1000 or non
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **orderId** | **string**| ID of the order that needs to be deleted | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**orderId** | **string**| ID of the order that needs to be deleted | 
 
 ### Return type
 
@@ -33,18 +36,23 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: Not defined
- - **Accept**: Not defined
+- **Content-Type**: Not defined
+- **Accept**: Not defined
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetInventory
 
-# **GetInventory**
 > map[string]int32 GetInventory(ctx, )
 Returns pet inventories by status
 
 Returns a map of status codes to quantities
 
 ### Required Parameters
+
 This endpoint does not need any parameter.
 
 ### Return type
@@ -57,12 +65,16 @@ This endpoint does not need any parameter.
 
 ### HTTP request headers
 
- - **Content-Type**: Not defined
- - **Accept**: application/json
+- **Content-Type**: Not defined
+- **Accept**: application/json
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetOrderById
 
-# **GetOrderById**
 > Order GetOrderById(ctx, orderId)
 Find purchase order by ID
 
@@ -70,10 +82,11 @@ For valid response try integer IDs with value <= 5 or > 10. Other values will ge
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **orderId** | **int64**| ID of pet that needs to be fetched | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**orderId** | **int64**| ID of pet that needs to be fetched | 
 
 ### Return type
 
@@ -85,21 +98,26 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: Not defined
- - **Accept**: application/xml, application/json
+- **Content-Type**: Not defined
+- **Accept**: application/xml, application/json
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## PlaceOrder
 
-# **PlaceOrder**
 > Order PlaceOrder(ctx, order)
 Place an order for a pet
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **order** | [**Order**](Order.md)| order placed for purchasing the pet | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**order** | [**Order**](Order.md)| order placed for purchasing the pet | 
 
 ### Return type
 
@@ -111,8 +129,10 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: application/json
- - **Accept**: application/xml, application/json
+- **Content-Type**: application/json
+- **Accept**: application/xml, application/json
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/Tag.md b/samples/openapi3/client/petstore/go/go-petstore/docs/Tag.md
index acacb4f54a7..d6b3cc117b5 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/Tag.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/Tag.md
@@ -1,6 +1,7 @@
 # Tag
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Id** | **int64** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/User.md b/samples/openapi3/client/petstore/go/go-petstore/docs/User.md
index 87e1456c8a8..7675d7ff701 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/User.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/User.md
@@ -1,6 +1,7 @@
 # User
 
 ## Properties
+
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
 **Id** | **int64** |  | [optional] 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/docs/UserApi.md b/samples/openapi3/client/petstore/go/go-petstore/docs/UserApi.md
index 3784b31187d..6d3ea4c7d8c 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/docs/UserApi.md
+++ b/samples/openapi3/client/petstore/go/go-petstore/docs/UserApi.md
@@ -14,7 +14,9 @@ Method | HTTP request | Description
 [**UpdateUser**](UserApi.md#UpdateUser) | **Put** /user/{username} | Updated user
 
 
-# **CreateUser**
+
+## CreateUser
+
 > CreateUser(ctx, user)
 Create user
 
@@ -22,10 +24,11 @@ This can only be done by the logged in user.
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **user** | [**User**](User.md)| Created user object | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**user** | [**User**](User.md)| Created user object | 
 
 ### Return type
 
@@ -37,21 +40,26 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: application/json
- - **Accept**: Not defined
+- **Content-Type**: application/json
+- **Accept**: Not defined
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## CreateUsersWithArrayInput
 
-# **CreateUsersWithArrayInput**
 > CreateUsersWithArrayInput(ctx, user)
 Creates list of users with given input array
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **user** | [**[]User**](array.md)| List of user object | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**user** | [**[]User**](array.md)| List of user object | 
 
 ### Return type
 
@@ -63,21 +71,26 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: application/json
- - **Accept**: Not defined
+- **Content-Type**: application/json
+- **Accept**: Not defined
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## CreateUsersWithListInput
 
-# **CreateUsersWithListInput**
 > CreateUsersWithListInput(ctx, user)
 Creates list of users with given input array
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **user** | [**[]User**](array.md)| List of user object | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**user** | [**[]User**](array.md)| List of user object | 
 
 ### Return type
 
@@ -89,12 +102,16 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: application/json
- - **Accept**: Not defined
+- **Content-Type**: application/json
+- **Accept**: Not defined
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## DeleteUser
 
-# **DeleteUser**
 > DeleteUser(ctx, username)
 Delete user
 
@@ -102,10 +119,11 @@ This can only be done by the logged in user.
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **username** | **string**| The name that needs to be deleted | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**username** | **string**| The name that needs to be deleted | 
 
 ### Return type
 
@@ -117,21 +135,26 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: Not defined
- - **Accept**: Not defined
+- **Content-Type**: Not defined
+- **Accept**: Not defined
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetUserByName
 
-# **GetUserByName**
 > User GetUserByName(ctx, username)
 Get user by user name
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **username** | **string**| The name that needs to be fetched. Use user1 for testing. | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**username** | **string**| The name that needs to be fetched. Use user1 for testing. | 
 
 ### Return type
 
@@ -143,22 +166,27 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: Not defined
- - **Accept**: application/xml, application/json
+- **Content-Type**: Not defined
+- **Accept**: application/xml, application/json
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## LoginUser
 
-# **LoginUser**
 > string LoginUser(ctx, username, password)
 Logs user into the system
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **username** | **string**| The user name for login | 
-  **password** | **string**| The password for login in clear text | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**username** | **string**| The user name for login | 
+**password** | **string**| The password for login in clear text | 
 
 ### Return type
 
@@ -170,16 +198,21 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: Not defined
- - **Accept**: application/xml, application/json
+- **Content-Type**: Not defined
+- **Accept**: application/xml, application/json
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## LogoutUser
 
-# **LogoutUser**
 > LogoutUser(ctx, )
 Logs out current logged in user session
 
 ### Required Parameters
+
 This endpoint does not need any parameter.
 
 ### Return type
@@ -192,12 +225,16 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: Not defined
- - **Accept**: Not defined
+- **Content-Type**: Not defined
+- **Accept**: Not defined
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## UpdateUser
 
-# **UpdateUser**
 > UpdateUser(ctx, username, user)
 Updated user
 
@@ -205,11 +242,12 @@ This can only be done by the logged in user.
 
 ### Required Parameters
 
+
 Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
- **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
-  **username** | **string**| name that need to be deleted | 
-  **user** | [**User**](User.md)| Updated user object | 
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**username** | **string**| name that need to be deleted | 
+**user** | [**User**](User.md)| Updated user object | 
 
 ### Return type
 
@@ -221,8 +259,10 @@ No authorization required
 
 ### HTTP request headers
 
- - **Content-Type**: application/json
- - **Accept**: Not defined
+- **Content-Type**: application/json
+- **Accept**: Not defined
 
-[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/model_cat_all_of.go b/samples/openapi3/client/petstore/go/go-petstore/model_cat_all_of.go
new file mode 100644
index 00000000000..3c1d802bd41
--- /dev/null
+++ b/samples/openapi3/client/petstore/go/go-petstore/model_cat_all_of.go
@@ -0,0 +1,14 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * API version: 1.0.0
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
+ */
+
+package petstore
+
+type CatAllOf struct {
+	Declawed bool `json:"declawed,omitempty"`
+}
diff --git a/samples/openapi3/client/petstore/go/go-petstore/model_dog_all_of.go b/samples/openapi3/client/petstore/go/go-petstore/model_dog_all_of.go
new file mode 100644
index 00000000000..a0db0aba4b5
--- /dev/null
+++ b/samples/openapi3/client/petstore/go/go-petstore/model_dog_all_of.go
@@ -0,0 +1,14 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * API version: 1.0.0
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
+ */
+
+package petstore
+
+type DogAllOf struct {
+	Breed string `json:"breed,omitempty"`
+}
diff --git a/samples/openapi3/client/petstore/go/go-petstore/model_nullable_class.go b/samples/openapi3/client/petstore/go/go-petstore/model_nullable_class.go
new file mode 100644
index 00000000000..b0c0b536e06
--- /dev/null
+++ b/samples/openapi3/client/petstore/go/go-petstore/model_nullable_class.go
@@ -0,0 +1,28 @@
+/*
+ * OpenAPI Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * API version: 1.0.0
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
+ */
+
+package petstore
+import (
+	"time"
+)
+
+type NullableClass struct {
+	IntegerProp *int32 `json:"integer_prop,omitempty"`
+	NumberProp *float32 `json:"number_prop,omitempty"`
+	BooleanProp *bool `json:"boolean_prop,omitempty"`
+	StringProp *string `json:"string_prop,omitempty"`
+	DateProp *string `json:"date_prop,omitempty"`
+	DatetimeProp *time.Time `json:"datetime_prop,omitempty"`
+	ArrayNullableProp *[]map[string]interface{} `json:"array_nullable_prop,omitempty"`
+	ArrayAndItemsNullableProp *[]map[string]interface{} `json:"array_and_items_nullable_prop,omitempty"`
+	ArrayItemsNullable []map[string]interface{} `json:"array_items_nullable,omitempty"`
+	ObjectNullableProp *map[string]map[string]interface{} `json:"object_nullable_prop,omitempty"`
+	ObjectAndItemsNullableProp *map[string]map[string]interface{} `json:"object_and_items_nullable_prop,omitempty"`
+	ObjectItemsNullable map[string]map[string]interface{} `json:"object_items_nullable,omitempty"`
+}
-- 
GitLab


From 5302bed88413400dbf021a2114b23dbb0efe7e3b Mon Sep 17 00:00:00 2001
From: Johan Brandhorst <johan.brandhorst@gmail.com>
Date: Thu, 23 May 2019 12:29:11 +0100
Subject: [PATCH 2/4] [Go][Client] Ensure test errors don't crash

Previously we did not interrupt execution of a test case
when an error was returned from an API call. This was
causing the tests to crash as soon as we try to
dereference the response.

We now fail the tests as soon as the first API error
is received.
---
 samples/client/petstore/go/auth_test.go      | 45 +++++++-------------
 samples/client/petstore/go/fake_api_test.go  |  3 +-
 samples/client/petstore/go/pet_api_test.go   | 36 ++++++----------
 samples/client/petstore/go/store_api_test.go |  3 +-
 samples/client/petstore/go/user_api_test.go  | 21 +++------
 5 files changed, 36 insertions(+), 72 deletions(-)

diff --git a/samples/client/petstore/go/auth_test.go b/samples/client/petstore/go/auth_test.go
index ab152c98d1f..17e692bbeec 100644
--- a/samples/client/petstore/go/auth_test.go
+++ b/samples/client/petstore/go/auth_test.go
@@ -43,8 +43,7 @@ func TestOAuth2(t *testing.T) {
 	r, err := client.PetApi.AddPet(context.Background(), newPet)
 
 	if err != nil {
-		t.Errorf("Error while adding pet")
-		t.Log(err)
+		t.Fatalf("Error while adding pet: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
@@ -53,8 +52,7 @@ func TestOAuth2(t *testing.T) {
 	r, err = client.PetApi.DeletePet(auth, 12992, nil)
 
 	if err != nil {
-		t.Errorf("Error while deleting pet by id")
-		t.Log(err)
+		t.Fatalf("Error while deleting pet by id: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
@@ -79,8 +77,7 @@ func TestBasicAuth(t *testing.T) {
 	r, err := client.PetApi.AddPet(auth, newPet)
 
 	if err != nil {
-		t.Errorf("Error while adding pet")
-		t.Log(err)
+		t.Fatalf("Error while adding pet: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
@@ -89,8 +86,7 @@ func TestBasicAuth(t *testing.T) {
 	r, err = client.PetApi.DeletePet(auth, 12992, nil)
 
 	if err != nil {
-		t.Errorf("Error while deleting pet by id")
-		t.Log(err)
+		t.Fatalf("Error while deleting pet by id: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
@@ -110,8 +106,7 @@ func TestAccessToken(t *testing.T) {
 	r, err := client.PetApi.AddPet(nil, newPet)
 
 	if err != nil {
-		t.Errorf("Error while adding pet")
-		t.Log(err)
+		t.Fatalf("Error while adding pet: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
@@ -120,8 +115,7 @@ func TestAccessToken(t *testing.T) {
 	r, err = client.PetApi.DeletePet(auth, 12992, nil)
 
 	if err != nil {
-		t.Errorf("Error while deleting pet by id")
-		t.Log(err)
+		t.Fatalf("Error while deleting pet by id: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
@@ -141,8 +135,7 @@ func TestAPIKeyNoPrefix(t *testing.T) {
 	r, err := client.PetApi.AddPet(context.Background(), newPet)
 
 	if err != nil {
-		t.Errorf("Error while adding pet")
-		t.Log(err)
+		t.Fatalf("Error while adding pet: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
@@ -150,8 +143,7 @@ func TestAPIKeyNoPrefix(t *testing.T) {
 
 	_, r, err = client.PetApi.GetPetById(auth, 12992)
 	if err != nil {
-		t.Errorf("Error while deleting pet by id")
-		t.Log(err)
+		t.Fatalf("Error while deleting pet by id: %v", err)
 	}
 
 	reqb, _ := httputil.DumpRequest(r.Request, true)
@@ -161,8 +153,7 @@ func TestAPIKeyNoPrefix(t *testing.T) {
 
 	r, err = client.PetApi.DeletePet(auth, 12992, nil)
 	if err != nil {
-		t.Errorf("Error while deleting pet by id")
-		t.Log(err)
+		t.Fatalf("Error while deleting pet by id: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
@@ -178,8 +169,7 @@ func TestAPIKeyWithPrefix(t *testing.T) {
 	r, err := client.PetApi.AddPet(nil, newPet)
 
 	if err != nil {
-		t.Errorf("Error while adding pet")
-		t.Log(err)
+		t.Fatalf("Error while adding pet: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
@@ -187,8 +177,7 @@ func TestAPIKeyWithPrefix(t *testing.T) {
 
 	_, r, err = client.PetApi.GetPetById(auth, 12992)
 	if err != nil {
-		t.Errorf("Error while deleting pet by id")
-		t.Log(err)
+		t.Fatalf("Error while deleting pet by id: %v", err)
 	}
 
 	reqb, _ := httputil.DumpRequest(r.Request, true)
@@ -198,8 +187,7 @@ func TestAPIKeyWithPrefix(t *testing.T) {
 
 	r, err = client.PetApi.DeletePet(auth, 12992, nil)
 	if err != nil {
-		t.Errorf("Error while deleting pet by id")
-		t.Log(err)
+		t.Fatalf("Error while deleting pet by id: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
@@ -214,8 +202,7 @@ func TestDefaultHeader(t *testing.T) {
 	r, err := client.PetApi.AddPet(context.Background(), newPet)
 
 	if err != nil {
-		t.Errorf("Error while adding pet")
-		t.Log(err)
+		t.Fatalf("Error while adding pet: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
@@ -224,8 +211,7 @@ func TestDefaultHeader(t *testing.T) {
 	r, err = client.PetApi.DeletePet(context.Background(), 12992, nil)
 
 	if err != nil {
-		t.Errorf("Error while deleting pet by id")
-		t.Log(err)
+		t.Fatalf("Error while deleting pet by id: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
@@ -240,8 +226,7 @@ func TestHostOverride(t *testing.T) {
 	_, r, err := client.PetApi.FindPetsByStatus(context.Background(), nil)
 
 	if err != nil {
-		t.Errorf("Error while finding pets by status")
-		t.Log(err)
+		t.Fatalf("Error while finding pets by status: %v", err)
 	}
 
 	if r.Request.Host != testHost {
diff --git a/samples/client/petstore/go/fake_api_test.go b/samples/client/petstore/go/fake_api_test.go
index 94b7fee3ed5..f4242b5048c 100644
--- a/samples/client/petstore/go/fake_api_test.go
+++ b/samples/client/petstore/go/fake_api_test.go
@@ -20,8 +20,7 @@ func TestPutBodyWithFileSchema(t *testing.T) {
 	r, err := client.FakeApi.TestBodyWithFileSchema(context.Background(), schema)
 
 	if err != nil {
-		t.Errorf("Error while adding pet")
-		t.Log(err)
+		t.Fatalf("Error while adding pet: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
diff --git a/samples/client/petstore/go/pet_api_test.go b/samples/client/petstore/go/pet_api_test.go
index 0e23ca936e3..d64d7d49323 100644
--- a/samples/client/petstore/go/pet_api_test.go
+++ b/samples/client/petstore/go/pet_api_test.go
@@ -32,8 +32,7 @@ func TestAddPet(t *testing.T) {
 	r, err := client.PetApi.AddPet(context.Background(), newPet)
 
 	if err != nil {
-		t.Errorf("Error while adding pet")
-		t.Log(err)
+		t.Fatalf("Error while adding pet: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
@@ -44,8 +43,7 @@ func TestFindPetsByStatusWithMissingParam(t *testing.T) {
 	_, r, err := client.PetApi.FindPetsByStatus(context.Background(), nil)
 
 	if err != nil {
-		t.Errorf("Error while testing TestFindPetsByStatusWithMissingParam")
-		t.Log(err)
+		t.Fatalf("Error while testing TestFindPetsByStatusWithMissingParam: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
@@ -66,8 +64,7 @@ func TestGetPetByIdWithInvalidID(t *testing.T) {
 
 		a.Contains(assertedError.Error(), "Not Found")
 	} else if err != nil {
-		t.Errorf("Error while getting pet by invalid id")
-		t.Log(err)
+		t.Fatalf("Error while getting pet by invalid id: %v", err)
 		t.Log(r)
 	} else {
 		t.Log(resp)
@@ -80,8 +77,7 @@ func TestUpdatePetWithForm(t *testing.T) {
 		Status: optional.NewString("available"),
 	})
 	if err != nil {
-		t.Errorf("Error while updating pet by id")
-		t.Log(err)
+		t.Fatalf("Error while updating pet by id: %v", err)
 		t.Log(r)
 	}
 	if r.StatusCode != 200 {
@@ -96,8 +92,7 @@ func TestFindPetsByTag(t *testing.T) {
 	var found = false
 	resp, r, err := client.PetApi.FindPetsByTags(context.Background(), []string{"tag2"})
 	if err != nil {
-		t.Errorf("Error while getting pet by tag")
-		t.Log(err)
+		t.Fatalf("Error while getting pet by tag: %v", err)
 		t.Log(r)
 	} else {
 		if len(resp) == 0 {
@@ -126,8 +121,7 @@ func TestFindPetsByTag(t *testing.T) {
 func TestFindPetsByStatus(t *testing.T) {
 	resp, r, err := client.PetApi.FindPetsByStatus(context.Background(), []string{"available"})
 	if err != nil {
-		t.Errorf("Error while getting pet by id")
-		t.Log(err)
+		t.Fatalf("Error while getting pet by id: %v", err)
 		t.Log(r)
 	} else {
 		if len(resp) == 0 {
@@ -154,8 +148,7 @@ func TestUploadFile(t *testing.T) {
 	})
 
 	if err != nil {
-		t.Errorf("Error while uploading file")
-		t.Log(err)
+		t.Fatalf("Error while uploading file: %v", err)
 	}
 
 	if r.StatusCode != 200 {
@@ -174,8 +167,7 @@ func TestUploadFileRequired(t *testing.T) {
 		})
 
 	if err != nil {
-		t.Errorf("Error while uploading file")
-		t.Log(err)
+		t.Fatalf("Error while uploading file: %v", err)
 	}
 
 	if r.StatusCode != 200 {
@@ -187,8 +179,7 @@ func TestDeletePet(t *testing.T) {
 	r, err := client.PetApi.DeletePet(context.Background(), 12830, nil)
 
 	if err != nil {
-		t.Errorf("Error while deleting pet by id")
-		t.Log(err)
+		t.Fatalf("Error while deleting pet by id: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
@@ -269,8 +260,7 @@ func waitOnFunctions(t *testing.T, errc chan error, n int) {
 	for i := 0; i < n; i++ {
 		err := <-errc
 		if err != nil {
-			t.Errorf("Error performing concurrent test")
-			t.Log(err)
+			t.Fatalf("Error performing concurrent test: %v", err)
 		}
 	}
 }
@@ -279,8 +269,7 @@ func deletePet(t *testing.T, id int64) {
 	r, err := client.PetApi.DeletePet(context.Background(), id, nil)
 
 	if err != nil {
-		t.Errorf("Error while deleting pet by id")
-		t.Log(err)
+		t.Fatalf("Error while deleting pet by id: %v", err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
@@ -291,8 +280,7 @@ func isPetCorrect(t *testing.T, id int64, name string, status string) {
 	assert := assert.New(t)
 	resp, r, err := client.PetApi.GetPetById(context.Background(), id)
 	if err != nil {
-		t.Errorf("Error while getting pet by id")
-		t.Log(err)
+		t.Fatalf("Error while getting pet by id: %v", err)
 	} else {
 		assert.Equal(resp.Id, int64(id), "Pet id should be equal")
 		assert.Equal(resp.Name, name, fmt.Sprintf("Pet name should be %s", name))
diff --git a/samples/client/petstore/go/store_api_test.go b/samples/client/petstore/go/store_api_test.go
index 72191d0dd61..3088adf7b40 100644
--- a/samples/client/petstore/go/store_api_test.go
+++ b/samples/client/petstore/go/store_api_test.go
@@ -28,9 +28,8 @@ func TestPlaceOrder(t *testing.T) {
 			MatchString(err.Error()) {
 			t.Log("Skipping error for parsing time with `+0000` UTC offset as Petstore Test Server does not return valid RFC 3339 datetime")
 		} else {
-			t.Errorf("Error while placing order")
+			t.Fatalf("Error while placing order: %v", err)
 		}
-		t.Log(err)
 	}
 	if r.StatusCode != 200 {
 		t.Log(r)
diff --git a/samples/client/petstore/go/user_api_test.go b/samples/client/petstore/go/user_api_test.go
index 67995a160ad..012c608fab6 100644
--- a/samples/client/petstore/go/user_api_test.go
+++ b/samples/client/petstore/go/user_api_test.go
@@ -23,8 +23,7 @@ func TestCreateUser(t *testing.T) {
 	apiResponse, err := client.UserApi.CreateUser(context.Background(), newUser)
 
 	if err != nil {
-		t.Errorf("Error while adding user")
-		t.Log(err)
+		t.Fatalf("Error while adding user: %v", err)
 	}
 	if apiResponse.StatusCode != 200 {
 		t.Log(apiResponse)
@@ -58,8 +57,7 @@ func TestCreateUsersWithArrayInput(t *testing.T) {
 
 	apiResponse, err := client.UserApi.CreateUsersWithArrayInput(context.Background(), newUsers)
 	if err != nil {
-		t.Errorf("Error while adding users")
-		t.Log(err)
+		t.Fatalf("Error while adding users: %v", err)
 	}
 	if apiResponse.StatusCode != 200 {
 		t.Log(apiResponse)
@@ -84,8 +82,7 @@ func TestGetUserByName(t *testing.T) {
 
 	resp, apiResponse, err := client.UserApi.GetUserByName(context.Background(), "gopher")
 	if err != nil {
-		t.Errorf("Error while getting user by id")
-		t.Log(err)
+		t.Fatalf("Error while getting user by id: %v", err)
 	} else {
 		assert.Equal(resp.Id, int64(1000), "User id should be equal")
 		assert.Equal(resp.Username, "gopher", "User name should be gopher")
@@ -102,8 +99,7 @@ func TestGetUserByNameWithInvalidID(t *testing.T) {
 	if apiResponse != nil && apiResponse.StatusCode == 404 {
 		return // This is a pass condition. API will return with a 404 error.
 	} else if err != nil {
-		t.Errorf("Error while getting user by invalid id")
-		t.Log(err)
+		t.Fatalf("Error while getting user by invalid id: %v", err)
 		t.Log(apiResponse)
 	} else {
 		t.Log(resp)
@@ -128,8 +124,7 @@ func TestUpdateUser(t *testing.T) {
 
 	apiResponse, err := client.UserApi.UpdateUser(context.Background(), "gopher", newUser)
 	if err != nil {
-		t.Errorf("Error while deleting user by id")
-		t.Log(err)
+		t.Fatalf("Error while deleting user by id: %v", err)
 	}
 	if apiResponse.StatusCode != 200 {
 		t.Log(apiResponse)
@@ -138,8 +133,7 @@ func TestUpdateUser(t *testing.T) {
 	//verify changings are correct
 	resp, apiResponse, err := client.UserApi.GetUserByName(context.Background(), "gopher")
 	if err != nil {
-		t.Errorf("Error while getting user by id")
-		t.Log(err)
+		t.Fatalf("Error while getting user by id: %v", err)
 	} else {
 		assert.Equal(resp.Id, int64(1000), "User id should be equal")
 		assert.Equal(resp.FirstName, "gopher20", "User name should be gopher")
@@ -151,8 +145,7 @@ func TestDeleteUser(t *testing.T) {
 	apiResponse, err := client.UserApi.DeleteUser(context.Background(), "gopher")
 
 	if err != nil {
-		t.Errorf("Error while deleting user")
-		t.Log(err)
+		t.Fatalf("Error while deleting user: %v", err)
 	}
 	if apiResponse.StatusCode != 200 {
 		t.Log(apiResponse)
-- 
GitLab


From fc3d0f403970ca9b54b9ef9d18871ea397980c46 Mon Sep 17 00:00:00 2001
From: Johan Brandhorst <johan.brandhorst@gmail.com>
Date: Mon, 20 May 2019 12:35:58 +0100
Subject: [PATCH 3/4] [Go][Client] Use configured Scheme and Host in requests

Previously we were simply setting the Host header and
completely ignoring the configured scheme.

Fixes #2943
---
 .../src/main/resources/go/client.mustache         | 15 ++++++++++-----
 samples/client/petstore/go/auth_test.go           | 14 +++++++++++++-
 .../petstore/go/go-petstore-withXml/client.go     | 15 ++++++++++-----
 samples/client/petstore/go/go-petstore/client.go  | 15 ++++++++++-----
 samples/client/petstore/go/pet_api_test.go        |  4 +++-
 .../client/petstore/go/go-petstore/client.go      | 15 ++++++++++-----
 6 files changed, 56 insertions(+), 22 deletions(-)

diff --git a/modules/openapi-generator/src/main/resources/go/client.mustache b/modules/openapi-generator/src/main/resources/go/client.mustache
index 71db41037b2..c67976ea72f 100644
--- a/modules/openapi-generator/src/main/resources/go/client.mustache
+++ b/modules/openapi-generator/src/main/resources/go/client.mustache
@@ -244,6 +244,16 @@ func (c *APIClient) prepareRequest(
 		return nil, err
 	}
 
+	// Override request host, if applicable
+	if c.cfg.Host != "" {
+		url.Host = c.cfg.Host
+	}
+
+	// Override request scheme, if applicable
+	if c.cfg.Scheme != "" {
+		url.Scheme = c.cfg.Scheme
+	}
+
 	// Adding Query Param
 	query := url.Query()
 	for k, v := range queryParams {
@@ -274,11 +284,6 @@ func (c *APIClient) prepareRequest(
 		localVarRequest.Header = headers
 	}
 
-	// Override request host, if applicable
-	if c.cfg.Host != "" {
-		localVarRequest.Host = c.cfg.Host
-	}
-
 	// Add the user agent to the request.
 	localVarRequest.Header.Add("User-Agent", c.cfg.UserAgent)
 
diff --git a/samples/client/petstore/go/auth_test.go b/samples/client/petstore/go/auth_test.go
index 17e692bbeec..5f817703a88 100644
--- a/samples/client/petstore/go/auth_test.go
+++ b/samples/client/petstore/go/auth_test.go
@@ -229,11 +229,23 @@ func TestHostOverride(t *testing.T) {
 		t.Fatalf("Error while finding pets by status: %v", err)
 	}
 
-	if r.Request.Host != testHost {
+	if r.Request.URL.Host != testHost {
 		t.Errorf("Request Host is %v, expected %v", r.Request.Host, testHost)
 	}
 }
 
+func TestSchemeOverride(t *testing.T) {
+	_, r, err := client.PetApi.FindPetsByStatus(context.Background(), nil)
+
+	if err != nil {
+		t.Fatalf("Error while finding pets by status: %v", err)
+	}
+
+	if r.Request.URL.Scheme != testScheme {
+		t.Errorf("Request Scheme is %v, expected %v", r.Request.URL.Scheme, testScheme)
+	}
+}
+
 // Add custom clients to the context.
 func createContext(httpClient *http.Client) context.Context {
 	parent := oauth2.NoContext
diff --git a/samples/client/petstore/go/go-petstore-withXml/client.go b/samples/client/petstore/go/go-petstore-withXml/client.go
index c666bcfe6ea..9c9943dd671 100644
--- a/samples/client/petstore/go/go-petstore-withXml/client.go
+++ b/samples/client/petstore/go/go-petstore-withXml/client.go
@@ -256,6 +256,16 @@ func (c *APIClient) prepareRequest(
 		return nil, err
 	}
 
+	// Override request host, if applicable
+	if c.cfg.Host != "" {
+		url.Host = c.cfg.Host
+	}
+
+	// Override request scheme, if applicable
+	if c.cfg.Scheme != "" {
+		url.Scheme = c.cfg.Scheme
+	}
+
 	// Adding Query Param
 	query := url.Query()
 	for k, v := range queryParams {
@@ -286,11 +296,6 @@ func (c *APIClient) prepareRequest(
 		localVarRequest.Header = headers
 	}
 
-	// Override request host, if applicable
-	if c.cfg.Host != "" {
-		localVarRequest.Host = c.cfg.Host
-	}
-
 	// Add the user agent to the request.
 	localVarRequest.Header.Add("User-Agent", c.cfg.UserAgent)
 
diff --git a/samples/client/petstore/go/go-petstore/client.go b/samples/client/petstore/go/go-petstore/client.go
index e057b745291..e67a99338b8 100644
--- a/samples/client/petstore/go/go-petstore/client.go
+++ b/samples/client/petstore/go/go-petstore/client.go
@@ -255,6 +255,16 @@ func (c *APIClient) prepareRequest(
 		return nil, err
 	}
 
+	// Override request host, if applicable
+	if c.cfg.Host != "" {
+		url.Host = c.cfg.Host
+	}
+
+	// Override request scheme, if applicable
+	if c.cfg.Scheme != "" {
+		url.Scheme = c.cfg.Scheme
+	}
+
 	// Adding Query Param
 	query := url.Query()
 	for k, v := range queryParams {
@@ -285,11 +295,6 @@ func (c *APIClient) prepareRequest(
 		localVarRequest.Header = headers
 	}
 
-	// Override request host, if applicable
-	if c.cfg.Host != "" {
-		localVarRequest.Host = c.cfg.Host
-	}
-
 	// Add the user agent to the request.
 	localVarRequest.Header.Add("User-Agent", c.cfg.UserAgent)
 
diff --git a/samples/client/petstore/go/pet_api_test.go b/samples/client/petstore/go/pet_api_test.go
index d64d7d49323..969fab1f667 100644
--- a/samples/client/petstore/go/pet_api_test.go
+++ b/samples/client/petstore/go/pet_api_test.go
@@ -14,12 +14,14 @@ import (
 
 var client *sw.APIClient
 
-const testHost = "testhost"
+const testHost = "petstore.swagger.io:80"
+const testScheme = "http"
 
 func TestMain(m *testing.M) {
 	cfg := sw.NewConfiguration()
 	cfg.AddDefaultHeader("testheader", "testvalue")
 	cfg.Host = testHost
+	cfg.Scheme = testScheme
 	client = sw.NewAPIClient(cfg)
 	retCode := m.Run()
 	os.Exit(retCode)
diff --git a/samples/openapi3/client/petstore/go/go-petstore/client.go b/samples/openapi3/client/petstore/go/go-petstore/client.go
index 5559f79c6f8..db46607be28 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/client.go
+++ b/samples/openapi3/client/petstore/go/go-petstore/client.go
@@ -258,6 +258,16 @@ func (c *APIClient) prepareRequest(
 		return nil, err
 	}
 
+	// Override request host, if applicable
+	if c.cfg.Host != "" {
+		url.Host = c.cfg.Host
+	}
+
+	// Override request scheme, if applicable
+	if c.cfg.Scheme != "" {
+		url.Scheme = c.cfg.Scheme
+	}
+
 	// Adding Query Param
 	query := url.Query()
 	for k, v := range queryParams {
@@ -288,11 +298,6 @@ func (c *APIClient) prepareRequest(
 		localVarRequest.Header = headers
 	}
 
-	// Override request host, if applicable
-	if c.cfg.Host != "" {
-		localVarRequest.Host = c.cfg.Host
-	}
-
 	// Add the user agent to the request.
 	localVarRequest.Header.Add("User-Agent", c.cfg.UserAgent)
 
-- 
GitLab


From 71b8b52ba839dd16e73aac2d9507a47abcbd51d8 Mon Sep 17 00:00:00 2001
From: Johan Brandhorst <johan.brandhorst@gmail.com>
Date: Thu, 6 Jun 2019 14:36:07 +0100
Subject: [PATCH 4/4] [Go][Client] Add back strings import to api

The strings package is still used for replacing strings
in some places.
---
 modules/openapi-generator/src/main/resources/go/api.mustache     | 1 +
 .../client/petstore/go/go-petstore-withXml/api_another_fake.go   | 1 +
 samples/client/petstore/go/go-petstore-withXml/api_fake.go       | 1 +
 .../go/go-petstore-withXml/api_fake_classname_tags123.go         | 1 +
 samples/client/petstore/go/go-petstore-withXml/api_pet.go        | 1 +
 samples/client/petstore/go/go-petstore-withXml/api_store.go      | 1 +
 samples/client/petstore/go/go-petstore-withXml/api_user.go       | 1 +
 samples/client/petstore/go/go-petstore/api_another_fake.go       | 1 +
 samples/client/petstore/go/go-petstore/api_fake.go               | 1 +
 .../client/petstore/go/go-petstore/api_fake_classname_tags123.go | 1 +
 samples/client/petstore/go/go-petstore/api_pet.go                | 1 +
 samples/client/petstore/go/go-petstore/api_store.go              | 1 +
 samples/client/petstore/go/go-petstore/api_user.go               | 1 +
 .../openapi3/client/petstore/go/go-petstore/api_another_fake.go  | 1 +
 samples/openapi3/client/petstore/go/go-petstore/api_default.go   | 1 +
 samples/openapi3/client/petstore/go/go-petstore/api_fake.go      | 1 +
 .../client/petstore/go/go-petstore/api_fake_classname_tags123.go | 1 +
 samples/openapi3/client/petstore/go/go-petstore/api_pet.go       | 1 +
 samples/openapi3/client/petstore/go/go-petstore/api_store.go     | 1 +
 samples/openapi3/client/petstore/go/go-petstore/api_user.go      | 1 +
 20 files changed, 20 insertions(+)

diff --git a/modules/openapi-generator/src/main/resources/go/api.mustache b/modules/openapi-generator/src/main/resources/go/api.mustache
index 1a6a8f04343..46001724bc7 100644
--- a/modules/openapi-generator/src/main/resources/go/api.mustache
+++ b/modules/openapi-generator/src/main/resources/go/api.mustache
@@ -7,6 +7,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 {{#imports}}	"{{import}}"
 {{/imports}}
 )
diff --git a/samples/client/petstore/go/go-petstore-withXml/api_another_fake.go b/samples/client/petstore/go/go-petstore-withXml/api_another_fake.go
index c6d1c262556..9d6676789ba 100644
--- a/samples/client/petstore/go/go-petstore-withXml/api_another_fake.go
+++ b/samples/client/petstore/go/go-petstore-withXml/api_another_fake.go
@@ -15,6 +15,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 )
 
 // Linger please
diff --git a/samples/client/petstore/go/go-petstore-withXml/api_fake.go b/samples/client/petstore/go/go-petstore-withXml/api_fake.go
index b943fc4be88..5990f9c2807 100644
--- a/samples/client/petstore/go/go-petstore-withXml/api_fake.go
+++ b/samples/client/petstore/go/go-petstore-withXml/api_fake.go
@@ -15,6 +15,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 	"github.com/antihax/optional"
 	"os"
 )
diff --git a/samples/client/petstore/go/go-petstore-withXml/api_fake_classname_tags123.go b/samples/client/petstore/go/go-petstore-withXml/api_fake_classname_tags123.go
index dd7a0babfed..26a4414067a 100644
--- a/samples/client/petstore/go/go-petstore-withXml/api_fake_classname_tags123.go
+++ b/samples/client/petstore/go/go-petstore-withXml/api_fake_classname_tags123.go
@@ -15,6 +15,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 )
 
 // Linger please
diff --git a/samples/client/petstore/go/go-petstore-withXml/api_pet.go b/samples/client/petstore/go/go-petstore-withXml/api_pet.go
index a2f87d72c5a..5f48df10ec4 100644
--- a/samples/client/petstore/go/go-petstore-withXml/api_pet.go
+++ b/samples/client/petstore/go/go-petstore-withXml/api_pet.go
@@ -15,6 +15,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 	"fmt"
 	"github.com/antihax/optional"
 	"os"
diff --git a/samples/client/petstore/go/go-petstore-withXml/api_store.go b/samples/client/petstore/go/go-petstore-withXml/api_store.go
index ab86530a3ba..f91116e6c85 100644
--- a/samples/client/petstore/go/go-petstore-withXml/api_store.go
+++ b/samples/client/petstore/go/go-petstore-withXml/api_store.go
@@ -15,6 +15,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 	"fmt"
 )
 
diff --git a/samples/client/petstore/go/go-petstore-withXml/api_user.go b/samples/client/petstore/go/go-petstore-withXml/api_user.go
index 57581af75fb..6d0c02e3601 100644
--- a/samples/client/petstore/go/go-petstore-withXml/api_user.go
+++ b/samples/client/petstore/go/go-petstore-withXml/api_user.go
@@ -15,6 +15,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 	"fmt"
 )
 
diff --git a/samples/client/petstore/go/go-petstore/api_another_fake.go b/samples/client/petstore/go/go-petstore/api_another_fake.go
index 152bf5be285..5b13cf774e5 100644
--- a/samples/client/petstore/go/go-petstore/api_another_fake.go
+++ b/samples/client/petstore/go/go-petstore/api_another_fake.go
@@ -14,6 +14,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 )
 
 // Linger please
diff --git a/samples/client/petstore/go/go-petstore/api_fake.go b/samples/client/petstore/go/go-petstore/api_fake.go
index 27c3ae978ba..b0a05c5b001 100644
--- a/samples/client/petstore/go/go-petstore/api_fake.go
+++ b/samples/client/petstore/go/go-petstore/api_fake.go
@@ -14,6 +14,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 	"github.com/antihax/optional"
 	"os"
 )
diff --git a/samples/client/petstore/go/go-petstore/api_fake_classname_tags123.go b/samples/client/petstore/go/go-petstore/api_fake_classname_tags123.go
index 6c04d55739a..eb6cac7d8f9 100644
--- a/samples/client/petstore/go/go-petstore/api_fake_classname_tags123.go
+++ b/samples/client/petstore/go/go-petstore/api_fake_classname_tags123.go
@@ -14,6 +14,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 )
 
 // Linger please
diff --git a/samples/client/petstore/go/go-petstore/api_pet.go b/samples/client/petstore/go/go-petstore/api_pet.go
index f9818f34bf7..29b060fbf3e 100644
--- a/samples/client/petstore/go/go-petstore/api_pet.go
+++ b/samples/client/petstore/go/go-petstore/api_pet.go
@@ -14,6 +14,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 	"fmt"
 	"github.com/antihax/optional"
 	"os"
diff --git a/samples/client/petstore/go/go-petstore/api_store.go b/samples/client/petstore/go/go-petstore/api_store.go
index 99ad007091e..1e969338f19 100644
--- a/samples/client/petstore/go/go-petstore/api_store.go
+++ b/samples/client/petstore/go/go-petstore/api_store.go
@@ -14,6 +14,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 	"fmt"
 )
 
diff --git a/samples/client/petstore/go/go-petstore/api_user.go b/samples/client/petstore/go/go-petstore/api_user.go
index d83c779dfb3..dc7a9434ae1 100644
--- a/samples/client/petstore/go/go-petstore/api_user.go
+++ b/samples/client/petstore/go/go-petstore/api_user.go
@@ -14,6 +14,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 	"fmt"
 )
 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/api_another_fake.go b/samples/openapi3/client/petstore/go/go-petstore/api_another_fake.go
index 1c5c50d2e53..440c4de44fd 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/api_another_fake.go
+++ b/samples/openapi3/client/petstore/go/go-petstore/api_another_fake.go
@@ -14,6 +14,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 )
 
 // Linger please
diff --git a/samples/openapi3/client/petstore/go/go-petstore/api_default.go b/samples/openapi3/client/petstore/go/go-petstore/api_default.go
index 1642ea1d22c..a36915c35f4 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/api_default.go
+++ b/samples/openapi3/client/petstore/go/go-petstore/api_default.go
@@ -14,6 +14,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 )
 
 // Linger please
diff --git a/samples/openapi3/client/petstore/go/go-petstore/api_fake.go b/samples/openapi3/client/petstore/go/go-petstore/api_fake.go
index 6dd6f996d1f..91226425e68 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/api_fake.go
+++ b/samples/openapi3/client/petstore/go/go-petstore/api_fake.go
@@ -14,6 +14,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 	"github.com/antihax/optional"
 	"os"
 )
diff --git a/samples/openapi3/client/petstore/go/go-petstore/api_fake_classname_tags123.go b/samples/openapi3/client/petstore/go/go-petstore/api_fake_classname_tags123.go
index c58af2fc260..4dc7d571665 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/api_fake_classname_tags123.go
+++ b/samples/openapi3/client/petstore/go/go-petstore/api_fake_classname_tags123.go
@@ -14,6 +14,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 )
 
 // Linger please
diff --git a/samples/openapi3/client/petstore/go/go-petstore/api_pet.go b/samples/openapi3/client/petstore/go/go-petstore/api_pet.go
index 189fd43a07b..5bbbc18d6cb 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/api_pet.go
+++ b/samples/openapi3/client/petstore/go/go-petstore/api_pet.go
@@ -14,6 +14,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 	"fmt"
 	"github.com/antihax/optional"
 	"os"
diff --git a/samples/openapi3/client/petstore/go/go-petstore/api_store.go b/samples/openapi3/client/petstore/go/go-petstore/api_store.go
index 1fb9a6a78b7..57e09ccfb6c 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/api_store.go
+++ b/samples/openapi3/client/petstore/go/go-petstore/api_store.go
@@ -14,6 +14,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 	"fmt"
 )
 
diff --git a/samples/openapi3/client/petstore/go/go-petstore/api_user.go b/samples/openapi3/client/petstore/go/go-petstore/api_user.go
index ac33b7f94bc..ac59686008d 100644
--- a/samples/openapi3/client/petstore/go/go-petstore/api_user.go
+++ b/samples/openapi3/client/petstore/go/go-petstore/api_user.go
@@ -14,6 +14,7 @@ import (
 	"io/ioutil"
 	"net/http"
 	"net/url"
+	"strings"
 	"fmt"
 )
 
-- 
GitLab