Skip to content

Commit 45d4c2e

Browse files
committed
Fixed parse of header for contentType
1 parent 6c35b19 commit 45d4c2e

File tree

5 files changed

+26
-33
lines changed

5 files changed

+26
-33
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "openapi-typescript-codegen",
3-
"version": "0.5.2",
3+
"version": "0.5.3",
44
"description": "NodeJS library that generates Typescript or Javascript clients based on the OpenAPI specification.",
55
"author": "Ferdi Koomen",
66
"homepage": "https://github.com/ferdikoomen/openapi-typescript-codegen",

src/templates/core/fetch/getResponseBody.hbs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@ async function getResponseBody(response: Response): Promise<any> {
22
try {
33
const contentType = response.headers.get('Content-Type');
44
if (contentType) {
5-
switch (contentType.toLowerCase()) {
6-
case 'application/json':
7-
case 'application/json; charset=utf-8':
8-
return await response.json();
9-
default:
10-
return await response.text();
5+
const isJSON = contentType.toLowerCase().startsWith('application/json');
6+
if (isJSON) {
7+
return await response.json();
8+
} else {
9+
return await response.text();
1110
}
1211
}
1312
} catch (error) {

src/templates/core/node/getResponseBody.hbs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,11 @@ async function getResponseBody(response: Response): Promise<any> {
22
try {
33
const contentType = response.headers.get('Content-Type');
44
if (contentType) {
5-
switch (contentType.toLowerCase()) {
6-
case 'application/json':
7-
case 'application/json; charset=utf-8':
8-
return await response.json();
9-
10-
default:
11-
return await response.text();
5+
const isJSON = contentType.toLowerCase().startsWith('application/json');
6+
if (isJSON) {
7+
return await response.json();
8+
} else {
9+
return await response.text();
1210
}
1311
}
1412
} catch (error) {

src/templates/core/xhr/getResponseBody.hbs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,11 @@ function getResponseBody(xhr: XMLHttpRequest): any {
22
try {
33
const contentType = xhr.getResponseHeader('Content-Type');
44
if (contentType) {
5-
switch (contentType.toLowerCase()) {
6-
case 'application/json':
7-
case 'application/json; charset=utf-8':
8-
return JSON.parse(xhr.responseText);
9-
10-
default:
11-
return xhr.responseText;
5+
const isJSON = contentType.toLowerCase().startsWith('application/json');
6+
if (isJSON) {
7+
return JSON.parse(xhr.responseText);
8+
} else {
9+
return xhr.responseText;
1210
}
1311
}
1412
} catch (error) {

test/__snapshots__/index.spec.js.snap

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -201,12 +201,11 @@ async function getResponseBody(response: Response): Promise<any> {
201201
try {
202202
const contentType = response.headers.get('Content-Type');
203203
if (contentType) {
204-
switch (contentType.toLowerCase()) {
205-
case 'application/json':
206-
case 'application/json; charset=utf-8':
207-
return await response.json();
208-
default:
209-
return await response.text();
204+
const isJSON = contentType.toLowerCase().startsWith('application/json');
205+
if (isJSON) {
206+
return await response.json();
207+
} else {
208+
return await response.text();
210209
}
211210
}
212211
} catch (error) {
@@ -2300,12 +2299,11 @@ async function getResponseBody(response: Response): Promise<any> {
23002299
try {
23012300
const contentType = response.headers.get('Content-Type');
23022301
if (contentType) {
2303-
switch (contentType.toLowerCase()) {
2304-
case 'application/json':
2305-
case 'application/json; charset=utf-8':
2306-
return await response.json();
2307-
default:
2308-
return await response.text();
2302+
const isJSON = contentType.toLowerCase().startsWith('application/json');
2303+
if (isJSON) {
2304+
return await response.json();
2305+
} else {
2306+
return await response.text();
23092307
}
23102308
}
23112309
} catch (error) {

0 commit comments

Comments
 (0)