Files
kupshop/tests/cypress/util.ts
2025-08-02 16:30:27 +02:00

25 lines
609 B
TypeScript

export function syncFetch(
url: string,
init?: RequestInit & { body?: XMLHttpRequestBodyInit | Document },
) {
// Running under node.js
if (typeof window === 'undefined') {
return require('sync-fetch')(url, init);
}
const request = new XMLHttpRequest();
if (init?.headers) {
for (const [key, value] of Object.entries(init.headers)) {
request.setRequestHeader(key, value);
}
}
request.open(init?.method ?? 'GET', url, false);
request.send(init?.body ?? null);
return {
...request,
json: () => JSON.parse(request.responseText),
};
}