Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- RANGE_REGEX = /^bytes=(\d+)?-(\d+)?$/;
- function parseRange (str) {
- if (!RANGE_REGEX.test(str)) {
- throw new Error("Incorrect format.");
- }
- var match = RANGE_REGEX.exec(str);
- var ranges = {};
- var start = match[1] ? parseInt(match[1], 10) : 0;
- var end = match[2] ? parseInt(match[2], 10) : Infinity;
- ranges.start = Math.min(start, end);
- ranges.end = Math.max(start, end);
- if (ranges.start === 0) {
- ranges.start = null;
- }
- if (ranges.end === Infinity) {
- ranges.end = null;
- }
- return ranges;
- };
- function stringifyRange(obj) {
- var start = obj.start;
- var end = obj.end;
- if (start === null || end === null) {
- if (start === null) {
- start = "";
- }
- if (end === null) {
- end = "";
- }
- } else {
- if (start > end) {
- var temp = start;
- start = end;
- end = temp;
- }
- }
- return "bytes=" + start + "-" + end;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement