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 6e7f9809f237..29043e9ca282 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 @@ -407,6 +407,35 @@ using System.Net.Http.Headers; throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 0d86d73de3c1..dac3c682f0d3 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 @@ -452,23 +452,6 @@ namespace {{packageName}}.{{apiPackage}} {{/-last}} {{/queryParams}} - {{#constantParams}} - {{#isHeaderParam}} - // Set client side default value of Header Param "{{baseName}}". - httpRequestMessageLocalVar.Headers.Add("{{baseName}}", ClientUtils.ParameterToString({{#_enum}}"{{{.}}}"{{/_enum}})); // Constant header parameter - {{/isHeaderParam}} - {{/constantParams}} - {{#headerParams}} - {{#required}} - httpRequestMessageLocalVar.Headers.Add("{{baseName}}", ClientUtils.ParameterToString({{paramName}})); - - {{/required}} - {{^required}} - if ({{paramName}}.IsSet) - httpRequestMessageLocalVar.Headers.Add("{{baseName}}", ClientUtils.ParameterToString({{paramName}}.Value)); - - {{/required}} - {{/headerParams}} {{#formParams}} {{#-first}} {{#isMultipart}} @@ -561,18 +544,65 @@ namespace {{packageName}}.{{apiPackage}} {{/formParams}} {{#bodyParam}} {{#required}} - httpRequestMessageLocalVar.Content = ({{paramName}}{{^required}}.Value{{/required}} as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = ({{paramName}}{{^required}}.Value{{/required}} as object) is {{packageName}}.{{clientPackage}}.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize({{paramName}}{{^required}}.Value{{/required}}, _jsonSerializerOptions)); {{/required}} {{^required}} if ({{paramName}}.IsSet) - httpRequestMessageLocalVar.Content = ({{paramName}}{{^required}}.Value{{/required}} as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize({{paramName}}{{^required}}.Value{{/required}}, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = ({{paramName}}{{^required}}.Value{{/required}} as object) is {{packageName}}.{{clientPackage}}.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize({{paramName}}{{^required}}.Value{{/required}}, _jsonSerializerOptions)); + } {{/required}} {{/bodyParam}} + + {{#constantParams}} + {{#isHeaderParam}} + // Set client side default value of Header Param "{{baseName}}". + if (ClientUtils.IsContentHeader("{{baseName}}")) + { + httpRequestMessageLocalVar.Content.Headers.Add("{{baseName}}", ClientUtils.ParameterToString({{#_enum}}"{{{.}}}"{{/_enum}})); // Constant header parameter + } + else + { + httpRequestMessageLocalVar.Headers.Add("{{baseName}}", ClientUtils.ParameterToString({{#_enum}}"{{{.}}}"{{/_enum}})); // Constant header parameter + } + + {{/isHeaderParam}} + {{/constantParams}} + {{#headerParams}} + {{#required}} + // Set client side default value of Header Param "{{baseName}}". + if (ClientUtils.IsContentHeader("{{baseName}}")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("{{baseName}}", ClientUtils.ParameterToString({{paramName}})); + } + else + { + httpRequestMessageLocalVar.Headers.Add("{{baseName}}", ClientUtils.ParameterToString({{paramName}})); + } + + {{/required}} + {{^required}} + if ({{paramName}}.IsSet) + { + // Set client side default value of Header Param "{{baseName}}". + if (ClientUtils.IsContentHeader("{{baseName}}")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("{{baseName}}", ClientUtils.ParameterToString({{paramName}}.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("{{baseName}}", ClientUtils.ParameterToString({{paramName}}.Value)); + } + } + + {{/required}} + {{/headerParams}} + {{#authMethods}} {{#-first}} List tokenBaseLocalVars = new List(); @@ -907,4 +937,4 @@ namespace {{packageName}}.{{apiPackage}} } {{/operations}} } -{{/lambda.trimLineBreaks}} +{{/lambda.trimLineBreaks}} \ No newline at end of file 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 3c7e3f8809dc..610f4d277860 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 @@ -307,6 +307,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 08bee9e4dc55..886510d697ba 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 @@ -249,9 +249,11 @@ public async Task HelloWorldPostAsync(Option + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 3cd28f988823..e901eccefde7 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 @@ -303,6 +303,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 48a14d7ac8e1..6c73040ca3cb 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 @@ -230,9 +230,11 @@ public async Task OneOfArrayAsync(Option + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 48719ee3a820..5336e74e8322 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 @@ -327,6 +327,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index e108a9106564..04b8da36fe38 100644 --- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -277,8 +277,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/FakeApi.cs index b035dd5c9cd1..237406dab61f 100644 --- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/FakeApi.cs @@ -1604,9 +1604,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1859,9 +1861,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2101,9 +2105,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2368,9 +2374,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3276,8 +3284,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3489,8 +3497,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3718,8 +3726,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3931,8 +3939,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4625,12 +4633,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4642,6 +4644,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4882,10 +4910,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5098,8 +5144,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5311,8 +5357,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6037,8 +6083,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index f3ac29a27b3f..980b7a0c1f89 100644 --- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -279,8 +279,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/PetApi.cs index c780f8623263..9d06e1ac4a9e 100644 --- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/PetApi.cs @@ -836,8 +836,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1085,7 +1085,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2131,8 +2141,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/StoreApi.cs index f357fb96d092..08624b36f6ad 100644 --- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/StoreApi.cs @@ -1140,8 +1140,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/UserApi.cs index da4e3661c441..c8536386fafb 100644 --- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Api/UserApi.cs @@ -714,8 +714,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -927,8 +927,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1140,8 +1140,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2339,8 +2339,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Client/ClientUtils.cs index 307e2a2ef3d3..6f17300f7494 100644 --- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -402,6 +402,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// diff --git a/samples/client/petstore/csharp/generichost/net10/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net10/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs index c75a26cd1562..2157bc68a4f5 100644 --- a/samples/client/petstore/csharp/generichost/net10/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net10/AllOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -316,6 +316,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// diff --git a/samples/client/petstore/csharp/generichost/net10/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net10/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs index e3f39f30bec8..64f0a9026639 100644 --- a/samples/client/petstore/csharp/generichost/net10/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net10/AnyOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -316,6 +316,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// diff --git a/samples/client/petstore/csharp/generichost/net10/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net10/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs index 0efabe7ad9a2..4da07961deed 100644 --- a/samples/client/petstore/csharp/generichost/net10/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net10/AnyOfNoCompare/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -301,6 +301,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index 374598ad581f..0de8a13cdbd7 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -275,8 +275,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs index 8a489ed1f3f3..6638ec4068d1 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs @@ -1602,9 +1602,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1857,9 +1859,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2099,9 +2103,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2366,9 +2372,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3274,8 +3282,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3487,8 +3495,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3716,8 +3724,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3929,8 +3937,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4611,12 +4619,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4628,6 +4630,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4868,10 +4896,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5084,8 +5130,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5297,8 +5343,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6023,8 +6069,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index 802d1fdb2ac1..2813dbef14b7 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -277,8 +277,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/PetApi.cs index 47c89d10aaa9..7a052a90d955 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/PetApi.cs @@ -834,8 +834,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1083,7 +1083,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2129,8 +2139,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs index 036a6d41dfa3..f05331998ad1 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/StoreApi.cs @@ -1138,8 +1138,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/UserApi.cs index c6802990ffc6..ecdf56916766 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/UserApi.cs @@ -712,8 +712,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -925,8 +925,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1138,8 +1138,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2337,8 +2337,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs index 97b8745cc47b..be99808e8e53 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -411,6 +411,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index e108a9106564..04b8da36fe38 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -277,8 +277,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeApi.cs index 7504f8b34bca..9242390191ce 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeApi.cs @@ -1604,9 +1604,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1859,9 +1861,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2101,9 +2105,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2368,9 +2374,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3276,8 +3284,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3489,8 +3497,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3718,8 +3726,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3931,8 +3939,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4625,12 +4633,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4642,6 +4644,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4882,10 +4910,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5098,8 +5144,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5311,8 +5357,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6037,8 +6083,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index f3ac29a27b3f..980b7a0c1f89 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -279,8 +279,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/PetApi.cs index c780f8623263..9d06e1ac4a9e 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/PetApi.cs @@ -836,8 +836,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1085,7 +1085,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2131,8 +2141,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/StoreApi.cs index f357fb96d092..08624b36f6ad 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/StoreApi.cs @@ -1140,8 +1140,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/UserApi.cs index da4e3661c441..c8536386fafb 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/UserApi.cs @@ -714,8 +714,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -927,8 +927,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1140,8 +1140,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2339,8 +2339,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs index a66181bb5473..f442dd44bfa2 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -417,6 +417,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// diff --git a/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs index e3f39f30bec8..64f0a9026639 100644 --- a/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -316,6 +316,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index 374598ad581f..0de8a13cdbd7 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -275,8 +275,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs index 271fbfea2636..46b99593f1d7 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/FakeApi.cs @@ -1602,9 +1602,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1857,9 +1859,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2099,9 +2103,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2366,9 +2372,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3274,8 +3282,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3487,8 +3495,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3716,8 +3724,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3929,8 +3937,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4623,12 +4631,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4640,6 +4642,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4880,10 +4908,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5096,8 +5142,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5309,8 +5355,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6035,8 +6081,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index 802d1fdb2ac1..2813dbef14b7 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -277,8 +277,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/PetApi.cs index af5a07843603..0843443b2ae3 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/PetApi.cs @@ -834,8 +834,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1083,7 +1083,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2129,8 +2139,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs index 036a6d41dfa3..f05331998ad1 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/StoreApi.cs @@ -1138,8 +1138,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/UserApi.cs index c6802990ffc6..ecdf56916766 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Api/UserApi.cs @@ -712,8 +712,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -925,8 +925,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1138,8 +1138,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2337,8 +2337,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs index 3dfb7ecffbed..9ea7d8118c3b 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -415,6 +415,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/AnotherFakeApi.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/AnotherFakeApi.cs index e108a9106564..04b8da36fe38 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/AnotherFakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/AnotherFakeApi.cs @@ -277,8 +277,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/FakeApi.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/FakeApi.cs index 7504f8b34bca..9242390191ce 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/FakeApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/FakeApi.cs @@ -1604,9 +1604,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1859,9 +1861,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2101,9 +2105,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2368,9 +2374,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3276,8 +3284,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3489,8 +3497,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3718,8 +3726,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3931,8 +3939,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4625,12 +4633,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4642,6 +4644,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4882,10 +4910,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5098,8 +5144,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5311,8 +5357,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6037,8 +6083,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs index f3ac29a27b3f..980b7a0c1f89 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/FakeClassnameTags123Api.cs @@ -279,8 +279,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/PetApi.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/PetApi.cs index c780f8623263..9d06e1ac4a9e 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/PetApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/PetApi.cs @@ -836,8 +836,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1085,7 +1085,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2131,8 +2141,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/StoreApi.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/StoreApi.cs index f357fb96d092..08624b36f6ad 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/StoreApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/StoreApi.cs @@ -1140,8 +1140,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/UserApi.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/UserApi.cs index da4e3661c441..c8536386fafb 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/UserApi.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Api/UserApi.cs @@ -714,8 +714,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -927,8 +927,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1140,8 +1140,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2339,8 +2339,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs index a66181bb5473..f442dd44bfa2 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -417,6 +417,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// diff --git a/samples/client/petstore/csharp/generichost/net10/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp/generichost/net10/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs index 55d79ce4b6a8..3310db6b99d8 100644 --- a/samples/client/petstore/csharp/generichost/net10/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp/generichost/net10/UseDateTimeForDate/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -301,6 +301,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 edb65b8265db..a8017239f2d0 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 @@ -311,6 +311,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 69f7ad2b7116..64f174fb00d2 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 @@ -311,6 +311,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 217a64d7d771..06a270135661 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 @@ -296,6 +296,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 7eeebe9c25d2..1540faaeb1cf 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 @@ -275,8 +275,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 98684187061c..e978aa8b5292 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 @@ -1601,9 +1601,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1855,9 +1857,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2096,9 +2100,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2362,9 +2368,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3266,8 +3274,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3479,8 +3487,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3708,8 +3716,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3921,8 +3929,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4602,12 +4610,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4619,6 +4621,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4859,10 +4887,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5074,8 +5120,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5287,8 +5333,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6012,8 +6058,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 da2c72009ed0..0fe14400f4d6 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 @@ -277,8 +277,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 4f546bd46274..a7310cdc0f0a 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 @@ -834,8 +834,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1083,7 +1083,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2125,8 +2135,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 c73432cbeadc..9c7430992dbb 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 @@ -1135,8 +1135,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 22514301a2c9..4c61cc91448a 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 @@ -704,8 +704,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -917,8 +917,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1130,8 +1130,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2298,8 +2298,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 585f78b2c231..965dcceeeeb5 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 @@ -411,6 +411,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 69f7ad2b7116..64f174fb00d2 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 @@ -311,6 +311,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 7eeebe9c25d2..1540faaeb1cf 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 @@ -275,8 +275,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 700574a85fba..8f61b4a3e376 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 @@ -1601,9 +1601,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1855,9 +1857,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2096,9 +2100,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2362,9 +2368,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3266,8 +3274,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3479,8 +3487,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3708,8 +3716,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3921,8 +3929,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4614,12 +4622,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4631,6 +4633,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4871,10 +4899,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5086,8 +5132,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5299,8 +5345,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6024,8 +6070,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 da2c72009ed0..0fe14400f4d6 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 @@ -277,8 +277,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 de209e1450ec..d955b80e8761 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 @@ -834,8 +834,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1083,7 +1083,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2125,8 +2135,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 c73432cbeadc..9c7430992dbb 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 @@ -1135,8 +1135,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 22514301a2c9..4c61cc91448a 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 @@ -704,8 +704,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -917,8 +917,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1130,8 +1130,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2298,8 +2298,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 c2d90fee7b00..92d95ba94060 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 @@ -415,6 +415,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 f421f6d6c00b..196d6f474252 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 @@ -296,6 +296,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 edb65b8265db..a8017239f2d0 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 @@ -311,6 +311,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 69f7ad2b7116..64f174fb00d2 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 @@ -311,6 +311,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 217a64d7d771..06a270135661 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 @@ -296,6 +296,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 7eeebe9c25d2..1540faaeb1cf 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 @@ -275,8 +275,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 98684187061c..e978aa8b5292 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 @@ -1601,9 +1601,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1855,9 +1857,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2096,9 +2100,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2362,9 +2368,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3266,8 +3274,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3479,8 +3487,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3708,8 +3716,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3921,8 +3929,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4602,12 +4610,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4619,6 +4621,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4859,10 +4887,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5074,8 +5120,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5287,8 +5333,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6012,8 +6058,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 da2c72009ed0..0fe14400f4d6 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 @@ -277,8 +277,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 4f546bd46274..a7310cdc0f0a 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 @@ -834,8 +834,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1083,7 +1083,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2125,8 +2135,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 c73432cbeadc..9c7430992dbb 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 @@ -1135,8 +1135,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 22514301a2c9..4c61cc91448a 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 @@ -704,8 +704,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -917,8 +917,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1130,8 +1130,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2298,8 +2298,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 585f78b2c231..965dcceeeeb5 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 @@ -411,6 +411,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 69f7ad2b7116..64f174fb00d2 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 @@ -311,6 +311,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 7eeebe9c25d2..1540faaeb1cf 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 @@ -275,8 +275,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 700574a85fba..8f61b4a3e376 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 @@ -1601,9 +1601,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1855,9 +1857,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2096,9 +2100,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2362,9 +2368,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3266,8 +3274,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3479,8 +3487,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3708,8 +3716,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3921,8 +3929,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4614,12 +4622,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4631,6 +4633,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4871,10 +4899,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5086,8 +5132,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5299,8 +5345,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6024,8 +6070,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 da2c72009ed0..0fe14400f4d6 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 @@ -277,8 +277,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 de209e1450ec..d955b80e8761 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 @@ -834,8 +834,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1083,7 +1083,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2125,8 +2135,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 c73432cbeadc..9c7430992dbb 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 @@ -1135,8 +1135,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 22514301a2c9..4c61cc91448a 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 @@ -704,8 +704,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -917,8 +917,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1130,8 +1130,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2298,8 +2298,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 c2d90fee7b00..92d95ba94060 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 @@ -415,6 +415,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 f421f6d6c00b..196d6f474252 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 @@ -296,6 +296,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 c75a26cd1562..2157bc68a4f5 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 @@ -316,6 +316,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 e3f39f30bec8..64f0a9026639 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 @@ -316,6 +316,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 0efabe7ad9a2..4da07961deed 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 @@ -301,6 +301,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 374598ad581f..0de8a13cdbd7 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 @@ -275,8 +275,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 8a489ed1f3f3..6638ec4068d1 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 @@ -1602,9 +1602,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1857,9 +1859,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2099,9 +2103,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2366,9 +2372,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3274,8 +3282,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3487,8 +3495,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3716,8 +3724,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3929,8 +3937,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4611,12 +4619,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4628,6 +4630,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4868,10 +4896,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5084,8 +5130,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5297,8 +5343,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6023,8 +6069,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 802d1fdb2ac1..2813dbef14b7 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 @@ -277,8 +277,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 47c89d10aaa9..7a052a90d955 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 @@ -834,8 +834,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1083,7 +1083,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2129,8 +2139,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 036a6d41dfa3..f05331998ad1 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 @@ -1138,8 +1138,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 c6802990ffc6..ecdf56916766 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 @@ -712,8 +712,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -925,8 +925,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1138,8 +1138,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2337,8 +2337,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 97b8745cc47b..be99808e8e53 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 @@ -411,6 +411,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 e108a9106564..04b8da36fe38 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 @@ -277,8 +277,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 7504f8b34bca..9242390191ce 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 @@ -1604,9 +1604,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1859,9 +1861,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2101,9 +2105,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2368,9 +2374,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3276,8 +3284,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3489,8 +3497,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3718,8 +3726,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3931,8 +3939,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4625,12 +4633,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4642,6 +4644,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4882,10 +4910,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5098,8 +5144,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5311,8 +5357,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6037,8 +6083,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 f3ac29a27b3f..980b7a0c1f89 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 @@ -279,8 +279,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 c780f8623263..9d06e1ac4a9e 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 @@ -836,8 +836,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1085,7 +1085,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2131,8 +2141,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 f357fb96d092..08624b36f6ad 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 @@ -1140,8 +1140,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 da4e3661c441..c8536386fafb 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 @@ -714,8 +714,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -927,8 +927,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1140,8 +1140,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2339,8 +2339,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 a66181bb5473..f442dd44bfa2 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 @@ -417,6 +417,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 e3f39f30bec8..64f0a9026639 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 @@ -316,6 +316,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 374598ad581f..0de8a13cdbd7 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 @@ -275,8 +275,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 271fbfea2636..46b99593f1d7 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 @@ -1602,9 +1602,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1857,9 +1859,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2099,9 +2103,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2366,9 +2372,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3274,8 +3282,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3487,8 +3495,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3716,8 +3724,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3929,8 +3937,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4623,12 +4631,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4640,6 +4642,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4880,10 +4908,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5096,8 +5142,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5309,8 +5355,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6035,8 +6081,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 802d1fdb2ac1..2813dbef14b7 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 @@ -277,8 +277,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 af5a07843603..0843443b2ae3 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 @@ -834,8 +834,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1083,7 +1083,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2129,8 +2139,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 036a6d41dfa3..f05331998ad1 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 @@ -1138,8 +1138,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 c6802990ffc6..ecdf56916766 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 @@ -712,8 +712,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -925,8 +925,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1138,8 +1138,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2337,8 +2337,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 3dfb7ecffbed..9ea7d8118c3b 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 @@ -415,6 +415,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 e108a9106564..04b8da36fe38 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 @@ -277,8 +277,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 7504f8b34bca..9242390191ce 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 @@ -1604,9 +1604,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1859,9 +1861,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2101,9 +2105,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2368,9 +2374,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3276,8 +3284,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3489,8 +3497,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3718,8 +3726,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3931,8 +3939,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4625,12 +4633,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4642,6 +4644,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4882,10 +4910,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5098,8 +5144,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5311,8 +5357,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6037,8 +6083,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 f3ac29a27b3f..980b7a0c1f89 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 @@ -279,8 +279,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 c780f8623263..9d06e1ac4a9e 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 @@ -836,8 +836,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1085,7 +1085,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2131,8 +2141,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 f357fb96d092..08624b36f6ad 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 @@ -1140,8 +1140,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 da4e3661c441..c8536386fafb 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 @@ -714,8 +714,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -927,8 +927,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1140,8 +1140,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2339,8 +2339,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 a66181bb5473..f442dd44bfa2 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 @@ -417,6 +417,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 55d79ce4b6a8..3310db6b99d8 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 @@ -301,6 +301,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 c75a26cd1562..2157bc68a4f5 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 @@ -316,6 +316,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 e3f39f30bec8..64f0a9026639 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 @@ -316,6 +316,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 0efabe7ad9a2..4da07961deed 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 @@ -301,6 +301,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 374598ad581f..0de8a13cdbd7 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 @@ -275,8 +275,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 8a489ed1f3f3..6638ec4068d1 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 @@ -1602,9 +1602,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1857,9 +1859,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2099,9 +2103,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2366,9 +2372,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3274,8 +3282,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3487,8 +3495,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3716,8 +3724,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3929,8 +3937,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4611,12 +4619,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4628,6 +4630,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4868,10 +4896,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5084,8 +5130,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5297,8 +5343,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6023,8 +6069,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 802d1fdb2ac1..2813dbef14b7 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 @@ -277,8 +277,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 47c89d10aaa9..7a052a90d955 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 @@ -834,8 +834,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1083,7 +1083,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2129,8 +2139,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 036a6d41dfa3..f05331998ad1 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 @@ -1138,8 +1138,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 c6802990ffc6..ecdf56916766 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 @@ -712,8 +712,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -925,8 +925,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1138,8 +1138,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2337,8 +2337,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 97b8745cc47b..be99808e8e53 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 @@ -411,6 +411,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 e108a9106564..04b8da36fe38 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 @@ -277,8 +277,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 7504f8b34bca..9242390191ce 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 @@ -1604,9 +1604,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1859,9 +1861,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2101,9 +2105,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2368,9 +2374,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3276,8 +3284,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3489,8 +3497,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3718,8 +3726,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3931,8 +3939,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4625,12 +4633,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4642,6 +4644,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4882,10 +4910,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5098,8 +5144,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5311,8 +5357,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6037,8 +6083,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 f3ac29a27b3f..980b7a0c1f89 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 @@ -279,8 +279,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 c780f8623263..9d06e1ac4a9e 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 @@ -836,8 +836,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1085,7 +1085,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2131,8 +2141,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 f357fb96d092..08624b36f6ad 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 @@ -1140,8 +1140,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 da4e3661c441..c8536386fafb 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 @@ -714,8 +714,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -927,8 +927,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1140,8 +1140,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2339,8 +2339,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 a66181bb5473..f442dd44bfa2 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 @@ -417,6 +417,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 e3f39f30bec8..64f0a9026639 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 @@ -316,6 +316,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 374598ad581f..0de8a13cdbd7 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 @@ -275,8 +275,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 271fbfea2636..46b99593f1d7 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 @@ -1602,9 +1602,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1857,9 +1859,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2099,9 +2103,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2366,9 +2372,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3274,8 +3282,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3487,8 +3495,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3716,8 +3724,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3929,8 +3937,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4623,12 +4631,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4640,6 +4642,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4880,10 +4908,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5096,8 +5142,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5309,8 +5355,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6035,8 +6081,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 802d1fdb2ac1..2813dbef14b7 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 @@ -277,8 +277,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 af5a07843603..0843443b2ae3 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 @@ -834,8 +834,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1083,7 +1083,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2129,8 +2139,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 036a6d41dfa3..f05331998ad1 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 @@ -1138,8 +1138,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 c6802990ffc6..ecdf56916766 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 @@ -712,8 +712,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -925,8 +925,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1138,8 +1138,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2337,8 +2337,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 3dfb7ecffbed..9ea7d8118c3b 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 @@ -415,6 +415,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 e108a9106564..04b8da36fe38 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 @@ -277,8 +277,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 7504f8b34bca..9242390191ce 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 @@ -1604,9 +1604,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1859,9 +1861,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2101,9 +2105,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2368,9 +2374,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3276,8 +3284,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3489,8 +3497,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3718,8 +3726,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3931,8 +3939,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4625,12 +4633,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4642,6 +4644,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4882,10 +4910,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5098,8 +5144,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5311,8 +5357,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6037,8 +6083,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 f3ac29a27b3f..980b7a0c1f89 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 @@ -279,8 +279,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 c780f8623263..9d06e1ac4a9e 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 @@ -836,8 +836,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1085,7 +1085,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2131,8 +2141,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 f357fb96d092..08624b36f6ad 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 @@ -1140,8 +1140,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 da4e3661c441..c8536386fafb 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 @@ -714,8 +714,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -927,8 +927,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1140,8 +1140,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2339,8 +2339,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 a66181bb5473..f442dd44bfa2 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 @@ -417,6 +417,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 55d79ce4b6a8..3310db6b99d8 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 @@ -301,6 +301,35 @@ public static bool IsJsonMime(string mime) throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API /// 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 d5ef07d0af6c..6eb8990489ae 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 @@ -274,8 +274,8 @@ public async Task Call123TestSpecialTagsAsyn ? "/another-fake/dummy" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/another-fake/dummy"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 0cde2825a8f0..7f78296b1c0b 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 @@ -1600,9 +1600,11 @@ public async Task FakeOuterBooleanSeriali : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/boolean"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1854,9 +1856,11 @@ public async Task FakeOuterCompositeSer : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/composite"); if (outerComposite.IsSet) - httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (outerComposite.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(outerComposite.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2095,9 +2099,11 @@ public async Task FakeOuterNumberSerialize : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/outer/number"); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2361,9 +2367,11 @@ public async Task FakeOuterStringSerialize uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); if (body.IsSet) - httpRequestMessageLocalVar.Content = (body.Value as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) - : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + { + httpRequestMessageLocalVar.Content = (body.Value as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) + : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(body.Value, _jsonSerializerOptions)); + } httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3265,8 +3273,8 @@ public async Task TestAdditionalP ? "/fake/additionalProperties-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/additionalProperties-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3478,8 +3486,8 @@ public async Task TestBodyWithFileSchemaAsyn ? "/fake/body-with-file-schema" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/body-with-file-schema"); - httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (fileSchemaTestClass as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(fileSchemaTestClass, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3707,8 +3715,8 @@ public async Task TestBodyWithQueryParamsAs uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -3920,8 +3928,8 @@ public async Task TestClientModelAsync(ModelClient ? "/fake" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake"); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -4613,12 +4621,6 @@ public async Task TestEnumParametersAsync(Option uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - if (enumHeaderString.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); - - if (enumHeaderStringArray.IsSet) - httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); - List> formParameterLocalVars = new List>(); if (enumFormString.IsSet) @@ -4630,6 +4632,32 @@ public async Task TestEnumParametersAsync(Option if (formParameterLocalVars.Count > 0) httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars); + if (enumHeaderString.IsSet) + { + // Set client side default value of Header Param "enum_header_string". + if (ClientUtils.IsContentHeader("enum_header_string")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string", ClientUtils.ParameterToString(enumHeaderString.Value)); + } + } + + if (enumHeaderStringArray.IsSet) + { + // Set client side default value of Header Param "enum_header_string_array". + if (ClientUtils.IsContentHeader("enum_header_string_array")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value)); + } + } + httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; string[] contentTypes = new string[] { @@ -4870,10 +4898,28 @@ public async Task TestGroupParametersAsync(bool uriBuilderLocalVar.Query = parseQueryStringLocalVar.ToString(); - httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + // Set client side default value of Header Param "required_boolean_group". + if (ClientUtils.IsContentHeader("required_boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("required_boolean_group", ClientUtils.ParameterToString(requiredBooleanGroup)); + } if (booleanGroup.IsSet) - httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + { + // Set client side default value of Header Param "boolean_group". + if (ClientUtils.IsContentHeader("boolean_group")) + { + httpRequestMessageLocalVar.Content?.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + else + { + httpRequestMessageLocalVar.Headers.Add("boolean_group", ClientUtils.ParameterToString(booleanGroup.Value)); + } + } List tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5085,8 +5131,8 @@ public async Task TestInlineAddition ? "/fake/inline-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-additionalProperties"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -5298,8 +5344,8 @@ public async Task TestInline ? "/fake/inline-freeform-additionalProperties" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/inline-freeform-additionalProperties"); - httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (testInlineFreeformAdditionalPropertiesRequest as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(testInlineFreeformAdditionalPropertiesRequest, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -6023,8 +6069,8 @@ public async Task TestStringMapReferenceAsyn ? "/fake/stringMap-reference" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/fake/stringMap-reference"); - httpRequestMessageLocalVar.Content = (requestBody as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (requestBody as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(requestBody, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 3513619a880c..c84e52a5a500 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 @@ -276,8 +276,8 @@ public async Task TestClassnameAsync(ModelClient mode System.Collections.Specialized.NameValueCollection parseQueryStringLocalVar = System.Web.HttpUtility.ParseQueryString(string.Empty); - httpRequestMessageLocalVar.Content = (modelClient as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (modelClient as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(modelClient, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 7592e4b8d2fd..8fd9ec7fe213 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 @@ -833,8 +833,8 @@ public async Task AddPetAsync(Pet pet, System.Threading.Canc uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); @@ -1082,7 +1082,17 @@ public async Task DeletePetAsync(long petId, Option tokenBaseLocalVars = new List(); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2124,8 +2134,8 @@ public async Task UpdatePetAsync(Pet pet, System.Threadin uriBuilderLocalVar.Scheme = urlLocalVar.Scheme; uriBuilderLocalVar.Path = urlLocalVar.AbsolutePath; - httpRequestMessageLocalVar.Content = (pet as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (pet as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(pet, _jsonSerializerOptions)); List tokenBaseLocalVars = new List(); 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 7c748b85f522..f8551cfa6d00 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 @@ -1134,8 +1134,8 @@ public async Task PlaceOrderAsync(Order order, System.Th ? "/store/order" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/store/order"); - httpRequestMessageLocalVar.Content = (order as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (order as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(order, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 4f5e5922505b..6f79c82446ac 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 @@ -703,8 +703,8 @@ public async Task CreateUserAsync(User user, System.Thre ? "/user" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -916,8 +916,8 @@ public async Task CreateUsersWithArrayInp ? "/user/createWithArray" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithArray"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -1129,8 +1129,8 @@ public async Task CreateUsersWithListInput ? "/user/createWithList" : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/createWithList"); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; @@ -2297,8 +2297,8 @@ public async Task UpdateUserAsync(User user, string user : string.Concat(HttpClient.BaseAddress.AbsolutePath.TrimEnd('/'), "/user/{username}"); uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7Busername%7D", Uri.EscapeDataString(username.ToString())); - httpRequestMessageLocalVar.Content = (user as object) is System.IO.Stream stream - ? httpRequestMessageLocalVar.Content = new StreamContent(stream) + httpRequestMessageLocalVar.Content = (user as object) is Org.OpenAPITools.Client.FileParameter fileParameterLocalVar + ? httpRequestMessageLocalVar.Content = new StreamContent(fileParameterLocalVar.Content) : httpRequestMessageLocalVar.Content = new StringContent(JsonSerializer.Serialize(user, _jsonSerializerOptions)); httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri; 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 c2d90fee7b00..92d95ba94060 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 @@ -415,6 +415,35 @@ public static string GetDiscriminator(Utf8JsonReader utf8JsonReader, string disc throw new JsonException("The specified discriminator was not found."); } + /// + /// Determines if the provided header is a content header + /// + /// The header to check + /// True if a content header; False otherwise + public static bool IsContentHeader(string header) + { + return ContentHeaders.Contains(header.ToLowerInvariant()); + } + + /// + /// The collection of content headers as per + /// https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcontent.headers + /// + private static readonly string[] ContentHeaders = new String[] + { + "allow", + "content-encoding", + "content-disposition", + "content-language", + "content-length", + "content-location", + "content-md5", + "content-range", + "content-type", + "expires", + "last-modified" + }; + /// /// The base path of the API ///