@scalar/api-client
Version:
the open source API testing client
32 lines (31 loc) • 808 B
JavaScript
const l = ({ harRequest: e }) => {
const n = s(e), o = d(e.postData);
return new Request(e.url, {
method: e.method,
headers: n,
body: o
});
}, s = (e) => {
const n = new Headers();
if (e.headers.forEach(({ name: o, value: t }) => {
n.append(o, t);
}), e.cookies?.length) {
const o = e.cookies.map(({ name: t, value: r }) => `${t}=${r}`).join("; ");
n.append("Cookie", o);
}
return n;
}, d = (e) => {
if (!e)
return null;
const { params: n, text: o, mimeType: t } = e;
if (n?.length) {
const c = t?.includes("multipart/form-data") ? new FormData() : new URLSearchParams();
return n.forEach(({ name: a, value: i }) => {
c.append(a, i || "");
}), c;
}
return o ? new TextEncoder().encode(o) : null;
};
export {
l as harToFetchRequest
};