3 * Parse "Range" header `str` relative to the given file `size`.
11 module.exports = function(size, str){
13 var i = str.indexOf('=');
15 if (-1 == i) return -2;
17 var arr = str.slice(i + 1).split(',').map(function(range){
18 var range = range.split('-')
19 , start = parseInt(range[0], 10)
20 , end = parseInt(range[1], 10);
27 } else if (isNaN(end)) {
31 // limit last-byte-pos to current length
32 if (end > size - 1) end = size - 1;
38 || start < 0) valid = false;
46 arr.type = str.slice(0, i);
48 return valid ? arr : -1;