diff --git a/lib/http-range.ts b/lib/http-range.ts index 72199ab..bb8c64e 100644 --- a/lib/http-range.ts +++ b/lib/http-range.ts @@ -6,7 +6,7 @@ export type HttpByteRange = { export function parseHttpByteRange(range: string, size: number): HttpByteRange | null { if (!Number.isSafeInteger(size) || size <= 0) return null; - const match = /^bytes=(\d*)-(\d*)$/.exec(range.trim()); + const match = /^bytes=(\d*)-(\d*)$/i.exec(range.trim()); if (!match) return null; const [, startText, endText] = match; diff --git a/tests/http-range.test.mjs b/tests/http-range.test.mjs index f85e1ab..a1b6464 100644 --- a/tests/http-range.test.mjs +++ b/tests/http-range.test.mjs @@ -5,6 +5,7 @@ import { parseHttpByteRange } from "../lib/http-range.ts"; test("HTTP range parser handles bounded and open-ended byte ranges", () => { assert.deepEqual(parseHttpByteRange("bytes=2-5", 10), { start: 2, end: 5 }); + assert.deepEqual(parseHttpByteRange("BYTES=2-5", 10), { start: 2, end: 5 }); assert.deepEqual(parseHttpByteRange("bytes=7-", 10), { start: 7, end: 9 }); assert.deepEqual(parseHttpByteRange("bytes=2-99", 10), { start: 2, end: 9 }); });