Skip to content

Commit 691794b

Browse files
committed
- Added 204 handling to xhr
1 parent f82ccc9 commit 691794b

File tree

4 files changed

+45
-22
lines changed

4 files changed

+45
-22
lines changed

src/templates/core/fetch/getHeaders.hbs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,20 @@ async function getHeaders(options: ApiRequestOptions): Promise<Headers> {
22
const token = await resolve(options, OpenAPI.TOKEN);
33
const username = await resolve(options, OpenAPI.USERNAME);
44
const password = await resolve(options, OpenAPI.PASSWORD);
5-
const defaultHeaders = await resolve(options, OpenAPI.HEADERS);
5+
const additionalHeaders = await resolve(options, OpenAPI.HEADERS);
66

7-
const headers = new Headers({
7+
const defaultHeaders = Object.entries({
88
Accept: 'application/json',
9-
...defaultHeaders,
9+
...additionalHeaders,
1010
...options.headers,
11-
});
11+
})
12+
.filter(([key, value]) => isDefined(value))
13+
.reduce((headers, [key, value]) => ({
14+
...headers,
15+
[key]: value,
16+
}), {});
17+
18+
const headers = new Headers(defaultHeaders);
1219

1320
if (isStringWithValue(token)) {
1421
headers.append('Authorization', `Bearer ${token}`);

src/templates/core/node/getHeaders.hbs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,20 @@ async function getHeaders(options: ApiRequestOptions): Promise<Headers> {
22
const token = await resolve(options, OpenAPI.TOKEN);
33
const username = await resolve(options, OpenAPI.USERNAME);
44
const password = await resolve(options, OpenAPI.PASSWORD);
5-
const defaultHeaders = await resolve(options, OpenAPI.HEADERS);
5+
const additionalHeaders = await resolve(options, OpenAPI.HEADERS);
66

7-
const headers = new Headers({
7+
const defaultHeaders = Object.entries({
88
Accept: 'application/json',
9-
...defaultHeaders,
9+
...additionalHeaders,
1010
...options.headers,
11-
});
11+
})
12+
.filter(([key, value]) => isDefined(value))
13+
.reduce((headers, [key, value]) => ({
14+
...headers,
15+
[key]: value,
16+
}), {});
17+
18+
const headers = new Headers(defaultHeaders);
1219

1320
if (isStringWithValue(token)) {
1421
headers.append('Authorization', `Bearer ${token}`);

src/templates/core/xhr/getHeaders.hbs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,20 @@ async function getHeaders(options: ApiRequestOptions): Promise<Headers> {
22
const token = await resolve(options, OpenAPI.TOKEN);
33
const username = await resolve(options, OpenAPI.USERNAME);
44
const password = await resolve(options, OpenAPI.PASSWORD);
5-
const defaultHeaders = await resolve(options, OpenAPI.HEADERS);
5+
const additionalHeaders = await resolve(options, OpenAPI.HEADERS);
66

7-
const headers = new Headers({
7+
const defaultHeaders = Object.entries({
88
Accept: 'application/json',
9-
...defaultHeaders,
9+
...additionalHeaders,
1010
...options.headers,
11-
});
11+
})
12+
.filter(([key, value]) => isDefined(value))
13+
.reduce((headers, [key, value]) => ({
14+
...headers,
15+
[key]: value,
16+
}), {});
17+
18+
const headers = new Headers(defaultHeaders);
1219

1320
if (isStringWithValue(token)) {
1421
headers.append('Authorization', `Bearer ${token}`);
Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
function getResponseBody(xhr: XMLHttpRequest): any {
2-
try {
3-
const contentType = xhr.getResponseHeader('Content-Type');
4-
if (contentType) {
5-
const isJSON = contentType.toLowerCase().startsWith('application/json');
6-
if (isJSON) {
7-
return JSON.parse(xhr.responseText);
8-
} else {
9-
return xhr.responseText;
2+
if (xhr.status !== 204) {
3+
try {
4+
const contentType = xhr.getResponseHeader('Content-Type');
5+
if (contentType) {
6+
const isJSON = contentType.toLowerCase().startsWith('application/json');
7+
if (isJSON) {
8+
return JSON.parse(xhr.responseText);
9+
} else {
10+
return xhr.responseText;
11+
}
1012
}
13+
} catch (error) {
14+
console.error(error);
1115
}
12-
} catch (error) {
13-
console.error(error);
1416
}
1517
return null;
1618
}

0 commit comments

Comments
 (0)