Skip to content

Commit c697b02

Browse files
committed
Fix escaping header values and remove dead code.
1 parent c32578f commit c697b02

1 file changed

Lines changed: 1 addition & 36 deletions

File tree

src/components/api-request.js

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -694,8 +694,6 @@ export default class ApiRequest extends LitElement {
694694
const requestPanelEl = this.closest('.request-panel');
695695
const pathParamEls = [...requestPanelEl.querySelectorAll("[data-ptype='path']")];
696696
const queryParamEls = [...requestPanelEl.querySelectorAll("[data-ptype='query']")];
697-
698-
const queryParamObjTypeEls = [...requestPanelEl.querySelectorAll("[data-ptype='query-object']")];
699697
const headerParamEls = [...requestPanelEl.querySelectorAll("[data-ptype='header']")];
700698
const requestBodyContainerEl = requestPanelEl.querySelector('.request-body-container');
701699

@@ -758,39 +756,6 @@ export default class ApiRequest extends LitElement {
758756
}
759757
});
760758

761-
// Query Params (Dynamic - create from JSON)
762-
queryParamObjTypeEls.map((el) => {
763-
try {
764-
let queryParamObj = {};
765-
const paramSerializeStyle = el.dataset.paramSerializeStyle;
766-
const paramSerializeExplode = el.dataset.paramSerializeExplode;
767-
queryParamObj = Object.assign(queryParamObj, JSON.parse(el.value.replace(/\s+/g, ' ')));
768-
for (const key in queryParamObj) {
769-
if (typeof queryParamObj[key] === 'object') {
770-
if (Array.isArray(queryParamObj[key])) {
771-
if (paramSerializeStyle === 'spaceDelimited') {
772-
fetchUrl.searchParams.append(key, queryParamObj[key].join(' '));
773-
} else if (paramSerializeStyle === 'pipeDelimited') {
774-
fetchUrl.searchParams.append(key, queryParamObj[key].join('|'));
775-
} else {
776-
if (paramSerializeExplode === 'true' || paramSerializeExplode === true) { // eslint-disable-line no-lonely-if
777-
queryParamObj[key].forEach((v) => {
778-
fetchUrl.searchParams.append(key, v);
779-
});
780-
} else {
781-
fetchUrl.searchParams.append(key, queryParamObj[key]);
782-
}
783-
}
784-
}
785-
} else {
786-
fetchUrl.searchParams.append(key, queryParamObj[key]);
787-
}
788-
}
789-
} catch (err) {
790-
console.log('OpenAPI Explorer: unable to parse %s into object', el.value); // eslint-disable-line no-console
791-
}
792-
});
793-
794759
// Add Authentication api keys if provided
795760
this.api_keys.filter((v) => v.finalKeyValue).forEach((v) => {
796761
if (v.in === 'query') {
@@ -938,7 +903,7 @@ export default class ApiRequest extends LitElement {
938903
const { fetchOptions, fetchUrl, curlParts } = this.recomputeFetchOptions();
939904
const curl = `curl -X ${this.method.toUpperCase()} "${fetchUrl.toString()}"`;
940905
const headers = headerOverride ?? fetchOptions.headers;
941-
const curlHeaders = [...headers.entries()].reduce((acc, [key, value]) => `${acc} \\\n -H "${key}: ${value}"`, '');
906+
const curlHeaders = [...headers.entries()].reduce((acc, [key, value]) => `${acc} \\\n -H "${key}: ${value.replace(/"/g, '\\"')}"`, '');
942907
this.curlSyntax = `${curl}${curlHeaders}${curlParts.data}${curlParts.form}`;
943908
} catch (error) {
944909
/* There was an explicit issue and likely it was because the fetch options threw. */

0 commit comments

Comments
 (0)