UNPKG

node-web-mvc

Version:
31 lines (30 loc) 982 B
"use strict"; /** * @module HttpRange */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const HttpHeaders_1 = __importDefault(require("./HttpHeaders")); class HttpRange { constructor(unit, start, end) { this.unit = unit; this.start = Number(start); this.end = end === '' ? -1 : Number(end); } static getRanges(request) { const range = request.getHeader(HttpHeaders_1.default.RANGE); if (!range) { return null; } const segments = range.toString().split('='); const unit = segments.shift(); const ranges = segments.pop().split(','); return ranges.map((range) => { const numbers = range.split('-'); return new HttpRange(unit, numbers[0], numbers[1]); }); } } exports.default = HttpRange;