diff --git a/src/openApi/v2/parser/getOperationParameterName.ts b/src/openApi/v2/parser/getOperationParameterName.ts index e21e83c8..0954d736 100644 --- a/src/openApi/v2/parser/getOperationParameterName.ts +++ b/src/openApi/v2/parser/getOperationParameterName.ts @@ -1,6 +1,7 @@ import camelCase from 'camelcase'; -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; +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; /** * Replaces any invalid characters from a parameter name. diff --git a/src/openApi/v3/parser/getOperationParameterName.ts b/src/openApi/v3/parser/getOperationParameterName.ts index e21e83c8..0954d736 100644 --- a/src/openApi/v3/parser/getOperationParameterName.ts +++ b/src/openApi/v3/parser/getOperationParameterName.ts @@ -1,6 +1,7 @@ import camelCase from 'camelcase'; -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; +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; /** * Replaces any invalid characters from a parameter name. diff --git a/src/templates/core/fetch/getHeaders.hbs b/src/templates/core/fetch/getHeaders.hbs index 3d1a62c7..36fe6e71 100644 --- a/src/templates/core/fetch/getHeaders.hbs +++ b/src/templates/core/fetch/getHeaders.hbs @@ -4,11 +4,20 @@ async function getHeaders(options: ApiRequestOptions): Promise { const password = await resolve(options, OpenAPI.PASSWORD); const defaultHeaders = await resolve(options, OpenAPI.HEADERS); - const headers = new Headers({ + const filteredHeaders = Object.entries({ Accept: 'application/json', ...defaultHeaders, ...options.headers, - }); + }).reduce((acc, [headerKey, headerValue]) => { + if (typeof headerValue !== 'undefined') { + return { + ...acc, + [headerKey]: headerValue, + }; + } + return acc; + }, {}); + const headers = new Headers(filteredHeaders); if (isStringWithValue(token)) { headers.append('Authorization', `Bearer ${token}`); diff --git a/src/templates/core/node/getHeaders.hbs b/src/templates/core/node/getHeaders.hbs index fc6d5516..a0763fe3 100644 --- a/src/templates/core/node/getHeaders.hbs +++ b/src/templates/core/node/getHeaders.hbs @@ -4,11 +4,20 @@ async function getHeaders(options: ApiRequestOptions): Promise { const password = await resolve(options, OpenAPI.PASSWORD); const defaultHeaders = await resolve(options, OpenAPI.HEADERS); - const headers = new Headers({ + const filteredHeaders = Object.entries({ Accept: 'application/json', ...defaultHeaders, ...options.headers, - }); + }).reduce((acc, [headerKey, headerValue]) => { + if (typeof headerValue !== 'undefined') { + return { + ...acc, + [headerKey]: headerValue, + }; + } + return acc; + }, {}); + const headers = new Headers(filteredHeaders); if (isStringWithValue(token)) { headers.append('Authorization', `Bearer ${token}`); diff --git a/src/templates/core/xhr/getHeaders.hbs b/src/templates/core/xhr/getHeaders.hbs index 3d1a62c7..36fe6e71 100644 --- a/src/templates/core/xhr/getHeaders.hbs +++ b/src/templates/core/xhr/getHeaders.hbs @@ -4,11 +4,20 @@ async function getHeaders(options: ApiRequestOptions): Promise { const password = await resolve(options, OpenAPI.PASSWORD); const defaultHeaders = await resolve(options, OpenAPI.HEADERS); - const headers = new Headers({ + const filteredHeaders = Object.entries({ Accept: 'application/json', ...defaultHeaders, ...options.headers, - }); + }).reduce((acc, [headerKey, headerValue]) => { + if (typeof headerValue !== 'undefined') { + return { + ...acc, + [headerKey]: headerValue, + }; + } + return acc; + }, {}); + const headers = new Headers(filteredHeaders); if (isStringWithValue(token)) { headers.append('Authorization', `Bearer ${token}`); diff --git a/test/__snapshots__/index.spec.js.snap b/test/__snapshots__/index.spec.js.snap index 0047c137..42fa0b89 100644 --- a/test/__snapshots__/index.spec.js.snap +++ b/test/__snapshots__/index.spec.js.snap @@ -165,11 +165,20 @@ async function getHeaders(options: ApiRequestOptions): Promise { const password = await resolve(options, OpenAPI.PASSWORD); const defaultHeaders = await resolve(options, OpenAPI.HEADERS); - const headers = new Headers({ + const filteredHeaders = Object.entries({ Accept: 'application/json', ...defaultHeaders, ...options.headers, - }); + }).reduce((acc, [headerKey, headerValue]) => { + if (typeof headerValue !== 'undefined') { + return { + ...acc, + [headerKey]: headerValue, + }; + } + return acc; + }, {}); + const headers = new Headers(filteredHeaders); if (isStringWithValue(token)) { headers.append('Authorization', \`Bearer \${token}\`); @@ -2518,11 +2527,20 @@ async function getHeaders(options: ApiRequestOptions): Promise { const password = await resolve(options, OpenAPI.PASSWORD); const defaultHeaders = await resolve(options, OpenAPI.HEADERS); - const headers = new Headers({ + const filteredHeaders = Object.entries({ Accept: 'application/json', ...defaultHeaders, ...options.headers, - }); + }).reduce((acc, [headerKey, headerValue]) => { + if (typeof headerValue !== 'undefined') { + return { + ...acc, + [headerKey]: headerValue, + }; + } + return acc; + }, {}); + const headers = new Headers(filteredHeaders); if (isStringWithValue(token)) { headers.append('Authorization', \`Bearer \${token}\`);