From c07bb6caa89f2ed788c147ee31a7d9a92e2368bb Mon Sep 17 00:00:00 2001 From: Erwin de Haan Date: Thu, 2 Oct 2025 10:39:39 +0200 Subject: [PATCH 1/4] Add support for other Accept header values or full arrays when multiple options are present. --- .../generichost/ClientUtils.mustache | 21 +++++++++++++++++++ .../csharp/libraries/generichost/api.mustache | 8 ++++--- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ClientUtils.mustache b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ClientUtils.mustache index 357d2197cd97..e45791a53a33 100644 --- a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ClientUtils.mustache +++ b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ClientUtils.mustache @@ -18,6 +18,7 @@ using {{packageName}}.{{modelPackage}}; {{/-first}} {{/models}} using System.Runtime.CompilerServices; +using System.Net.Http.Headers; {{>Assembly}}namespace {{packageName}}.{{clientPackage}} { @@ -311,6 +312,26 @@ using System.Runtime.CompilerServices; return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/api.mustache b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/api.mustache index 2ebe38a2919e..f75235833fbe 100644 --- a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/api.mustache +++ b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/api.mustache @@ -8,6 +8,7 @@ {{/nrt}} using System; using System.Collections.Generic; +using System.Collections.ObjectModel; {{#net80OrLater}} {{#lambda.uniqueLines}} {{#operations}} @@ -20,6 +21,7 @@ using System.Linq; {{/lambda.uniqueLines}} {{/net80OrLater}} using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -605,10 +607,10 @@ namespace {{packageName}}.{{apiPackage}} {{#produces}} {{#-first}} - string{{nrt?}} acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); {{/-first}} {{/produces}} {{#net60OrLater}} From 5cc695a3de5f2aa29d8ab4e424f6ae26c48f6813 Mon Sep 17 00:00:00 2001 From: Erwin de Haan Date: Thu, 2 Oct 2025 10:40:42 +0200 Subject: [PATCH 2/4] Expose ContentHeaders on ApiResponse, to access ContentDisposition for example with file downloads. --- .../libraries/generichost/ApiResponse`1.mustache | 13 +++++++++++++ .../libraries/generichost/ClientUtils.mustache | 7 ++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ApiResponse`1.mustache b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ApiResponse`1.mustache index 3ac107fa7133..3cd0aaf7d0ff 100644 --- a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ApiResponse`1.mustache +++ b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ApiResponse`1.mustache @@ -49,6 +49,11 @@ namespace {{packageName}}.{{clientPackage}} /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -106,6 +111,11 @@ namespace {{packageName}}.{{clientPackage}} /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -144,6 +154,7 @@ namespace {{packageName}}.{{clientPackage}} { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -167,6 +178,7 @@ namespace {{packageName}}.{{clientPackage}} { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -178,6 +190,7 @@ namespace {{packageName}}.{{clientPackage}} OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } {{#x-http-statuses-with-return}} diff --git a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ClientUtils.mustache b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ClientUtils.mustache index e45791a53a33..c09101c8a906 100644 --- a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ClientUtils.mustache +++ b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ClientUtils.mustache @@ -327,7 +327,12 @@ using System.Net.Http.Headers; return null; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) - return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + {{#net80OrLater}} + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + {{/net80OrLater}} + {{^net80OrLater}} + return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; + {{/net80OrLater}} return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); } From 032817f09f23789344995746eab2dc3a93fed95d Mon Sep 17 00:00:00 2001 From: Erwin de Haan Date: Mon, 27 Oct 2025 08:56:37 +0100 Subject: [PATCH 3/4] Update samples and documentation --- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 2 + .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 2 + .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/APIKEYSApi.cs | 2 + .../src/Org.OpenAPITools/Api/APIKeys0Api.cs | 2 + .../src/Org.OpenAPITools/Api/ApiKeys1Api.cs | 2 + .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../Org.OpenAPITools/Api/AnotherFakeApi.cs | 8 ++- .../src/Org.OpenAPITools/Api/DefaultApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/FakeApi.cs | 56 ++++++++++--------- .../Api/FakeClassnameTags123Api.cs | 8 ++- .../src/Org.OpenAPITools/Api/PetApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/StoreApi.cs | 20 ++++--- .../src/Org.OpenAPITools/Api/UserApi.cs | 14 +++-- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../Org.OpenAPITools/Api/AnotherFakeApi.cs | 8 ++- .../src/Org.OpenAPITools/Api/DefaultApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/FakeApi.cs | 56 ++++++++++--------- .../Api/FakeClassnameTags123Api.cs | 8 ++- .../src/Org.OpenAPITools/Api/PetApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/StoreApi.cs | 20 ++++--- .../src/Org.OpenAPITools/Api/UserApi.cs | 14 +++-- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../Org.OpenAPITools/Api/AnotherFakeApi.cs | 8 ++- .../src/Org.OpenAPITools/Api/DefaultApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/FakeApi.cs | 56 ++++++++++--------- .../Api/FakeClassnameTags123Api.cs | 8 ++- .../src/Org.OpenAPITools/Api/PetApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/StoreApi.cs | 20 ++++--- .../src/Org.OpenAPITools/Api/UserApi.cs | 14 +++-- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../Org.OpenAPITools/Api/AnotherFakeApi.cs | 8 ++- .../src/Org.OpenAPITools/Api/DefaultApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/FakeApi.cs | 56 ++++++++++--------- .../Api/FakeClassnameTags123Api.cs | 8 ++- .../src/Org.OpenAPITools/Api/PetApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/StoreApi.cs | 20 ++++--- .../src/Org.OpenAPITools/Api/UserApi.cs | 14 +++-- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../Org.OpenAPITools/Api/AnotherFakeApi.cs | 8 ++- .../src/Org.OpenAPITools/Api/DefaultApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/FakeApi.cs | 56 ++++++++++--------- .../Api/FakeClassnameTags123Api.cs | 8 ++- .../src/Org.OpenAPITools/Api/PetApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/StoreApi.cs | 20 ++++--- .../src/Org.OpenAPITools/Api/UserApi.cs | 14 +++-- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../Org.OpenAPITools/Api/AnotherFakeApi.cs | 8 ++- .../src/Org.OpenAPITools/Api/DefaultApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/FakeApi.cs | 56 ++++++++++--------- .../Api/FakeClassnameTags123Api.cs | 8 ++- .../src/Org.OpenAPITools/Api/PetApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/StoreApi.cs | 20 ++++--- .../src/Org.OpenAPITools/Api/UserApi.cs | 14 +++-- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../Org.OpenAPITools/Api/AnotherFakeApi.cs | 8 ++- .../src/Org.OpenAPITools/Api/DefaultApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/FakeApi.cs | 56 ++++++++++--------- .../Api/FakeClassnameTags123Api.cs | 8 ++- .../src/Org.OpenAPITools/Api/PetApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/StoreApi.cs | 20 ++++--- .../src/Org.OpenAPITools/Api/UserApi.cs | 14 +++-- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../Org.OpenAPITools/Api/AnotherFakeApi.cs | 8 ++- .../src/Org.OpenAPITools/Api/DefaultApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/FakeApi.cs | 56 ++++++++++--------- .../Api/FakeClassnameTags123Api.cs | 8 ++- .../src/Org.OpenAPITools/Api/PetApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/StoreApi.cs | 20 ++++--- .../src/Org.OpenAPITools/Api/UserApi.cs | 14 +++-- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../Org.OpenAPITools/Api/AnotherFakeApi.cs | 8 ++- .../src/Org.OpenAPITools/Api/DefaultApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/FakeApi.cs | 56 ++++++++++--------- .../Api/FakeClassnameTags123Api.cs | 8 ++- .../src/Org.OpenAPITools/Api/PetApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/StoreApi.cs | 20 ++++--- .../src/Org.OpenAPITools/Api/UserApi.cs | 14 +++-- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../Org.OpenAPITools/Api/AnotherFakeApi.cs | 8 ++- .../src/Org.OpenAPITools/Api/DefaultApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/FakeApi.cs | 56 ++++++++++--------- .../Api/FakeClassnameTags123Api.cs | 8 ++- .../src/Org.OpenAPITools/Api/PetApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/StoreApi.cs | 20 ++++--- .../src/Org.OpenAPITools/Api/UserApi.cs | 14 +++-- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../Org.OpenAPITools/Api/AnotherFakeApi.cs | 8 ++- .../src/Org.OpenAPITools/Api/DefaultApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/FakeApi.cs | 56 ++++++++++--------- .../Api/FakeClassnameTags123Api.cs | 8 ++- .../src/Org.OpenAPITools/Api/PetApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/StoreApi.cs | 20 ++++--- .../src/Org.OpenAPITools/Api/UserApi.cs | 14 +++-- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../Org.OpenAPITools/Api/AnotherFakeApi.cs | 8 ++- .../src/Org.OpenAPITools/Api/DefaultApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/FakeApi.cs | 56 ++++++++++--------- .../Api/FakeClassnameTags123Api.cs | 8 ++- .../src/Org.OpenAPITools/Api/PetApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/StoreApi.cs | 20 ++++--- .../src/Org.OpenAPITools/Api/UserApi.cs | 14 +++-- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../src/Org.OpenAPITools/Api/DefaultApi.cs | 8 ++- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ .../Org.OpenAPITools/Api/AnotherFakeApi.cs | 8 ++- .../src/Org.OpenAPITools/Api/DefaultApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/FakeApi.cs | 56 ++++++++++--------- .../Api/FakeClassnameTags123Api.cs | 8 ++- .../src/Org.OpenAPITools/Api/PetApi.cs | 32 ++++++----- .../src/Org.OpenAPITools/Api/StoreApi.cs | 20 ++++--- .../src/Org.OpenAPITools/Api/UserApi.cs | 14 +++-- .../Org.OpenAPITools/Client/ApiResponse`1.cs | 13 +++++ .../Org.OpenAPITools/Client/ClientUtils.cs | 21 +++++++ 193 files changed, 2603 insertions(+), 1077 deletions(-) diff --git a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 1621a6122d6f..378e7f3a86ae 100644 --- a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } } diff --git a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/ClientUtils.cs index c72d032fc8f1..d4c8a4d537cb 100644 --- a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -19,6 +19,7 @@ using System.Text.RegularExpressions; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -226,6 +227,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Api/DefaultApi.cs index f551e16fc2f6..addbd3372e39 100644 --- a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; diff --git a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/ApiResponse`1.cs index d7a8aa9e0b7b..0b9df641d68f 100644 --- a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } } diff --git a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/ClientUtils.cs index 4d0ea7aa7bcc..288752e72ead 100644 --- a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -19,6 +19,7 @@ using System.Text.RegularExpressions; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -220,6 +221,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs index 681cc7ac29cc..1a2db06bc669 100644 --- a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -253,10 +255,10 @@ public async Task IconsAsync(Option size "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs index f786ed6177f6..d28bf0591331 100644 --- a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs index 3b7bf799d5f0..a8d211af063b 100644 --- a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -19,6 +19,7 @@ using System.Text.RegularExpressions; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -222,6 +223,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Api/DefaultApi.cs index 40a0a9a1b91b..80d4d815da60 100644 --- a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; diff --git a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 5c0e0a406103..1e4685882e8f 100644 --- a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } } diff --git a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/ClientUtils.cs index afcf529d354a..b9f39d4065b0 100644 --- a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -19,6 +19,7 @@ using System.Text.RegularExpressions; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -220,6 +221,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Api/APIKEYSApi.cs b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Api/APIKEYSApi.cs index b69c228b8aa0..fd57946c5dd0 100644 --- a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Api/APIKEYSApi.cs +++ b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Api/APIKEYSApi.cs @@ -13,7 +13,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; diff --git a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Api/APIKeys0Api.cs b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Api/APIKeys0Api.cs index 34ae08c7617a..f556390bafd1 100644 --- a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Api/APIKeys0Api.cs +++ b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Api/APIKeys0Api.cs @@ -13,7 +13,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; diff --git a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Api/ApiKeys1Api.cs b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Api/ApiKeys1Api.cs index c447103ad329..805dbed90ca5 100644 --- a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Api/ApiKeys1Api.cs +++ b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Api/ApiKeys1Api.cs @@ -13,7 +13,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; diff --git a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/ApiResponse`1.cs index d0228c7e4df9..3c5feaf03db9 100644 --- a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -53,6 +53,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -110,6 +115,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -148,6 +158,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -171,6 +182,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -182,6 +194,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } } diff --git a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/ClientUtils.cs index 5d088a4aed4d..df49c1c9e316 100644 --- a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -19,6 +19,7 @@ using System.Text.Json; using System.Text.RegularExpressions; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -246,6 +247,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Api/DefaultApi.cs index e3c6fb7ce136..64fe997457fc 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -245,10 +247,10 @@ public async Task ListAsync(string personId, System.Threading. "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 2e8d3c4f3ea0..6bebfb495ae7 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs index 7c70740b5f30..a6643b7edb04 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -18,6 +18,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -231,6 +232,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs index 0a27d3740aad..68ba3478d01e 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -219,10 +221,10 @@ public async Task RootGetAsync(System.Threading.Cancellatio "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs index ce423c3672b1..6a95178fbe47 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs index e58706bfa7d4..bc568e48ac1a 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -18,6 +18,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -231,6 +232,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Api/DefaultApi.cs index 0a27d3740aad..68ba3478d01e 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -219,10 +221,10 @@ public async Task RootGetAsync(System.Threading.Cancellatio "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/ApiResponse`1.cs index ce423c3672b1..6a95178fbe47 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs index b15038a3fa36..993fbe90ab3f 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -17,6 +17,7 @@ using System.Text.RegularExpressions; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -216,6 +217,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index aac86867879b..3e40f393851e 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -292,10 +294,10 @@ public async Task Call123TestSpecialTagsAsyn "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("PATCH"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs index 15e2eae1ae7d..d71ddb553fa8 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -527,10 +529,10 @@ public async Task FooGetAsync(System.Threading.CancellationT "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -963,10 +965,10 @@ public async Task HelloAsync(System.Threading.CancellationTok "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1180,10 +1182,10 @@ public async Task RedirectOrDefaultAsync(System.T "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1403,10 +1405,10 @@ public async Task RolesReportGetAsync(System.Threadi "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1620,10 +1622,10 @@ public async Task TestAsync(System.Threading.CancellationToken "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs index 1d61e33426f3..cdfa43a79786 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1377,10 +1379,10 @@ public async Task FakeHealthGetAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1618,10 +1620,10 @@ public async Task FakeOuterBooleanSeriali "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1872,10 +1874,10 @@ public async Task FakeOuterCompositeSer "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2113,10 +2115,10 @@ public async Task FakeOuterNumberSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2379,10 +2381,10 @@ public async Task FakeOuterStringSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2596,10 +2598,10 @@ public async Task GetArrayOfEnumsAsync(System.Threa "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2813,10 +2815,10 @@ public async Task GetMixedAnyOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -3030,10 +3032,10 @@ public async Task GetMixedOneOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -3938,10 +3940,10 @@ public async Task TestClientModelAsync(ModelClient "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("PATCH"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index 6fa54b15e6dd..c6b04ab0ec52 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -301,10 +303,10 @@ public async Task TestClassnameAsync(ModelClient mode "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("PATCH"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/PetApi.cs index fc6b872e7d1e..018ebf57f116 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/PetApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1260,10 +1262,10 @@ public async Task FindPetsByStatusAsync(List acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1560,10 +1562,10 @@ public async Task FindPetsByTagsAsync(List t "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1812,10 +1814,10 @@ public async Task GetPetByIdAsync(long petId, System.Thr "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2607,10 +2609,10 @@ public async Task UploadFileAsync(long petId, Option acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2896,10 +2898,10 @@ public async Task UploadFileWithRequired "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs index d53082a6604f..8ef5b2a44f76 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -654,10 +656,10 @@ public async Task GetInventoryAsync(System.Threading.C "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -887,10 +889,10 @@ public async Task GetOrderByIdAsync(long orderId, Syst "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1153,10 +1155,10 @@ public async Task PlaceOrderAsync(Order order, System.Th "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/UserApi.cs index 31f82a00fba1..79f232b766b8 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Api/UserApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1555,10 +1557,10 @@ public async Task GetUserByNameAsync(string username, "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1869,10 +1871,10 @@ public async Task LoginUserAsync(string password, string "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 846993850534..ed63e072b901 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs index 201f27bed522..f9477169a168 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -18,6 +18,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -331,6 +332,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Api/DefaultApi.cs index 0a27d3740aad..68ba3478d01e 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -219,10 +221,10 @@ public async Task RootGetAsync(System.Threading.Cancellatio "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs index ce423c3672b1..6a95178fbe47 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs index e58706bfa7d4..bc568e48ac1a 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -18,6 +18,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -231,6 +232,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index aac86867879b..3e40f393851e 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -292,10 +294,10 @@ public async Task Call123TestSpecialTagsAsyn "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("PATCH"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs index 15e2eae1ae7d..d71ddb553fa8 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -527,10 +529,10 @@ public async Task FooGetAsync(System.Threading.CancellationT "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -963,10 +965,10 @@ public async Task HelloAsync(System.Threading.CancellationTok "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1180,10 +1182,10 @@ public async Task RedirectOrDefaultAsync(System.T "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1403,10 +1405,10 @@ public async Task RolesReportGetAsync(System.Threadi "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1620,10 +1622,10 @@ public async Task TestAsync(System.Threading.CancellationToken "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs index bfa82e80ee7d..7934ed315955 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1377,10 +1379,10 @@ public async Task FakeHealthGetAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1618,10 +1620,10 @@ public async Task FakeOuterBooleanSeriali "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1872,10 +1874,10 @@ public async Task FakeOuterCompositeSer "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2113,10 +2115,10 @@ public async Task FakeOuterNumberSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2379,10 +2381,10 @@ public async Task FakeOuterStringSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2596,10 +2598,10 @@ public async Task GetArrayOfEnumsAsync(System.Threa "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2813,10 +2815,10 @@ public async Task GetMixedAnyOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -3030,10 +3032,10 @@ public async Task GetMixedOneOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -3938,10 +3940,10 @@ public async Task TestClientModelAsync(ModelClient "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("PATCH"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index 6fa54b15e6dd..c6b04ab0ec52 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -301,10 +303,10 @@ public async Task TestClassnameAsync(ModelClient mode "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("PATCH"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/PetApi.cs index 936621915c2f..7a39918bdc41 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/PetApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1260,10 +1262,10 @@ public async Task FindPetsByStatusAsync(List acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1560,10 +1562,10 @@ public async Task FindPetsByTagsAsync(List t "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1812,10 +1814,10 @@ public async Task GetPetByIdAsync(long petId, System.Thr "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2607,10 +2609,10 @@ public async Task UploadFileAsync(long petId, Option acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2896,10 +2898,10 @@ public async Task UploadFileWithRequired "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs index d53082a6604f..8ef5b2a44f76 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -654,10 +656,10 @@ public async Task GetInventoryAsync(System.Threading.C "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -887,10 +889,10 @@ public async Task GetOrderByIdAsync(long orderId, Syst "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1153,10 +1155,10 @@ public async Task PlaceOrderAsync(Order order, System.Th "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/UserApi.cs index 31f82a00fba1..79f232b766b8 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Api/UserApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1555,10 +1557,10 @@ public async Task GetUserByNameAsync(string username, "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1869,10 +1871,10 @@ public async Task LoginUserAsync(string password, string "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 846993850534..ed63e072b901 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs index 382636b9c592..1e9347da7d15 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -18,6 +18,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -335,6 +336,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Api/DefaultApi.cs index 352be5701a5f..106a89faf551 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -219,10 +221,10 @@ public async Task NowGetAsync(System.Threading.CancellationT "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiResponse`1.cs index a5cba0e52ef5..15cf34abd897 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs index 9d704244ca60..c4e563b4500e 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -17,6 +17,7 @@ using System.Text.RegularExpressions; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -216,6 +217,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Api/DefaultApi.cs index e3c6fb7ce136..64fe997457fc 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -245,10 +247,10 @@ public async Task ListAsync(string personId, System.Threading. "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 2e8d3c4f3ea0..6bebfb495ae7 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs index 7c70740b5f30..a6643b7edb04 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -18,6 +18,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -231,6 +232,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs index 0a27d3740aad..68ba3478d01e 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -219,10 +221,10 @@ public async Task RootGetAsync(System.Threading.Cancellatio "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs index ce423c3672b1..6a95178fbe47 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs index e58706bfa7d4..bc568e48ac1a 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -18,6 +18,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -231,6 +232,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Api/DefaultApi.cs index 0a27d3740aad..68ba3478d01e 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -219,10 +221,10 @@ public async Task RootGetAsync(System.Threading.Cancellatio "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ApiResponse`1.cs index ce423c3672b1..6a95178fbe47 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs index b15038a3fa36..993fbe90ab3f 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -17,6 +17,7 @@ using System.Text.RegularExpressions; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -216,6 +217,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index aac86867879b..3e40f393851e 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -292,10 +294,10 @@ public async Task Call123TestSpecialTagsAsyn "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("PATCH"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs index 15e2eae1ae7d..d71ddb553fa8 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -527,10 +529,10 @@ public async Task FooGetAsync(System.Threading.CancellationT "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -963,10 +965,10 @@ public async Task HelloAsync(System.Threading.CancellationTok "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1180,10 +1182,10 @@ public async Task RedirectOrDefaultAsync(System.T "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1403,10 +1405,10 @@ public async Task RolesReportGetAsync(System.Threadi "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1620,10 +1622,10 @@ public async Task TestAsync(System.Threading.CancellationToken "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs index 1d61e33426f3..cdfa43a79786 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1377,10 +1379,10 @@ public async Task FakeHealthGetAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1618,10 +1620,10 @@ public async Task FakeOuterBooleanSeriali "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1872,10 +1874,10 @@ public async Task FakeOuterCompositeSer "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2113,10 +2115,10 @@ public async Task FakeOuterNumberSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2379,10 +2381,10 @@ public async Task FakeOuterStringSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2596,10 +2598,10 @@ public async Task GetArrayOfEnumsAsync(System.Threa "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2813,10 +2815,10 @@ public async Task GetMixedAnyOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -3030,10 +3032,10 @@ public async Task GetMixedOneOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -3938,10 +3940,10 @@ public async Task TestClientModelAsync(ModelClient "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("PATCH"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index 6fa54b15e6dd..c6b04ab0ec52 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -301,10 +303,10 @@ public async Task TestClassnameAsync(ModelClient mode "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("PATCH"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/PetApi.cs index fc6b872e7d1e..018ebf57f116 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/PetApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1260,10 +1262,10 @@ public async Task FindPetsByStatusAsync(List acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1560,10 +1562,10 @@ public async Task FindPetsByTagsAsync(List t "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1812,10 +1814,10 @@ public async Task GetPetByIdAsync(long petId, System.Thr "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2607,10 +2609,10 @@ public async Task UploadFileAsync(long petId, Option acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2896,10 +2898,10 @@ public async Task UploadFileWithRequired "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs index d53082a6604f..8ef5b2a44f76 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -654,10 +656,10 @@ public async Task GetInventoryAsync(System.Threading.C "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -887,10 +889,10 @@ public async Task GetOrderByIdAsync(long orderId, Syst "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1153,10 +1155,10 @@ public async Task PlaceOrderAsync(Order order, System.Th "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/UserApi.cs index 31f82a00fba1..79f232b766b8 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Api/UserApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1555,10 +1557,10 @@ public async Task GetUserByNameAsync(string username, "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1869,10 +1871,10 @@ public async Task LoginUserAsync(string password, string "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 846993850534..ed63e072b901 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs index 201f27bed522..f9477169a168 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -18,6 +18,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -331,6 +332,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Api/DefaultApi.cs index 0a27d3740aad..68ba3478d01e 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -219,10 +221,10 @@ public async Task RootGetAsync(System.Threading.Cancellatio "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs index ce423c3672b1..6a95178fbe47 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs index e58706bfa7d4..bc568e48ac1a 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -18,6 +18,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -231,6 +232,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index aac86867879b..3e40f393851e 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -292,10 +294,10 @@ public async Task Call123TestSpecialTagsAsyn "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("PATCH"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs index 15e2eae1ae7d..d71ddb553fa8 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -527,10 +529,10 @@ public async Task FooGetAsync(System.Threading.CancellationT "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -963,10 +965,10 @@ public async Task HelloAsync(System.Threading.CancellationTok "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1180,10 +1182,10 @@ public async Task RedirectOrDefaultAsync(System.T "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1403,10 +1405,10 @@ public async Task RolesReportGetAsync(System.Threadi "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1620,10 +1622,10 @@ public async Task TestAsync(System.Threading.CancellationToken "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs index bfa82e80ee7d..7934ed315955 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1377,10 +1379,10 @@ public async Task FakeHealthGetAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1618,10 +1620,10 @@ public async Task FakeOuterBooleanSeriali "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1872,10 +1874,10 @@ public async Task FakeOuterCompositeSer "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2113,10 +2115,10 @@ public async Task FakeOuterNumberSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2379,10 +2381,10 @@ public async Task FakeOuterStringSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2596,10 +2598,10 @@ public async Task GetArrayOfEnumsAsync(System.Threa "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2813,10 +2815,10 @@ public async Task GetMixedAnyOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -3030,10 +3032,10 @@ public async Task GetMixedOneOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -3938,10 +3940,10 @@ public async Task TestClientModelAsync(ModelClient "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("PATCH"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index 6fa54b15e6dd..c6b04ab0ec52 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -301,10 +303,10 @@ public async Task TestClassnameAsync(ModelClient mode "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("PATCH"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/PetApi.cs index 936621915c2f..7a39918bdc41 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/PetApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1260,10 +1262,10 @@ public async Task FindPetsByStatusAsync(List acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1560,10 +1562,10 @@ public async Task FindPetsByTagsAsync(List t "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1812,10 +1814,10 @@ public async Task GetPetByIdAsync(long petId, System.Thr "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2607,10 +2609,10 @@ public async Task UploadFileAsync(long petId, Option acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2896,10 +2898,10 @@ public async Task UploadFileWithRequired "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs index d53082a6604f..8ef5b2a44f76 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -654,10 +656,10 @@ public async Task GetInventoryAsync(System.Threading.C "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -887,10 +889,10 @@ public async Task GetOrderByIdAsync(long orderId, Syst "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1153,10 +1155,10 @@ public async Task PlaceOrderAsync(Order order, System.Th "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/UserApi.cs index 31f82a00fba1..79f232b766b8 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Api/UserApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1555,10 +1557,10 @@ public async Task GetUserByNameAsync(string username, "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1869,10 +1871,10 @@ public async Task LoginUserAsync(string password, string "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 846993850534..ed63e072b901 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs index 382636b9c592..1e9347da7d15 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -18,6 +18,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -335,6 +336,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Api/DefaultApi.cs index 352be5701a5f..106a89faf551 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -219,10 +221,10 @@ public async Task NowGetAsync(System.Threading.CancellationT "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiResponse`1.cs index a5cba0e52ef5..15cf34abd897 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs index 9d704244ca60..c4e563b4500e 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -17,6 +17,7 @@ using System.Text.RegularExpressions; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -216,6 +217,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Api/DefaultApi.cs index 460adaf3b6ea..1836f05b9946 100644 --- a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -247,10 +249,10 @@ public async Task ListAsync(string personId, System.Threading. "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs index b6971b20a70b..78160f0c716c 100644 --- a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs index ea0ca69d6ace..603d5d49ccd0 100644 --- a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -20,6 +20,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -235,6 +236,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs index 3d166af1486d..8808c802f0af 100644 --- a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -221,10 +223,10 @@ public async Task RootGetAsync(System.Threading.Cancellatio "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 349c8a275dd2..ecf92d6ce3d9 100644 --- a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs index 2406e1ca0078..6c9daf597559 100644 --- a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -20,6 +20,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -235,6 +236,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Api/DefaultApi.cs index 3d166af1486d..8808c802f0af 100644 --- a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -221,10 +223,10 @@ public async Task RootGetAsync(System.Threading.Cancellatio "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 349c8a275dd2..ecf92d6ce3d9 100644 --- a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs index 0de5dc0426d7..646b620aeeb6 100644 --- a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -19,6 +19,7 @@ using System.Text.RegularExpressions; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -220,6 +221,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index a64bf2f6891b..507491eecacf 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -292,10 +294,10 @@ public async Task Call123TestSpecialTagsAsyn "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs index be1d170c656f..3ef2b6852935 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -527,10 +529,10 @@ public async Task FooGetAsync(System.Threading.CancellationT "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -964,10 +966,10 @@ public async Task HelloAsync(System.Threading.CancellationTok "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1182,10 +1184,10 @@ public async Task RedirectOrDefaultAsync(System.T "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1406,10 +1408,10 @@ public async Task RolesReportGetAsync(System.Threadi "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1624,10 +1626,10 @@ public async Task TestAsync(System.Threading.CancellationToken "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs index b12a70964930..808f2c78376e 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1377,10 +1379,10 @@ public async Task FakeHealthGetAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1619,10 +1621,10 @@ public async Task FakeOuterBooleanSeriali "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -1874,10 +1876,10 @@ public async Task FakeOuterCompositeSer "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2116,10 +2118,10 @@ public async Task FakeOuterNumberSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2383,10 +2385,10 @@ public async Task FakeOuterStringSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2601,10 +2603,10 @@ public async Task GetArrayOfEnumsAsync(System.Threa "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -2819,10 +2821,10 @@ public async Task GetMixedAnyOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -3037,10 +3039,10 @@ public async Task GetMixedOneOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -3946,10 +3948,10 @@ public async Task TestClientModelAsync(ModelClient "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index 8f1e1cbae536..f549d11cfbdd 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -301,10 +303,10 @@ public async Task TestClassnameAsync(ModelClient mode "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/PetApi.cs index c7851f91380c..18c30d4185ac 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/PetApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1261,10 +1263,10 @@ public async Task FindPetsByStatusAsync(List acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1562,10 +1564,10 @@ public async Task FindPetsByTagsAsync(List t "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1815,10 +1817,10 @@ public async Task GetPetByIdAsync(long petId, System.Thr "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -2611,10 +2613,10 @@ public async Task UploadFileAsync(long petId, Option acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2901,10 +2903,10 @@ public async Task UploadFileWithRequired "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs index 2a5f045dc2fb..01cc491c8607 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -655,10 +657,10 @@ public async Task GetInventoryAsync(System.Threading.C "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -889,10 +891,10 @@ public async Task GetOrderByIdAsync(long orderId, Syst "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1156,10 +1158,10 @@ public async Task PlaceOrderAsync(Order order, System.Th "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/UserApi.cs index b37dc6ffc7f0..57037a1fc421 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Api/UserApi.cs @@ -10,8 +10,10 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1564,10 +1566,10 @@ public async Task GetUserByNameAsync(string username, "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1879,10 +1881,10 @@ public async Task LoginUserAsync(string password, string "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/ApiResponse`1.cs index cd0c6be12fec..eb72371af4ec 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs index b7403d129fb1..83990c9239a7 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -18,6 +18,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -330,6 +331,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index 4325815a3894..cfff49d74e47 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -294,10 +296,10 @@ public async Task Call123TestSpecialTagsAsyn "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/DefaultApi.cs index 041224a07eb0..698f0b6c57c9 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -529,10 +531,10 @@ public async Task FooGetAsync(System.Threading.CancellationT "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -966,10 +968,10 @@ public async Task HelloAsync(System.Threading.CancellationTok "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1184,10 +1186,10 @@ public async Task RedirectOrDefaultAsync(System.T "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1408,10 +1410,10 @@ public async Task RolesReportGetAsync(System.Threadi "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1626,10 +1628,10 @@ public async Task TestAsync(System.Threading.CancellationToken "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeApi.cs index 657ea7aea6d2..354123e492f4 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1379,10 +1381,10 @@ public async Task FakeHealthGetAsync(System.Threading "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1621,10 +1623,10 @@ public async Task FakeOuterBooleanSeriali "*/*" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -1876,10 +1878,10 @@ public async Task FakeOuterCompositeSer "*/*" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2118,10 +2120,10 @@ public async Task FakeOuterNumberSerialize "*/*" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2385,10 +2387,10 @@ public async Task FakeOuterStringSerialize "*/*" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2603,10 +2605,10 @@ public async Task GetArrayOfEnumsAsync(System.Threa "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -2821,10 +2823,10 @@ public async Task GetMixedAnyOfAsync(System.Threading "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -3039,10 +3041,10 @@ public async Task GetMixedOneOfAsync(System.Threading "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -3948,10 +3950,10 @@ public async Task TestClientModelAsync(ModelClient "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index f64b9b185445..e853974c29f7 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -303,10 +305,10 @@ public async Task TestClassnameAsync(ModelClient mode "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/PetApi.cs index 86ed00cc3d0a..cef7ea20cff4 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/PetApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1263,10 +1265,10 @@ public async Task FindPetsByStatusAsync(List acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1564,10 +1566,10 @@ public async Task FindPetsByTagsAsync(List t "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1817,10 +1819,10 @@ public async Task GetPetByIdAsync(long petId, System.Thr "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -2613,10 +2615,10 @@ public async Task UploadFileAsync(long petId, Option acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2903,10 +2905,10 @@ public async Task UploadFileWithRequired "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/StoreApi.cs index 397183c6f558..114540a6a25a 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/StoreApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -657,10 +659,10 @@ public async Task GetInventoryAsync(System.Threading.C "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -891,10 +893,10 @@ public async Task GetOrderByIdAsync(long orderId, Syst "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1158,10 +1160,10 @@ public async Task PlaceOrderAsync(Order order, System.Th "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/UserApi.cs index 0ce74696e182..f4060809ed50 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Api/UserApi.cs @@ -12,8 +12,10 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1566,10 +1568,10 @@ public async Task GetUserByNameAsync(string username, "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1881,10 +1883,10 @@ public async Task LoginUserAsync(string password, string "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 657be352a23d..8d6eb4de2804 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs index 8a3b1e1511b2..a58213a7dc90 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -20,6 +20,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -336,6 +337,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Api/DefaultApi.cs index 3d166af1486d..8808c802f0af 100644 --- a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -221,10 +223,10 @@ public async Task RootGetAsync(System.Threading.Cancellatio "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 349c8a275dd2..ecf92d6ce3d9 100644 --- a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs index 2406e1ca0078..6c9daf597559 100644 --- a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -20,6 +20,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -235,6 +236,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index a64bf2f6891b..507491eecacf 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -292,10 +294,10 @@ public async Task Call123TestSpecialTagsAsyn "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs index be1d170c656f..3ef2b6852935 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -527,10 +529,10 @@ public async Task FooGetAsync(System.Threading.CancellationT "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -964,10 +966,10 @@ public async Task HelloAsync(System.Threading.CancellationTok "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1182,10 +1184,10 @@ public async Task RedirectOrDefaultAsync(System.T "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1406,10 +1408,10 @@ public async Task RolesReportGetAsync(System.Threadi "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1624,10 +1626,10 @@ public async Task TestAsync(System.Threading.CancellationToken "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs index 76b141c8120e..88fd2f848719 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1377,10 +1379,10 @@ public async Task FakeHealthGetAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1619,10 +1621,10 @@ public async Task FakeOuterBooleanSeriali "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -1874,10 +1876,10 @@ public async Task FakeOuterCompositeSer "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2116,10 +2118,10 @@ public async Task FakeOuterNumberSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2383,10 +2385,10 @@ public async Task FakeOuterStringSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2601,10 +2603,10 @@ public async Task GetArrayOfEnumsAsync(System.Threa "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -2819,10 +2821,10 @@ public async Task GetMixedAnyOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -3037,10 +3039,10 @@ public async Task GetMixedOneOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -3946,10 +3948,10 @@ public async Task TestClientModelAsync(ModelClient "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index 8f1e1cbae536..f549d11cfbdd 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -301,10 +303,10 @@ public async Task TestClassnameAsync(ModelClient mode "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/PetApi.cs index 8cebfe5dc0ed..4442fc5d0e2f 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/PetApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1261,10 +1263,10 @@ public async Task FindPetsByStatusAsync(List acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1562,10 +1564,10 @@ public async Task FindPetsByTagsAsync(List t "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1815,10 +1817,10 @@ public async Task GetPetByIdAsync(long petId, System.Thr "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -2611,10 +2613,10 @@ public async Task UploadFileAsync(long petId, Option acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2901,10 +2903,10 @@ public async Task UploadFileWithRequired "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs index 2a5f045dc2fb..01cc491c8607 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -655,10 +657,10 @@ public async Task GetInventoryAsync(System.Threading.C "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -889,10 +891,10 @@ public async Task GetOrderByIdAsync(long orderId, Syst "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1156,10 +1158,10 @@ public async Task PlaceOrderAsync(Order order, System.Th "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/UserApi.cs index b37dc6ffc7f0..57037a1fc421 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Api/UserApi.cs @@ -10,8 +10,10 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1564,10 +1566,10 @@ public async Task GetUserByNameAsync(string username, "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1879,10 +1881,10 @@ public async Task LoginUserAsync(string password, string "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs index cd0c6be12fec..eb72371af4ec 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs index 91be9bd4c0f8..3110f6143b1b 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -18,6 +18,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -334,6 +335,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index 4325815a3894..cfff49d74e47 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -294,10 +296,10 @@ public async Task Call123TestSpecialTagsAsyn "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/DefaultApi.cs index 041224a07eb0..698f0b6c57c9 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -529,10 +531,10 @@ public async Task FooGetAsync(System.Threading.CancellationT "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -966,10 +968,10 @@ public async Task HelloAsync(System.Threading.CancellationTok "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1184,10 +1186,10 @@ public async Task RedirectOrDefaultAsync(System.T "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1408,10 +1410,10 @@ public async Task RolesReportGetAsync(System.Threadi "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1626,10 +1628,10 @@ public async Task TestAsync(System.Threading.CancellationToken "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/FakeApi.cs index 657ea7aea6d2..354123e492f4 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/FakeApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1379,10 +1381,10 @@ public async Task FakeHealthGetAsync(System.Threading "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1621,10 +1623,10 @@ public async Task FakeOuterBooleanSeriali "*/*" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -1876,10 +1878,10 @@ public async Task FakeOuterCompositeSer "*/*" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2118,10 +2120,10 @@ public async Task FakeOuterNumberSerialize "*/*" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2385,10 +2387,10 @@ public async Task FakeOuterStringSerialize "*/*" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2603,10 +2605,10 @@ public async Task GetArrayOfEnumsAsync(System.Threa "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -2821,10 +2823,10 @@ public async Task GetMixedAnyOfAsync(System.Threading "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -3039,10 +3041,10 @@ public async Task GetMixedOneOfAsync(System.Threading "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -3948,10 +3950,10 @@ public async Task TestClientModelAsync(ModelClient "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index f64b9b185445..e853974c29f7 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -303,10 +305,10 @@ public async Task TestClassnameAsync(ModelClient mode "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/PetApi.cs index 86ed00cc3d0a..cef7ea20cff4 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/PetApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1263,10 +1265,10 @@ public async Task FindPetsByStatusAsync(List acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1564,10 +1566,10 @@ public async Task FindPetsByTagsAsync(List t "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1817,10 +1819,10 @@ public async Task GetPetByIdAsync(long petId, System.Thr "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -2613,10 +2615,10 @@ public async Task UploadFileAsync(long petId, Option acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2903,10 +2905,10 @@ public async Task UploadFileWithRequired "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/StoreApi.cs index 397183c6f558..114540a6a25a 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/StoreApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -657,10 +659,10 @@ public async Task GetInventoryAsync(System.Threading.C "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -891,10 +893,10 @@ public async Task GetOrderByIdAsync(long orderId, Syst "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1158,10 +1160,10 @@ public async Task PlaceOrderAsync(Order order, System.Th "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/UserApi.cs index 0ce74696e182..f4060809ed50 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Api/UserApi.cs @@ -12,8 +12,10 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1566,10 +1568,10 @@ public async Task GetUserByNameAsync(string username, "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1881,10 +1883,10 @@ public async Task LoginUserAsync(string password, string "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 657be352a23d..8d6eb4de2804 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs index 8a3b1e1511b2..a58213a7dc90 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -20,6 +20,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -336,6 +337,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Api/DefaultApi.cs index 610a3704b124..adaf287f4aa7 100644 --- a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -221,10 +223,10 @@ public async Task NowGetAsync(System.Threading.CancellationT "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiResponse`1.cs index e64afdb6bee7..344e2255924b 100644 --- a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs index 7f26eb170ddc..8ba0c10634b7 100644 --- a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -19,6 +19,7 @@ using System.Text.RegularExpressions; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -220,6 +221,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Api/DefaultApi.cs index 460adaf3b6ea..1836f05b9946 100644 --- a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -247,10 +249,10 @@ public async Task ListAsync(string personId, System.Threading. "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs index b6971b20a70b..78160f0c716c 100644 --- a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs index ea0ca69d6ace..603d5d49ccd0 100644 --- a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -20,6 +20,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -235,6 +236,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs index 3d166af1486d..8808c802f0af 100644 --- a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -221,10 +223,10 @@ public async Task RootGetAsync(System.Threading.Cancellatio "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 349c8a275dd2..ecf92d6ce3d9 100644 --- a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs index 2406e1ca0078..6c9daf597559 100644 --- a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -20,6 +20,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -235,6 +236,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Api/DefaultApi.cs index 3d166af1486d..8808c802f0af 100644 --- a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -221,10 +223,10 @@ public async Task RootGetAsync(System.Threading.Cancellatio "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 349c8a275dd2..ecf92d6ce3d9 100644 --- a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs index 0de5dc0426d7..646b620aeeb6 100644 --- a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -19,6 +19,7 @@ using System.Text.RegularExpressions; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -220,6 +221,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index a64bf2f6891b..507491eecacf 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -292,10 +294,10 @@ public async Task Call123TestSpecialTagsAsyn "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs index be1d170c656f..3ef2b6852935 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -527,10 +529,10 @@ public async Task FooGetAsync(System.Threading.CancellationT "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -964,10 +966,10 @@ public async Task HelloAsync(System.Threading.CancellationTok "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1182,10 +1184,10 @@ public async Task RedirectOrDefaultAsync(System.T "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1406,10 +1408,10 @@ public async Task RolesReportGetAsync(System.Threadi "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1624,10 +1626,10 @@ public async Task TestAsync(System.Threading.CancellationToken "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs index b12a70964930..808f2c78376e 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1377,10 +1379,10 @@ public async Task FakeHealthGetAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1619,10 +1621,10 @@ public async Task FakeOuterBooleanSeriali "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -1874,10 +1876,10 @@ public async Task FakeOuterCompositeSer "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2116,10 +2118,10 @@ public async Task FakeOuterNumberSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2383,10 +2385,10 @@ public async Task FakeOuterStringSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2601,10 +2603,10 @@ public async Task GetArrayOfEnumsAsync(System.Threa "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -2819,10 +2821,10 @@ public async Task GetMixedAnyOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -3037,10 +3039,10 @@ public async Task GetMixedOneOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -3946,10 +3948,10 @@ public async Task TestClientModelAsync(ModelClient "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index 8f1e1cbae536..f549d11cfbdd 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -301,10 +303,10 @@ public async Task TestClassnameAsync(ModelClient mode "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/PetApi.cs index c7851f91380c..18c30d4185ac 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/PetApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1261,10 +1263,10 @@ public async Task FindPetsByStatusAsync(List acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1562,10 +1564,10 @@ public async Task FindPetsByTagsAsync(List t "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1815,10 +1817,10 @@ public async Task GetPetByIdAsync(long petId, System.Thr "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -2611,10 +2613,10 @@ public async Task UploadFileAsync(long petId, Option acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2901,10 +2903,10 @@ public async Task UploadFileWithRequired "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs index 2a5f045dc2fb..01cc491c8607 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -655,10 +657,10 @@ public async Task GetInventoryAsync(System.Threading.C "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -889,10 +891,10 @@ public async Task GetOrderByIdAsync(long orderId, Syst "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1156,10 +1158,10 @@ public async Task PlaceOrderAsync(Order order, System.Th "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/UserApi.cs index b37dc6ffc7f0..57037a1fc421 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Api/UserApi.cs @@ -10,8 +10,10 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1564,10 +1566,10 @@ public async Task GetUserByNameAsync(string username, "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1879,10 +1881,10 @@ public async Task LoginUserAsync(string password, string "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/ApiResponse`1.cs index cd0c6be12fec..eb72371af4ec 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs index b7403d129fb1..83990c9239a7 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -18,6 +18,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -330,6 +331,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index 4325815a3894..cfff49d74e47 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -294,10 +296,10 @@ public async Task Call123TestSpecialTagsAsyn "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/DefaultApi.cs index 041224a07eb0..698f0b6c57c9 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -529,10 +531,10 @@ public async Task FooGetAsync(System.Threading.CancellationT "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -966,10 +968,10 @@ public async Task HelloAsync(System.Threading.CancellationTok "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1184,10 +1186,10 @@ public async Task RedirectOrDefaultAsync(System.T "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1408,10 +1410,10 @@ public async Task RolesReportGetAsync(System.Threadi "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1626,10 +1628,10 @@ public async Task TestAsync(System.Threading.CancellationToken "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeApi.cs index 657ea7aea6d2..354123e492f4 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1379,10 +1381,10 @@ public async Task FakeHealthGetAsync(System.Threading "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1621,10 +1623,10 @@ public async Task FakeOuterBooleanSeriali "*/*" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -1876,10 +1878,10 @@ public async Task FakeOuterCompositeSer "*/*" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2118,10 +2120,10 @@ public async Task FakeOuterNumberSerialize "*/*" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2385,10 +2387,10 @@ public async Task FakeOuterStringSerialize "*/*" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2603,10 +2605,10 @@ public async Task GetArrayOfEnumsAsync(System.Threa "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -2821,10 +2823,10 @@ public async Task GetMixedAnyOfAsync(System.Threading "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -3039,10 +3041,10 @@ public async Task GetMixedOneOfAsync(System.Threading "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -3948,10 +3950,10 @@ public async Task TestClientModelAsync(ModelClient "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index f64b9b185445..e853974c29f7 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -303,10 +305,10 @@ public async Task TestClassnameAsync(ModelClient mode "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/PetApi.cs index 86ed00cc3d0a..cef7ea20cff4 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/PetApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1263,10 +1265,10 @@ public async Task FindPetsByStatusAsync(List acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1564,10 +1566,10 @@ public async Task FindPetsByTagsAsync(List t "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1817,10 +1819,10 @@ public async Task GetPetByIdAsync(long petId, System.Thr "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -2613,10 +2615,10 @@ public async Task UploadFileAsync(long petId, Option acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2903,10 +2905,10 @@ public async Task UploadFileWithRequired "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/StoreApi.cs index 397183c6f558..114540a6a25a 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/StoreApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -657,10 +659,10 @@ public async Task GetInventoryAsync(System.Threading.C "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -891,10 +893,10 @@ public async Task GetOrderByIdAsync(long orderId, Syst "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1158,10 +1160,10 @@ public async Task PlaceOrderAsync(Order order, System.Th "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/UserApi.cs index 0ce74696e182..f4060809ed50 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Api/UserApi.cs @@ -12,8 +12,10 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1566,10 +1568,10 @@ public async Task GetUserByNameAsync(string username, "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1881,10 +1883,10 @@ public async Task LoginUserAsync(string password, string "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 657be352a23d..8d6eb4de2804 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs index 8a3b1e1511b2..a58213a7dc90 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -20,6 +20,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -336,6 +337,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Api/DefaultApi.cs index 3d166af1486d..8808c802f0af 100644 --- a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -221,10 +223,10 @@ public async Task RootGetAsync(System.Threading.Cancellatio "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 349c8a275dd2..ecf92d6ce3d9 100644 --- a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs index 2406e1ca0078..6c9daf597559 100644 --- a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -20,6 +20,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -235,6 +236,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index a64bf2f6891b..507491eecacf 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -292,10 +294,10 @@ public async Task Call123TestSpecialTagsAsyn "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs index be1d170c656f..3ef2b6852935 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -527,10 +529,10 @@ public async Task FooGetAsync(System.Threading.CancellationT "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -964,10 +966,10 @@ public async Task HelloAsync(System.Threading.CancellationTok "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1182,10 +1184,10 @@ public async Task RedirectOrDefaultAsync(System.T "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1406,10 +1408,10 @@ public async Task RolesReportGetAsync(System.Threadi "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1624,10 +1626,10 @@ public async Task TestAsync(System.Threading.CancellationToken "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs index 76b141c8120e..88fd2f848719 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1377,10 +1379,10 @@ public async Task FakeHealthGetAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1619,10 +1621,10 @@ public async Task FakeOuterBooleanSeriali "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -1874,10 +1876,10 @@ public async Task FakeOuterCompositeSer "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2116,10 +2118,10 @@ public async Task FakeOuterNumberSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2383,10 +2385,10 @@ public async Task FakeOuterStringSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2601,10 +2603,10 @@ public async Task GetArrayOfEnumsAsync(System.Threa "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -2819,10 +2821,10 @@ public async Task GetMixedAnyOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -3037,10 +3039,10 @@ public async Task GetMixedOneOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -3946,10 +3948,10 @@ public async Task TestClientModelAsync(ModelClient "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index 8f1e1cbae536..f549d11cfbdd 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -301,10 +303,10 @@ public async Task TestClassnameAsync(ModelClient mode "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/PetApi.cs index 8cebfe5dc0ed..4442fc5d0e2f 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/PetApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1261,10 +1263,10 @@ public async Task FindPetsByStatusAsync(List acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1562,10 +1564,10 @@ public async Task FindPetsByTagsAsync(List t "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1815,10 +1817,10 @@ public async Task GetPetByIdAsync(long petId, System.Thr "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -2611,10 +2613,10 @@ public async Task UploadFileAsync(long petId, Option acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2901,10 +2903,10 @@ public async Task UploadFileWithRequired "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs index 2a5f045dc2fb..01cc491c8607 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -655,10 +657,10 @@ public async Task GetInventoryAsync(System.Threading.C "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -889,10 +891,10 @@ public async Task GetOrderByIdAsync(long orderId, Syst "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1156,10 +1158,10 @@ public async Task PlaceOrderAsync(Order order, System.Th "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/UserApi.cs index b37dc6ffc7f0..57037a1fc421 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Api/UserApi.cs @@ -10,8 +10,10 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1564,10 +1566,10 @@ public async Task GetUserByNameAsync(string username, "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1879,10 +1881,10 @@ public async Task LoginUserAsync(string password, string "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs index cd0c6be12fec..eb72371af4ec 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -50,6 +50,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -107,6 +112,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -145,6 +155,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -168,6 +179,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -179,6 +191,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs index 91be9bd4c0f8..3110f6143b1b 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -18,6 +18,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -334,6 +335,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index 4325815a3894..cfff49d74e47 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -294,10 +296,10 @@ public async Task Call123TestSpecialTagsAsyn "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/DefaultApi.cs index 041224a07eb0..698f0b6c57c9 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -529,10 +531,10 @@ public async Task FooGetAsync(System.Threading.CancellationT "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -966,10 +968,10 @@ public async Task HelloAsync(System.Threading.CancellationTok "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1184,10 +1186,10 @@ public async Task RedirectOrDefaultAsync(System.T "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1408,10 +1410,10 @@ public async Task RolesReportGetAsync(System.Threadi "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1626,10 +1628,10 @@ public async Task TestAsync(System.Threading.CancellationToken "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/FakeApi.cs index 657ea7aea6d2..354123e492f4 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/FakeApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1379,10 +1381,10 @@ public async Task FakeHealthGetAsync(System.Threading "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1621,10 +1623,10 @@ public async Task FakeOuterBooleanSeriali "*/*" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -1876,10 +1878,10 @@ public async Task FakeOuterCompositeSer "*/*" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2118,10 +2120,10 @@ public async Task FakeOuterNumberSerialize "*/*" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2385,10 +2387,10 @@ public async Task FakeOuterStringSerialize "*/*" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2603,10 +2605,10 @@ public async Task GetArrayOfEnumsAsync(System.Threa "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -2821,10 +2823,10 @@ public async Task GetMixedAnyOfAsync(System.Threading "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -3039,10 +3041,10 @@ public async Task GetMixedOneOfAsync(System.Threading "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -3948,10 +3950,10 @@ public async Task TestClientModelAsync(ModelClient "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index f64b9b185445..e853974c29f7 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -303,10 +305,10 @@ public async Task TestClassnameAsync(ModelClient mode "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Patch; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/PetApi.cs index 86ed00cc3d0a..cef7ea20cff4 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/PetApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1263,10 +1265,10 @@ public async Task FindPetsByStatusAsync(List acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1564,10 +1566,10 @@ public async Task FindPetsByTagsAsync(List t "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1817,10 +1819,10 @@ public async Task GetPetByIdAsync(long petId, System.Thr "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -2613,10 +2615,10 @@ public async Task UploadFileAsync(long petId, Option acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; @@ -2903,10 +2905,10 @@ public async Task UploadFileWithRequired "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/StoreApi.cs index 397183c6f558..114540a6a25a 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/StoreApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -657,10 +659,10 @@ public async Task GetInventoryAsync(System.Threading.C "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -891,10 +893,10 @@ public async Task GetOrderByIdAsync(long orderId, Syst "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1158,10 +1160,10 @@ public async Task PlaceOrderAsync(Order order, System.Th "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Post; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/UserApi.cs index 0ce74696e182..f4060809ed50 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Api/UserApi.cs @@ -12,8 +12,10 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1566,10 +1568,10 @@ public async Task GetUserByNameAsync(string username, "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; @@ -1881,10 +1883,10 @@ public async Task LoginUserAsync(string password, string "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 657be352a23d..8d6eb4de2804 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs index 8a3b1e1511b2..a58213a7dc90 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -20,6 +20,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -336,6 +337,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Api/DefaultApi.cs index 610a3704b124..adaf287f4aa7 100644 --- a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -12,7 +12,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -221,10 +223,10 @@ public async Task NowGetAsync(System.Threading.CancellationT "application/json" }; - string? acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = HttpMethod.Get; diff --git a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiResponse`1.cs index e64afdb6bee7..344e2255924b 100644 --- a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -52,6 +52,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -109,6 +114,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -147,6 +157,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -170,6 +181,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -181,6 +193,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs index 7f26eb170ddc..8ba0c10634b7 100644 --- a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -19,6 +19,7 @@ using System.Text.RegularExpressions; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -220,6 +221,26 @@ public static byte[] ReadAsBytes(Stream inputStream) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index 169b9470ad4b..389fd63ab339 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -291,10 +293,10 @@ public async Task Call123TestSpecialTagsAsyn "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("PATCH"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs index 5ca198780cd7..d3e371440177 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/DefaultApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -526,10 +528,10 @@ public async Task FooGetAsync(System.Threading.CancellationT "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -962,10 +964,10 @@ public async Task HelloAsync(System.Threading.CancellationTok "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1179,10 +1181,10 @@ public async Task RedirectOrDefaultAsync(System.T "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1402,10 +1404,10 @@ public async Task RolesReportGetAsync(System.Threadi "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1619,10 +1621,10 @@ public async Task TestAsync(System.Threading.CancellationToken "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs index dbfc7ba00f4c..7110fb455c32 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1376,10 +1378,10 @@ public async Task FakeHealthGetAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1617,10 +1619,10 @@ public async Task FakeOuterBooleanSeriali "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1871,10 +1873,10 @@ public async Task FakeOuterCompositeSer "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2112,10 +2114,10 @@ public async Task FakeOuterNumberSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2378,10 +2380,10 @@ public async Task FakeOuterStringSerialize "*/*" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2595,10 +2597,10 @@ public async Task GetArrayOfEnumsAsync(System.Threa "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2812,10 +2814,10 @@ public async Task GetMixedAnyOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -3029,10 +3031,10 @@ public async Task GetMixedOneOfAsync(System.Threading "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -3937,10 +3939,10 @@ public async Task TestClientModelAsync(ModelClient "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("PATCH"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index 7c4fa9b1483e..1fcd03e08daf 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -300,10 +302,10 @@ public async Task TestClassnameAsync(ModelClient mode "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("PATCH"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/PetApi.cs index 18f2ab3e6509..de479ed63dfb 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/PetApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1259,10 +1261,10 @@ public async Task FindPetsByStatusAsync(List acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1559,10 +1561,10 @@ public async Task FindPetsByTagsAsync(List t "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1811,10 +1813,10 @@ public async Task GetPetByIdAsync(long petId, System.Thr "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2606,10 +2608,10 @@ public async Task UploadFileAsync(long petId, Option acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -2895,10 +2897,10 @@ public async Task UploadFileWithRequired "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs index cb016f72f98c..a10d2f6a10e3 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -653,10 +655,10 @@ public async Task GetInventoryAsync(System.Threading.C "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -886,10 +888,10 @@ public async Task GetOrderByIdAsync(long orderId, Syst "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1152,10 +1154,10 @@ public async Task PlaceOrderAsync(Order order, System.Th "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("POST"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/UserApi.cs index 6e0a6dc77415..69c6ea454abe 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Api/UserApi.cs @@ -10,7 +10,9 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Net; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using System.Net.Http; @@ -1554,10 +1556,10 @@ public async Task GetUserByNameAsync(string username, "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; @@ -1868,10 +1870,10 @@ public async Task LoginUserAsync(string password, string "application/json" }; - string acceptLocalVar = ClientUtils.SelectHeaderAccept(acceptLocalVars); + IEnumerable acceptHeaderValuesLocalVar = ClientUtils.SelectHeaderAcceptArray(acceptLocalVars); - if (acceptLocalVar != null) - httpRequestMessageLocalVar.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptLocalVar)); + foreach (var acceptLocalVar in acceptHeaderValuesLocalVar) + httpRequestMessageLocalVar.Headers.Accept.Add(acceptLocalVar); httpRequestMessageLocalVar.Method = new HttpMethod("GET"); DateTime requestedAtLocalVar = DateTime.UtcNow; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs index 918f5ba89d32..f6a1ddbe6b26 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/ApiResponse`1.cs @@ -49,6 +49,11 @@ public partial interface IApiResponse /// System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The path used when making the request. /// @@ -106,6 +111,11 @@ public partial class ApiResponse : IApiResponse /// public System.Net.Http.Headers.HttpResponseHeaders Headers { get; } + /// + /// The headers contained in the api response related to the content + /// + public System.Net.Http.Headers.HttpContentHeaders ContentHeaders { get; } + /// /// The DateTime when the request was retrieved. /// @@ -144,6 +154,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; RawContent = rawContent; @@ -167,6 +178,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage { StatusCode = httpResponseMessage.StatusCode; Headers = httpResponseMessage.Headers; + ContentHeaders = httpResponseMessage.Content.Headers; IsSuccessStatusCode = httpResponseMessage.IsSuccessStatusCode; ReasonPhrase = httpResponseMessage.ReasonPhrase; ContentStream = contentStream; @@ -178,6 +190,7 @@ public ApiResponse(global::System.Net.Http.HttpRequestMessage httpRequestMessage OnCreated(httpRequestMessage, httpResponseMessage); } + partial void OnCreated(global::System.Net.Http.HttpRequestMessage httpRequestMessage, System.Net.Http.HttpResponseMessage httpResponseMessage); } diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs index 382636b9c592..1e9347da7d15 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -18,6 +18,7 @@ using KellermanSoftware.CompareNetObjects; using Org.OpenAPITools.Model; using System.Runtime.CompilerServices; +using System.Net.Http.Headers; [assembly: InternalsVisibleTo("Org.OpenAPITools.Test")] @@ -335,6 +336,26 @@ public static string SelectHeaderAccept(string[] accepts) return string.Join(",", accepts); } + + + /// + /// Select the Accept header's value from the given accepts array: + /// if JSON exists in the given array, use it; + /// otherwise use all of them. + /// + /// The accepts array to select from. + /// The Accept header values to use. + public static IEnumerable SelectHeaderAcceptArray(string[] accepts) + { + if (accepts.Length == 0) + return null; + + if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) + return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; + + return accepts.Select(MediaTypeWithQualityHeaderValue.Parse); + } + /// /// Provides a case-insensitive check that a provided content type is a known JSON-like content type. /// From e65c939191011d6564508fb51393a9aa23f797c4 Mon Sep 17 00:00:00 2001 From: Erwin de Haan Date: Mon, 27 Oct 2025 09:28:51 +0100 Subject: [PATCH 4/4] Fix build warning in samples --- .../csharp/libraries/generichost/ClientUtils.mustache | 7 ++++++- .../src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../HelloWorld/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../OneOfList/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../latest/Tags/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../net8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../net8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../net8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../net9/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../net9/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../net9/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- .../Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs | 2 +- 39 files changed, 44 insertions(+), 39 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ClientUtils.mustache b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ClientUtils.mustache index c09101c8a906..6e7f9809f237 100644 --- a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ClientUtils.mustache +++ b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/ClientUtils.mustache @@ -324,7 +324,12 @@ using System.Net.Http.Headers; public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + {{#net80OrLater}} + return []; + {{/net80OrLater}} + {{^net80OrLater}} + return Enumerable.Empty(); + {{/net80OrLater}} if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) {{#net80OrLater}} diff --git a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/ClientUtils.cs index d4c8a4d537cb..3c7e3f8809dc 100644 --- a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -239,7 +239,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/ClientUtils.cs index 288752e72ead..78e03361249d 100644 --- a/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/latest/HelloWorld/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -233,7 +233,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs index a8d211af063b..3cd28f988823 100644 --- a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -235,7 +235,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/ClientUtils.cs index b9f39d4065b0..db80cd11d531 100644 --- a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -233,7 +233,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/ClientUtils.cs index df49c1c9e316..48719ee3a820 100644 --- a/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/latest/Tags/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -259,7 +259,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs index a6643b7edb04..edb65b8265db 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -244,7 +244,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return Enumerable.Empty(); if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; diff --git a/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs index bc568e48ac1a..69f7ad2b7116 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -244,7 +244,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return Enumerable.Empty(); if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; diff --git a/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs index 993fbe90ab3f..217a64d7d771 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -229,7 +229,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return Enumerable.Empty(); if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs index f9477169a168..585f78b2c231 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -344,7 +344,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return Enumerable.Empty(); if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; diff --git a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs index bc568e48ac1a..69f7ad2b7116 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -244,7 +244,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return Enumerable.Empty(); if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs index 1e9347da7d15..c2d90fee7b00 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -348,7 +348,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return Enumerable.Empty(); if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; diff --git a/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs index c4e563b4500e..f421f6d6c00b 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -229,7 +229,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return Enumerable.Empty(); if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; diff --git a/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs index a6643b7edb04..edb65b8265db 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -244,7 +244,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return Enumerable.Empty(); if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; diff --git a/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs index bc568e48ac1a..69f7ad2b7116 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -244,7 +244,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return Enumerable.Empty(); if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; diff --git a/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs index 993fbe90ab3f..217a64d7d771 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -229,7 +229,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return Enumerable.Empty(); if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs index f9477169a168..585f78b2c231 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -344,7 +344,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return Enumerable.Empty(); if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; diff --git a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs index bc568e48ac1a..69f7ad2b7116 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -244,7 +244,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return Enumerable.Empty(); if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs index 1e9347da7d15..c2d90fee7b00 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -348,7 +348,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return Enumerable.Empty(); if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; diff --git a/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs index c4e563b4500e..f421f6d6c00b 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -229,7 +229,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return Enumerable.Empty(); if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") }; diff --git a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs index 603d5d49ccd0..c75a26cd1562 100644 --- a/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -248,7 +248,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs index 6c9daf597559..e3f39f30bec8 100644 --- a/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -248,7 +248,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs index 646b620aeeb6..0efabe7ad9a2 100644 --- a/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -233,7 +233,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs index 83990c9239a7..97b8745cc47b 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -343,7 +343,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs index a58213a7dc90..a66181bb5473 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -349,7 +349,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs index 6c9daf597559..e3f39f30bec8 100644 --- a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -248,7 +248,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs index 3110f6143b1b..3dfb7ecffbed 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -347,7 +347,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs index a58213a7dc90..a66181bb5473 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -349,7 +349,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs index 8ba0c10634b7..55d79ce4b6a8 100644 --- a/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -233,7 +233,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs index 603d5d49ccd0..c75a26cd1562 100644 --- a/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -248,7 +248,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs index 6c9daf597559..e3f39f30bec8 100644 --- a/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -248,7 +248,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs index 646b620aeeb6..0efabe7ad9a2 100644 --- a/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -233,7 +233,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs index 83990c9239a7..97b8745cc47b 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -343,7 +343,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs index a58213a7dc90..a66181bb5473 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -349,7 +349,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs index 6c9daf597559..e3f39f30bec8 100644 --- a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -248,7 +248,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs index 3110f6143b1b..3dfb7ecffbed 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -347,7 +347,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs index a58213a7dc90..a66181bb5473 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -349,7 +349,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs index 8ba0c10634b7..55d79ce4b6a8 100644 --- a/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -233,7 +233,7 @@ public static byte[] ReadAsBytes(Stream inputStream) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return []; if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return [MediaTypeWithQualityHeaderValue.Parse("application/json")]; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs index 1e9347da7d15..c2d90fee7b00 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -348,7 +348,7 @@ public static string SelectHeaderAccept(string[] accepts) public static IEnumerable SelectHeaderAcceptArray(string[] accepts) { if (accepts.Length == 0) - return null; + return Enumerable.Empty(); if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase)) return new [] { MediaTypeWithQualityHeaderValue.Parse("application/json") };