Options for the fetch function returned by createVerifiedFetch.

This interface contains all the same fields as the options object passed to fetch in browsers, plus an onProgress option to listen for progress events.

interface VerifiedFetchInit {
    allowInsecure?: boolean;
    allowLocal?: boolean;
    body?: null | BodyInit;
    cache?: RequestCache;
    credentials?: RequestCredentials;
    headers?: HeadersInit;
    integrity?: string;
    keepalive?: boolean;
    method?: string;
    mode?: RequestMode;
    onProgress?: ((evt) => void);
    priority?: RequestPriority;
    redirect?: RequestRedirect;
    referrer?: string;
    referrerPolicy?: ReferrerPolicy;
    session?: boolean;
    signal?: null | AbortSignal;
    window?: null;
}

Hierarchy

Properties

allowInsecure?: boolean

By default we will not connect to any gateways over HTTP addresses, requring HTTPS connections instead. This is because it will cause "mixed-content" errors to appear in the console when running in secure browser contexts.

Pass true here to connect to insecure Gateways as well, this may be useful in testing environments.

Default

false
allowLocal?: boolean

By default we will not connect to any HTTP Gateways providers over local or loopback addresses, this is because they are typically running on remote peers that have published private addresses by mistate.

Pass true here to connect to local Gateways as well, this may be useful in testing environments.

Default

false
body?: null | BodyInit

A BodyInit object or null to set request's body.

cache?: RequestCache

A string indicating how the request will interact with the browser's cache to set request's cache.

credentials?: RequestCredentials

A string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. Sets request's credentials.

headers?: HeadersInit

A Headers object, an object literal, or an array of two-item arrays to set request's headers.

integrity?: string

A cryptographic hash of the resource to be fetched by request. Sets request's integrity.

keepalive?: boolean

A boolean to set request's keepalive.

method?: string

A string to set request's method.

mode?: RequestMode

A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode.

onProgress?: ((evt) => void)

Type declaration

priority?: RequestPriority
redirect?: RequestRedirect

A string indicating whether request follows redirects, results in an error upon encountering a redirect, or returns the redirect (in an opaque fashion). Sets request's redirect.

referrer?: string

A string whose value is a same-origin URL, "about:client", or the empty string, to set request's referrer.

referrerPolicy?: ReferrerPolicy

A referrer policy to set request's referrerPolicy.

session?: boolean

If true, try to create a blockstore session - this can reduce overall network traffic by first querying for a set of peers that have the data we wish to retrieve. Subsequent requests for data using the session will only be sent to those peers, unless they don't have the data, in which case further peers will be added to the session.

Sessions are cached based on the CID/IPNS name they attempt to access. That is, requests for https://qmfoo.ipfs.localhost/bar.txt and https://qmfoo.ipfs.localhost/baz.txt would use the same session, if this argument is true for both fetch requests.

Default

true
signal?: null | AbortSignal

An AbortSignal to set request's signal.

window?: null

Can only be null. Used to disassociate request from any Window.