/** * The HTTP Range adapter. * * Layer 5. Turns a URL into random access without downloading the recording, which is the * whole reason a 13 GiB BDF can be opened in a browser tab. * * Three things here are load-bearing and easy to get wrong: * * 1. A byte range is INCLUSIVE at both ends. `bytes=0-0` is one byte. * 2. A `200 OK` answer to a Range request means the server ignored the header and is sending * the whole resource. That is refused by default — silently buffering gigabytes because a * CDN is misconfigured is exactly the kind of invisible cost this library exists to refuse. * 3. The source length must be known before any read, because random access is meaningless * without it. Three ways are tried, cheapest first, and failing to find one is fatal. */ import type { ByteSource, HttpSourceOptions } from '../types.js'; /** * A `ByteSource` over an HTTP URL, using range requests — which is what makes reading ten * seconds out of a remote twelve-hour recording cost ten seconds of bytes. Async because it * probes the server for range support and a length before returning. */ export declare function httpSource(url: string | { readonly href: string; }, options?: HttpSourceOptions): Promise; //# sourceMappingURL=http.d.ts.map