Skip to content

Commit 71ae244

Browse files
authored
- renamed ConsumesFormUrlEncoded to ConsumesOnlyFormUrlEncoded in liquid templates (#5029)
- ConsumesOnlyFormUrlEncoded will be set to false if json is accepted
1 parent 05a99f1 commit 71ae244

File tree

12 files changed

+341
-14
lines changed

12 files changed

+341
-14
lines changed

src/NSwag.CodeGeneration.CSharp/Templates/Client.Class.liquid

+2-2
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@
212212
{% elsif operation.HasXmlBodyParameter -%}
213213
var content_ = new System.Net.Http.StringContent({{ operation.ContentParameter.VariableName }});
214214
content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("{{ operation.Consumes }}");
215-
{% elsif operation.ConsumesFormUrlEncoded -%}
215+
{% elsif operation.ConsumesOnlyFormUrlEncoded -%}
216216
var json_ = {% if UseSystemTextJson %}System.Text.Json.JsonSerializer.SerializeToUtf8Bytes{% else %}Newtonsoft.Json.JsonConvert.SerializeObject{% endif %}({{ operation.ContentParameter.VariableName }}, JsonSerializerSettings);
217217
var dictionary_ = {% if UseSystemTextJson %}System.Text.Json.JsonSerializer.Deserialize{% else %}Newtonsoft.Json.JsonConvert.DeserializeObject{% endif %}<System.Collections.Generic.Dictionary<string, string>>(json_, JsonSerializerSettings);
218218
var content_ = new System.Net.Http.FormUrlEncodedContent(dictionary_);
@@ -228,7 +228,7 @@
228228
request_.Content = content_;
229229
{% else -%}
230230
{% if operation.HasFormParameters -%}
231-
{% if operation.ConsumesFormUrlEncoded -%}
231+
{% if operation.ConsumesOnlyFormUrlEncoded -%}
232232
var keyValues_ = new System.Collections.Generic.List<System.Collections.Generic.KeyValuePair<string, string>>();
233233
{% for parameter in operation.FormParameters -%}
234234
{% if parameter.IsNullable -%}

src/NSwag.CodeGeneration.TypeScript/Templates/AngularClient.liquid

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
{%- for parameter in operation.HeaderParameters -%}
7070
"{{ parameter.Name }}": {{ parameter.VariableName }} !== undefined && {{ parameter.VariableName }} !== null ? "" + {{ parameter.VariableName }} : "",
7171
{%- endfor -%}
72-
{%- if operation.HasContent or operation.ConsumesFormUrlEncoded -%}
72+
{%- if operation.HasContent or operation.ConsumesOnlyFormUrlEncoded -%}
7373
"Content-Type": "{{ operation.Consumes }}",
7474
{%- endif -%}
7575
{%- if operation.HasResultType and operation.HasAcceptHeaderParameterParameter == false -%}

src/NSwag.CodeGeneration.TypeScript/Templates/AngularJSClient.liquid

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
{%- for parameter in operation.HeaderParameters -%}
5656
"{{ parameter.Name }}": {{ parameter.VariableName }} !== undefined && {{ parameter.VariableName }} !== null ? "" + {{ parameter.VariableName }} : "",
5757
{% endfor -%}
58-
{% if operation.HasContent or operation.ConsumesFormUrlEncoded -%}
58+
{% if operation.HasContent or operation.ConsumesOnlyFormUrlEncoded -%}
5959
"Content-Type": "{{ operation.Consumes }}",
6060
{% endif -%}
6161
{% if operation.HasResultType and operation.HasAcceptHeaderParameterParameter == false -%}

src/NSwag.CodeGeneration.TypeScript/Templates/AxiosClient.liquid

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
{% for parameter in operation.HeaderParameters -%}
5353
"{{ parameter.Name }}": {{ parameter.VariableName }} !== undefined && {{ parameter.VariableName }} !== null ? "" + {{ parameter.VariableName }} : "",
5454
{% endfor -%}
55-
{% if operation.HasContent or operation.ConsumesFormUrlEncoded -%}
55+
{% if operation.HasContent or operation.ConsumesOnlyFormUrlEncoded -%}
5656
"Content-Type": "{{ operation.Consumes }}",
5757
{% endif -%}
5858
{% if operation.HasResultType and operation.HasAcceptHeaderParameterParameter == false -%}

src/NSwag.CodeGeneration.TypeScript/Templates/Client.RequestBody.liquid

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{%- if operation.HasFormParameters -%}
2-
{%- if operation.ConsumesFormUrlEncoded -%}
2+
{%- if operation.ConsumesOnlyFormUrlEncoded -%}
33
let content_ = "";
44
{%- for parameter in operation.FormParameters -%}
55
{%- if parameter.IsRequired -%}

src/NSwag.CodeGeneration.TypeScript/Templates/FetchClient.liquid

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
{%- for parameter in operation.HeaderParameters -%}
5656
"{{ parameter.Name }}": {{ parameter.VariableName }} !== undefined && {{ parameter.VariableName }} !== null ? "" + {{ parameter.VariableName }} : "",
5757
{%- endfor -%}
58-
{%- if operation.HasContent or operation.ConsumesFormUrlEncoded -%}
58+
{%- if operation.HasContent or operation.ConsumesOnlyFormUrlEncoded -%}
5959
"Content-Type": "{{ operation.Consumes }}",
6060
{%- endif -%}
6161
{%- if operation.HasResultType and operation.HasAcceptHeaderParameterParameter == false -%}

src/NSwag.CodeGeneration.TypeScript/Templates/JQueryCallbacksClient.liquid

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
{% for parameter in operation.HeaderParameters -%}
5656
"{{ parameter.Name }}": {{ parameter.VariableName }} !== undefined && {{ parameter.VariableName }} !== null ? "" + {{ parameter.VariableName }} : "",
5757
{% endfor -%}
58-
{% if operation.HasContent or operation.ConsumesFormUrlEncoded -%}
58+
{% if operation.HasContent or operation.ConsumesOnlyFormUrlEncoded -%}
5959
"Content-Type": "{{ operation.Consumes }}",
6060
{% endif -%}
6161
{% if operation.HasResultType and operation.HasAcceptHeaderParameterParameter == false -%}

src/NSwag.CodeGeneration.TypeScript/Templates/JQueryPromisesClient.liquid

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
{%- for parameter in operation.HeaderParameters -%}
6363
"{{ parameter.Name }}": {{ parameter.VariableName }} !== undefined && {{ parameter.VariableName }} !== null ? "" + {{ parameter.VariableName }} : "",
6464
{% endfor -%}
65-
{%- if operation.HasContent or operation.ConsumesFormUrlEncoded -%}
65+
{%- if operation.HasContent or operation.ConsumesOnlyFormUrlEncoded -%}
6666
"Content-Type": "{{ operation.Consumes }}",
6767
{%- endif -%}
6868
{%- if operation.HasResultType and operation.HasAcceptHeaderParameterParameter == false -%}

src/NSwag.CodeGeneration/Models/OperationModelBase.cs

+11-2
Original file line numberDiff line numberDiff line change
@@ -207,10 +207,19 @@ public TParameterModel ContentParameter
207207
/// <summary>Gets a value indicating whether the operation has form parameters.</summary>
208208
public bool HasFormParameters => Parameters.Any(p => p.Kind == OpenApiParameterKind.FormData);
209209

210+
/// <summary>Gets a value indicating whether the operation consumes 'application/x-www-form-urlencoded'.</summary>
211+
public bool ConsumesOnlyFormUrlEncoded =>
212+
ConsumesFormUrlEncoded && !ConsumesJson;
213+
210214
/// <summary>Gets a value indicating whether the operation consumes 'application/x-www-form-urlencoded'.</summary>
211215
public bool ConsumesFormUrlEncoded =>
212-
_operation.ActualConsumes?.Any(c => c == "application/x-www-form-urlencoded") == true ||
213-
_operation.ActualRequestBody?.Content.Any(mt => mt.Key == "application/x-www-form-urlencoded") == true;
216+
(_operation.ActualConsumes?.Any(c => c == "application/x-www-form-urlencoded") == true ||
217+
_operation.ActualRequestBody?.Content.Any(mt => mt.Key == "application/x-www-form-urlencoded") == true);
218+
219+
/// <summary>Gets a value indicating whether the operation consumes 'application/json'.</summary>
220+
public bool ConsumesJson =>
221+
(_operation.ActualConsumes?.Any(c => c == "application/json") == true ||
222+
_operation.ActualRequestBody?.Content.Any(mt => mt.Key == "application/json") == true);
214223

215224
/// <summary>Gets the form parameters.</summary>
216225
public IEnumerable<TParameterModel> FormParameters => Parameters.Where(p => p.Kind == OpenApiParameterKind.FormData);

src/NSwag.ConsoleCore/Properties/launchSettings.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"profiles": {
33
"NSwag.ConsoleCore": {
44
"commandName": "Project",
5-
"commandLineArgs": "run \"C:\\Data\\Projects\\Picturepark.SDK.TypeScript\\src\\picturepark-sdk-v1-angular\\projects\\picturepark-sdk-v1-angular\\nswag.json\""
5+
"commandLineArgs": "run \"D:\\pfsense\\pfsense.nswag\""
66
}
77
}
88
}

src/NSwag.Npm/package-lock.json

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)