Load a chunks of a file from a HTTP(s) Source using fetch
import { SourceHttp } from '@chunkd/source-http';
const source = new SourceHttp(new URL('https://example.com/cog.tif'));
const firstBuffer = await source.fetchBytes(0, 1024); // Load the first 1KB from the source
const lastBuffer = await source.fetchBytes(-1024); // load the last 1KB from the source
const size = source.metadata?.size; // File size if metadata has been fetched
for relative urls, use document.baseURI
const source = new SourceHttp(new URL('../cog.tif', document.baseURI));
For caching, block alignment and fetch grouping see @chunkd/middleware and @chunkd/fs
Node.js <18 does not come with a default fetch
function, a fetch
method must be provided before being able to be used.
import { SourceHttp } from '@chunkd/source-http';
import { fetch } from 'node-fetch';
SourceHttp.fetch = fetch;