@helia/verified-fetch
    Preparing search index...

    Interface PluginContext

    Represents the ephemeral, modifiable state used by the pipeline.

    • Mutable: Evolves as you walk the plugin chain.
    • Shared Data: Allows plugins to communicate partial results, discovered data, or interim errors.
    • Ephemeral: Typically discarded once fetch(...) completes.
    interface PluginContext {
        accept: AcceptHeader[];
        allowInsecure?: boolean;
        allowLocal?: boolean;
        blockstore: Blockstore;
        body?: BodyInit | null;
        cache?: RequestCache;
        credentials?: RequestCredentials;
        headers: Headers;
        integrity?: string;
        ipfsRoots: CID<unknown, number, number, Version>[];
        keepalive?: boolean;
        method?: string;
        mode?: RequestMode;
        offline?: boolean;
        priority?: RequestPriority;
        providers?: (PeerId | Multiaddr | Multiaddr[])[];
        range?: RangeHeader;
        redirect?: RequestRedirect;
        redirected: boolean;
        referrer?: string;
        referrerPolicy?: ReferrerPolicy;
        requestedMimeTypes: RequestedMimeType[];
        resource: Resource;
        serverTiming: ServerTiming;
        session?: boolean;
        signal?: AbortSignal;
        supportDirectoryIndexes?: boolean;
        supportWebRedirects?: boolean;
        terminalElement: PathEntry;
        translateHAMTPath?: boolean;
        ttl: number;
        url: URL;
        window?: null;
        withServerTiming?: boolean;
        onProgress?(evt: ProgressEvent): void;
    }

    Hierarchy (View Summary)

    Index

    Properties

    accept: AcceptHeader[]

    These are the response representations that the user requested and we support given the CID that is being requested

    allowInsecure?: boolean

    By default we will not connect to any gateways over HTTP addresses, requiring 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.

    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 mistake.

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

    false
    
    blockstore: Blockstore

    The blockstore is used to load data from the IPFS network

    body?: BodyInit | null

    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: Headers

    Any passed headers from the fetch init arg

    integrity?: string

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

    ipfsRoots: CID<unknown, number, number, Version>[]
    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.

    offline?: boolean

    If true, only operate on the local blockstore, do not perform any network operations.

    false
    
    priority?: RequestPriority
    providers?: (PeerId | Multiaddr | Multiaddr[])[]

    An optional list of peers known to host at least the root block of the DAG that will be fetched.

    If this list is omitted, or if the peers cannot supply the root or any child blocks, a findProviders routing query will be run to find peers that can supply the blocks.

    range?: RangeHeader

    If present the user requested a subset of bytes using the Range header

    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.

    redirected: boolean

    If true a redirect was processed while resolving the URL to a CID and path

    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.

    requestedMimeTypes: RequestedMimeType[]

    The mime types and options the user requested - these may be different from the allowed response representations in PluginContext.accept

    resource: Resource

    The resource that was requested by the user

    serverTiming: ServerTiming

    Any async operations should be invoked using server timings to allow introspection by the user

    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.

    true
    
    signal?: AbortSignal
    supportDirectoryIndexes?: boolean

    By default when a CID is fetched that resolves to a UnixFS directory, and that directory contains an index.html file, respond with the index file instead of the directory listing.

    true
    
    supportWebRedirects?: boolean

    If a _redirects file exists at the root of a DAG, use it to allow path overrides within that DAG.

    terminalElement: PathEntry
    translateHAMTPath?: boolean

    If a HAMT-sharded directory is encountered, paths will be translated automatically, e.g. a request for QmHamt/bar.txt will be translated to QmHamt/F0/A1bar.txt internally, pass false here to not perform this translation which will then treat HAMT shard structures as regular directories.

    true
    
    ttl: number
    url: URL
    window?: null

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

    withServerTiming?: boolean

    Whether to include server-timing headers in the response for an individual request.

    Methods