From 4e474262242ddbe167eabb628923af363bbcb9f1 Mon Sep 17 00:00:00 2001 From: tkrtmy Date: Wed, 9 Oct 2019 16:43:54 +0900 Subject: [PATCH] typescript-fetch: fix empty URLSearchParams request body (#4103) * typescript-fetch: correct handling body as URLSearchParams * typescript-fetch: run typescript-fetch-petstore-all.sh * typescript-fetch: add URLSearchParams to globals --- .../src/main/resources/typescript-fetch/runtime.mustache | 2 +- .../petstore/typescript-fetch/builds/default/src/runtime.ts | 2 +- .../petstore/typescript-fetch/builds/es6-target/src/runtime.ts | 2 +- .../typescript-fetch/builds/multiple-parameters/src/runtime.ts | 2 +- .../builds/prefix-parameter-interfaces/src/runtime.ts | 2 +- .../builds/typescript-three-plus/src/runtime.ts | 2 +- .../typescript-fetch/builds/with-interfaces/src/runtime.ts | 2 +- .../typescript-fetch/builds/with-npm-version/src/runtime.ts | 2 +- samples/client/petstore/typescript-fetch/tests/default/mocks.ts | 2 ++ 9 files changed, 10 insertions(+), 8 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache index bd53174f179c..8fb973acae64 100644 --- a/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-fetch/runtime.mustache @@ -49,7 +49,7 @@ export class BaseAPI { // do not handle correctly sometimes. url += '?' + this.configuration.queryParamsStringify(context.query); } - const body = (context.body instanceof FormData || isBlob(context.body)) + const body = (context.body instanceof FormData || context.body instanceof URLSearchParams || isBlob(context.body)) ? context.body : JSON.stringify(context.body); diff --git a/samples/client/petstore/typescript-fetch/builds/default/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/default/src/runtime.ts index 473d2e72316c..8aa68ea78f3a 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/src/runtime.ts @@ -60,7 +60,7 @@ export class BaseAPI { // do not handle correctly sometimes. url += '?' + this.configuration.queryParamsStringify(context.query); } - const body = (context.body instanceof FormData || isBlob(context.body)) + const body = (context.body instanceof FormData || context.body instanceof URLSearchParams || isBlob(context.body)) ? context.body : JSON.stringify(context.body); diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts index 473d2e72316c..8aa68ea78f3a 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/runtime.ts @@ -60,7 +60,7 @@ export class BaseAPI { // do not handle correctly sometimes. url += '?' + this.configuration.queryParamsStringify(context.query); } - const body = (context.body instanceof FormData || isBlob(context.body)) + const body = (context.body instanceof FormData || context.body instanceof URLSearchParams || isBlob(context.body)) ? context.body : JSON.stringify(context.body); diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/runtime.ts index 473d2e72316c..8aa68ea78f3a 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/runtime.ts @@ -60,7 +60,7 @@ export class BaseAPI { // do not handle correctly sometimes. url += '?' + this.configuration.queryParamsStringify(context.query); } - const body = (context.body instanceof FormData || isBlob(context.body)) + const body = (context.body instanceof FormData || context.body instanceof URLSearchParams || isBlob(context.body)) ? context.body : JSON.stringify(context.body); diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts index 473d2e72316c..8aa68ea78f3a 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/runtime.ts @@ -60,7 +60,7 @@ export class BaseAPI { // do not handle correctly sometimes. url += '?' + this.configuration.queryParamsStringify(context.query); } - const body = (context.body instanceof FormData || isBlob(context.body)) + const body = (context.body instanceof FormData || context.body instanceof URLSearchParams || isBlob(context.body)) ? context.body : JSON.stringify(context.body); diff --git a/samples/client/petstore/typescript-fetch/builds/typescript-three-plus/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/typescript-three-plus/src/runtime.ts index aa2ef6158928..8fdddb5a69e4 100644 --- a/samples/client/petstore/typescript-fetch/builds/typescript-three-plus/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/typescript-three-plus/src/runtime.ts @@ -60,7 +60,7 @@ export class BaseAPI { // do not handle correctly sometimes. url += '?' + this.configuration.queryParamsStringify(context.query); } - const body = (context.body instanceof FormData || isBlob(context.body)) + const body = (context.body instanceof FormData || context.body instanceof URLSearchParams || isBlob(context.body)) ? context.body : JSON.stringify(context.body); diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/runtime.ts index 473d2e72316c..8aa68ea78f3a 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/runtime.ts @@ -60,7 +60,7 @@ export class BaseAPI { // do not handle correctly sometimes. url += '?' + this.configuration.queryParamsStringify(context.query); } - const body = (context.body instanceof FormData || isBlob(context.body)) + const body = (context.body instanceof FormData || context.body instanceof URLSearchParams || isBlob(context.body)) ? context.body : JSON.stringify(context.body); diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts index 473d2e72316c..8aa68ea78f3a 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/runtime.ts @@ -60,7 +60,7 @@ export class BaseAPI { // do not handle correctly sometimes. url += '?' + this.configuration.queryParamsStringify(context.query); } - const body = (context.body instanceof FormData || isBlob(context.body)) + const body = (context.body instanceof FormData || context.body instanceof URLSearchParams || isBlob(context.body)) ? context.body : JSON.stringify(context.body); diff --git a/samples/client/petstore/typescript-fetch/tests/default/mocks.ts b/samples/client/petstore/typescript-fetch/tests/default/mocks.ts index c140489d8f72..9a3a3494ff81 100644 --- a/samples/client/petstore/typescript-fetch/tests/default/mocks.ts +++ b/samples/client/petstore/typescript-fetch/tests/default/mocks.ts @@ -1,5 +1,7 @@ import * as FormData from 'form-data'; +import { URLSearchParams } from 'url'; const globals = global as any; globals.FormData = FormData; +globals.URLSearchParams = URLSearchParams;