Skip to content

Commit 9e6528b

Browse files
Filter undefined headers before creating the headers
1 parent 411aeac commit 9e6528b

File tree

6 files changed

+59
-12
lines changed

6 files changed

+59
-12
lines changed

src/openApi/v2/parser/getOperationParameterName.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import camelCase from 'camelcase';
22

3-
const reservedWords = /^(arguments|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|eval|export|extends|false|finally|for|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)$/g;
3+
const reservedWords =
4+
/^(arguments|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|eval|export|extends|false|finally|for|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)$/g;
45

56
/**
67
* Replaces any invalid characters from a parameter name.

src/openApi/v3/parser/getOperationParameterName.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import camelCase from 'camelcase';
22

3-
const reservedWords = /^(arguments|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|eval|export|extends|false|finally|for|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)$/g;
3+
const reservedWords =
4+
/^(arguments|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|eval|export|extends|false|finally|for|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)$/g;
45

56
/**
67
* Replaces any invalid characters from a parameter name.

src/templates/core/fetch/getHeaders.hbs

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

7-
const headers = new Headers({
7+
const filteredHeaders = Object.entries({
88
Accept: 'application/json',
99
...defaultHeaders,
1010
...options.headers,
11-
});
11+
}).reduce((acc, [headerKey, headerValue]) => {
12+
if (typeof headerValue !== 'undefined') {
13+
return {
14+
...acc,
15+
[headerKey]: headerValue,
16+
};
17+
}
18+
return acc;
19+
}, {});
20+
const headers = new Headers(filteredHeaders);
1221

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

src/templates/core/node/getHeaders.hbs

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

7-
const headers = new Headers({
7+
const filteredHeaders = Object.entries({
88
Accept: 'application/json',
99
...defaultHeaders,
1010
...options.headers,
11-
});
11+
}).reduce((acc, [headerKey, headerValue]) => {
12+
if (typeof headerValue !== 'undefined') {
13+
return {
14+
...acc,
15+
[headerKey]: headerValue,
16+
};
17+
}
18+
return acc;
19+
}, {});
20+
const headers = new Headers(filteredHeaders);
1221

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

src/templates/core/xhr/getHeaders.hbs

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

7-
const headers = new Headers({
7+
const filteredHeaders = Object.entries({
88
Accept: 'application/json',
99
...defaultHeaders,
1010
...options.headers,
11-
});
11+
}).reduce((acc, [headerKey, headerValue]) => {
12+
if (typeof headerValue !== 'undefined') {
13+
return {
14+
...acc,
15+
[headerKey]: headerValue,
16+
};
17+
}
18+
return acc;
19+
}, {});
20+
const headers = new Headers(filteredHeaders);
1221

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

test/__snapshots__/index.spec.js.snap

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -165,11 +165,20 @@ async function getHeaders(options: ApiRequestOptions): Promise<Headers> {
165165
const password = await resolve(options, OpenAPI.PASSWORD);
166166
const defaultHeaders = await resolve(options, OpenAPI.HEADERS);
167167

168-
const headers = new Headers({
168+
const filteredHeaders = Object.entries({
169169
Accept: 'application/json',
170170
...defaultHeaders,
171171
...options.headers,
172-
});
172+
}).reduce((acc, [headerKey, headerValue]) => {
173+
if (typeof headerValue !== 'undefined') {
174+
return {
175+
...acc,
176+
[headerKey]: headerValue,
177+
};
178+
}
179+
return acc;
180+
}, {});
181+
const headers = new Headers(filteredHeaders);
173182

174183
if (isStringWithValue(token)) {
175184
headers.append('Authorization', \`Bearer \${token}\`);
@@ -2518,11 +2527,20 @@ async function getHeaders(options: ApiRequestOptions): Promise<Headers> {
25182527
const password = await resolve(options, OpenAPI.PASSWORD);
25192528
const defaultHeaders = await resolve(options, OpenAPI.HEADERS);
25202529

2521-
const headers = new Headers({
2530+
const filteredHeaders = Object.entries({
25222531
Accept: 'application/json',
25232532
...defaultHeaders,
25242533
...options.headers,
2525-
});
2534+
}).reduce((acc, [headerKey, headerValue]) => {
2535+
if (typeof headerValue !== 'undefined') {
2536+
return {
2537+
...acc,
2538+
[headerKey]: headerValue,
2539+
};
2540+
}
2541+
return acc;
2542+
}, {});
2543+
const headers = new Headers(filteredHeaders);
25262544

25272545
if (isStringWithValue(token)) {
25282546
headers.append('Authorization', \`Bearer \${token}\`);

0 commit comments

Comments
 (0)