node-web-mvc
Version:
node spring mvc
31 lines (30 loc) • 982 B
JavaScript
;
/**
* @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;