Skip to content

Commit a18e796

Browse files
fix(media): accept case-insensitive byte range units
1 parent b5f6bed commit a18e796

2 files changed

Lines changed: 2 additions & 1 deletion

File tree

lib/http-range.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ export type HttpByteRange = {
66
export function parseHttpByteRange(range: string, size: number): HttpByteRange | null {
77
if (!Number.isSafeInteger(size) || size <= 0) return null;
88

9-
const match = /^bytes=(\d*)-(\d*)$/.exec(range.trim());
9+
const match = /^bytes=(\d*)-(\d*)$/i.exec(range.trim());
1010
if (!match) return null;
1111

1212
const [, startText, endText] = match;

tests/http-range.test.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { parseHttpByteRange } from "../lib/http-range.ts";
55

66
test("HTTP range parser handles bounded and open-ended byte ranges", () => {
77
assert.deepEqual(parseHttpByteRange("bytes=2-5", 10), { start: 2, end: 5 });
8+
assert.deepEqual(parseHttpByteRange("BYTES=2-5", 10), { start: 2, end: 5 });
89
assert.deepEqual(parseHttpByteRange("bytes=7-", 10), { start: 7, end: 9 });
910
assert.deepEqual(parseHttpByteRange("bytes=2-99", 10), { start: 2, end: 9 });
1011
});

0 commit comments

Comments
 (0)