Skip to content

Commit 7b2b0ef

Browse files
committed
use FormData instead of URLSearchParams
1 parent 5dcf34f commit 7b2b0ef

File tree

3 files changed

+18
-28
lines changed
  • modules/swagger-codegen/src/main/resources/Javascript-Flowtyped
  • samples/client/petstore/javascript-flowtyped

3 files changed

+18
-28
lines changed

modules/swagger-codegen/src/main/resources/Javascript-Flowtyped/api.mustache

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export type FetchArgs = {
4444
export type RequestOptions = {
4545
headers?: {};
4646
query?: {};
47-
body?: string;
47+
body?: string | FormData;
4848
}
4949

5050
/**
@@ -95,7 +95,7 @@ export const {{classname}}FetchParamCreator = function (configuration?: Configur
9595
const localVarHeaderParameter = {};
9696
const localVarQueryParameter = {};
9797
{{#hasFormParams}}
98-
const localVarFormParams = new url.URLSearchParams();
98+
const localVarFormParams = new FormData();
9999
{{/hasFormParams}}
100100

101101
{{#authMethods}}
@@ -196,10 +196,6 @@ export const {{classname}}FetchParamCreator = function (configuration?: Configur
196196
{{/isListContainer}}
197197

198198
{{/formParams}}
199-
{{#hasFormParams}}
200-
localVarHeaderParameter['Content-Type'] = 'application/x-www-form-urlencoded';
201-
202-
{{/hasFormParams}}
203199
{{#bodyParam}}
204200
{{^consumes}}
205201
localVarHeaderParameter['Content-Type'] = 'application/json';
@@ -214,7 +210,7 @@ export const {{classname}}FetchParamCreator = function (configuration?: Configur
214210
delete localVarUrlObj.search;
215211
localVarRequestOptions.headers = Object.assign({}, localVarHeaderParameter, options.headers);
216212
{{#hasFormParams}}
217-
localVarRequestOptions.body = localVarFormParams.toString();
213+
localVarRequestOptions.body = localVarFormParams;
218214
{{/hasFormParams}}
219215
{{#bodyParam}}
220216
const needsSerialization = (typeof {{paramName}} !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"presets": ["react-app"],
3+
"plugins": ["transform-flow-strip-types"]
4+
}

samples/client/petstore/javascript-flowtyped/src/api.js

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export type FetchArgs = {
5555
export type RequestOptions = {
5656
headers?: {};
5757
query?: {};
58-
body?: string;
58+
body?: string | FormData;
5959
}
6060

6161
/**
@@ -1172,7 +1172,7 @@ export const FakeApiFetchParamCreator = function (configuration?: Configuration)
11721172
const localVarRequestOptions: RequestOptions = Object.assign({}, { method: 'POST' }, options);
11731173
const localVarHeaderParameter = {};
11741174
const localVarQueryParameter = {};
1175-
const localVarFormParams = new url.URLSearchParams();
1175+
const localVarFormParams = new FormData();
11761176

11771177
// authentication http_basic_test required
11781178
// http basic authentication required
@@ -1236,13 +1236,11 @@ export const FakeApiFetchParamCreator = function (configuration?: Configuration)
12361236
localVarFormParams.set('callback', ((callback:any):string));
12371237
}
12381238

1239-
localVarHeaderParameter['Content-Type'] = 'application/x-www-form-urlencoded';
1240-
12411239
localVarUrlObj.query = Object.assign({}, localVarUrlObj.query, localVarQueryParameter, options.query);
12421240
// fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
12431241
delete localVarUrlObj.search;
12441242
localVarRequestOptions.headers = Object.assign({}, localVarHeaderParameter, options.headers);
1245-
localVarRequestOptions.body = localVarFormParams.toString();
1243+
localVarRequestOptions.body = localVarFormParams;
12461244

12471245
return {
12481246
url: url.format(localVarUrlObj),
@@ -1260,7 +1258,7 @@ export const FakeApiFetchParamCreator = function (configuration?: Configuration)
12601258
const localVarRequestOptions: RequestOptions = Object.assign({}, { method: 'GET' }, options);
12611259
const localVarHeaderParameter = {};
12621260
const localVarQueryParameter = {};
1263-
const localVarFormParams = new url.URLSearchParams();
1261+
const localVarFormParams = new FormData();
12641262

12651263
if (enumQueryStringArray) {
12661264
localVarQueryParameter['enum_query_string_array'] = enumQueryStringArray.join(COLLECTION_FORMATS["csv"]);
@@ -1294,13 +1292,11 @@ export const FakeApiFetchParamCreator = function (configuration?: Configuration)
12941292
localVarFormParams.set('enum_query_double', ((enumQueryDouble:any):string));
12951293
}
12961294

1297-
localVarHeaderParameter['Content-Type'] = 'application/x-www-form-urlencoded';
1298-
12991295
localVarUrlObj.query = Object.assign({}, localVarUrlObj.query, localVarQueryParameter, options.query);
13001296
// fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
13011297
delete localVarUrlObj.search;
13021298
localVarRequestOptions.headers = Object.assign({}, localVarHeaderParameter, options.headers);
1303-
localVarRequestOptions.body = localVarFormParams.toString();
1299+
localVarRequestOptions.body = localVarFormParams;
13041300

13051301
return {
13061302
url: url.format(localVarUrlObj),
@@ -1356,7 +1352,7 @@ export const FakeApiFetchParamCreator = function (configuration?: Configuration)
13561352
const localVarRequestOptions: RequestOptions = Object.assign({}, { method: 'GET' }, options);
13571353
const localVarHeaderParameter = {};
13581354
const localVarQueryParameter = {};
1359-
const localVarFormParams = new url.URLSearchParams();
1355+
const localVarFormParams = new FormData();
13601356

13611357
if (param !== undefined) {
13621358
localVarFormParams.set('param', ((param:any):string));
@@ -1366,13 +1362,11 @@ export const FakeApiFetchParamCreator = function (configuration?: Configuration)
13661362
localVarFormParams.set('param2', ((param2:any):string));
13671363
}
13681364

1369-
localVarHeaderParameter['Content-Type'] = 'application/x-www-form-urlencoded';
1370-
13711365
localVarUrlObj.query = Object.assign({}, localVarUrlObj.query, localVarQueryParameter, options.query);
13721366
// fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
13731367
delete localVarUrlObj.search;
13741368
localVarRequestOptions.headers = Object.assign({}, localVarHeaderParameter, options.headers);
1375-
localVarRequestOptions.body = localVarFormParams.toString();
1369+
localVarRequestOptions.body = localVarFormParams;
13761370

13771371
return {
13781372
url: url.format(localVarUrlObj),
@@ -1888,7 +1882,7 @@ export const PetApiFetchParamCreator = function (configuration?: Configuration)
18881882
const localVarRequestOptions: RequestOptions = Object.assign({}, { method: 'POST' }, options);
18891883
const localVarHeaderParameter = {};
18901884
const localVarQueryParameter = {};
1891-
const localVarFormParams = new url.URLSearchParams();
1885+
const localVarFormParams = new FormData();
18921886

18931887
// authentication petstore_auth required
18941888
// oauth required
@@ -1907,13 +1901,11 @@ export const PetApiFetchParamCreator = function (configuration?: Configuration)
19071901
localVarFormParams.set('status', ((status:any):string));
19081902
}
19091903

1910-
localVarHeaderParameter['Content-Type'] = 'application/x-www-form-urlencoded';
1911-
19121904
localVarUrlObj.query = Object.assign({}, localVarUrlObj.query, localVarQueryParameter, options.query);
19131905
// fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
19141906
delete localVarUrlObj.search;
19151907
localVarRequestOptions.headers = Object.assign({}, localVarHeaderParameter, options.headers);
1916-
localVarRequestOptions.body = localVarFormParams.toString();
1908+
localVarRequestOptions.body = localVarFormParams;
19171909

19181910
return {
19191911
url: url.format(localVarUrlObj),
@@ -1936,7 +1928,7 @@ export const PetApiFetchParamCreator = function (configuration?: Configuration)
19361928
const localVarRequestOptions: RequestOptions = Object.assign({}, { method: 'POST' }, options);
19371929
const localVarHeaderParameter = {};
19381930
const localVarQueryParameter = {};
1939-
const localVarFormParams = new url.URLSearchParams();
1931+
const localVarFormParams = new FormData();
19401932

19411933
// authentication petstore_auth required
19421934
// oauth required
@@ -1955,13 +1947,11 @@ export const PetApiFetchParamCreator = function (configuration?: Configuration)
19551947
localVarFormParams.set('file', ((file:any):string));
19561948
}
19571949

1958-
localVarHeaderParameter['Content-Type'] = 'application/x-www-form-urlencoded';
1959-
19601950
localVarUrlObj.query = Object.assign({}, localVarUrlObj.query, localVarQueryParameter, options.query);
19611951
// fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
19621952
delete localVarUrlObj.search;
19631953
localVarRequestOptions.headers = Object.assign({}, localVarHeaderParameter, options.headers);
1964-
localVarRequestOptions.body = localVarFormParams.toString();
1954+
localVarRequestOptions.body = localVarFormParams;
19651955

19661956
return {
19671957
url: url.format(localVarUrlObj),

0 commit comments

Comments
 (0)