diff --git a/packages/web/src.ts/browser-geturl.ts b/packages/web/src.ts/browser-geturl.ts index 03c7515090..7770da79af 100644 --- a/packages/web/src.ts/browser-geturl.ts +++ b/packages/web/src.ts/browser-geturl.ts @@ -9,16 +9,18 @@ export { GetUrlResponse, Options }; export async function getUrl(href: string, options?: Options): Promise { if (options == null) { options = { }; } - const request = { + const request: RequestInit = { method: (options.method || "GET"), headers: (options.headers || { }), body: (options.body || undefined), + }; - mode: "cors", // no-cors, cors, *same-origin - cache: "no-cache", // *default, no-cache, reload, force-cache, only-if-cached - credentials: "same-origin", // include, *same-origin, omit - redirect: "follow", // manual, *follow, error - referrer: "client", // no-referrer, *client + if (options.skipFetchSetup !== true) { + request.mode = "cors"; // no-cors, cors, *same-origin + request.cache = "no-cache"; // *default, no-cache, reload, force-cache, only-if-cached + request.credentials = "same-origin"; // include, *same-origin, omit + request.redirect = "follow"; // manual, *follow, error + request.referrer = "client"; // no-referrer, *client }; const response = await fetch(href, request); diff --git a/packages/web/src.ts/types.ts b/packages/web/src.ts/types.ts index 1596e2f0df..3c80dc8ee8 100644 --- a/packages/web/src.ts/types.ts +++ b/packages/web/src.ts/types.ts @@ -1,16 +1,17 @@ "use strict"; export type GetUrlResponse = { - statusCode: number, + statusCode: number; statusMessage: string; headers: { [ key: string] : string }; body: Uint8Array; }; export type Options = { - method?: string, + method?: string; allowGzip?: boolean; - body?: Uint8Array - headers?: { [ key: string] : string }, + body?: Uint8Array; + headers?: { [ key: string] : string }; + skipFetchSetup?: boolean; };