Files
scriptc/tests/fixtures/fetch/static-request/main.mts

27 lines
1.7 KiB
TypeScript

const headers = new Headers({ "x-test": "one" });
headers.append("x-test", "two");
const copied = new Headers(headers);
console.log(copied.get("x-test"), copied === headers);
const controller = new AbortController();
const request = new Request("http://localhost/path", {
method: "POST", headers: copied, body: "hello", redirect: "manual", signal: controller.signal,
});
console.log(request.url, request.method, request.headers.get("x-test"), request.redirect);
console.log(request.destination, request.referrer, request.referrerPolicy, request.mode, request.credentials, request.cache, request.integrity);
console.log(request.keepalive, request.isReloadNavigation, request.isHistoryNavigation, request.duplex);
console.log(request.body !== null, request.bodyUsed, request.signal === controller.signal, request.signal.aborted);
controller.abort("stopped");
console.log(request.signal.aborted, request.signal.reason);
console.log(await request.text(), request.bodyUsed);
try { await request.text(); } catch (error) { console.log((error as Error).name); }
const json = new Request("http://localhost/json", { method: "POST", body: '{"value":42}' });
console.log(JSON.stringify(await json.json()));
const bytes = new Request("http://localhost/bytes", { method: "POST", body: new Uint8Array([65, 66]) });
console.log(JSON.stringify(Array.from(await bytes.bytes())));
const buffer = new Request("http://localhost/buffer", { method: "POST", body: "AB" });
console.log(JSON.stringify(Array.from(new Uint8Array(await buffer.arrayBuffer()))));
for (const method of ["GET", "HEAD"]) {
try { new Request("http://localhost/invalid", { method, body: "no" }); }
catch (error) { console.log((error as Error).name); }
}