server_photo_s85js/utils/range.js
2026-08-11 08:45:04 +02:00

16 lines
421 B
JavaScript

function parseRange(rangeHeader, totalLength) {
if (!rangeHeader) return null;
const m = /bytes=(\d*)-(\d*)/.exec(rangeHeader);
if (!m) return null;
const start = m[1] ? parseInt(m[1], 10) : 0;
const end = m[2] ? parseInt(m[2], 10) : totalLength - 1;
if (isNaN(start) || isNaN(end) || start > end || start >= totalLength) {
return null;
}
return { start, end };
}
module.exports = { parseRange };