Skip to content

Commit bbaf970

Browse files
authored
Merge pull request ferdikoomen#761 from Ronaldvdh-ISAAC/filter-undefined-headers
Filter undefined headers before creating the headers
2 parents 45e1b61 + 9e6528b commit bbaf970

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}\`);
@@ -2520,11 +2529,20 @@ async function getHeaders(options: ApiRequestOptions): Promise<Headers> {
25202529
const password = await resolve(options, OpenAPI.PASSWORD);
25212530
const defaultHeaders = await resolve(options, OpenAPI.HEADERS);
25222531

2523-
const headers = new Headers({
2532+
const filteredHeaders = Object.entries({
25242533
Accept: 'application/json',
25252534
...defaultHeaders,
25262535
...options.headers,
2527-
});
2536+
}).reduce((acc, [headerKey, headerValue]) => {
2537+
if (typeof headerValue !== 'undefined') {
2538+
return {
2539+
...acc,
2540+
[headerKey]: headerValue,
2541+
};
2542+
}
2543+
return acc;
2544+
}, {});
2545+
const headers = new Headers(filteredHeaders);
25282546

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

0 commit comments

Comments
 (0)