UNPKG

@httpland/range-request-middleware

Version:
33 lines (32 loc) 1.11 kB
import { type Middleware } from "./deps.js"; import { UnitLike } from "./transform.js"; import type { Range } from "./types.js"; /** Create range request middleware. * * @example * ```ts * import { rangeRequest } from "https://deno.land/x/range_request_middleware@$VERSION/middleware.ts"; * import { * assert, * assertEquals, * assertThrows, * } from "https://deno.land/std/testing/asserts.ts"; * * const middleware = rangeRequest(); * const request = new Request("test:", { * headers: { range: "bytes=5-9" }, * }); * const response = await middleware( * request, * () => new Response("abcdefghijklmnopqrstuvwxyz"), * ); * * assertEquals(response.status, 206); * assertEquals(response.headers.get("content-range"), "bytes 5-9/26"); * assertEquals(response.headers.get("accept-ranges"), "bytes"); * assertEquals(await response.text(), "fghij"); * ``` */ export declare function rangeRequest(ranges?: Iterable<Range>): Middleware; export declare function contentRange(ranges?: Iterable<Range>): Middleware; export declare function acceptRanges(unitLike?: UnitLike): Middleware;