range-parser
Range header field parser.
Installation
This is a Node.js module available through the
npm registry. Installation is done using the
npm install
command:
$ npm install range-parser
API
var parseRange = require('range-parser')
parseRange(size, header, options)
Parse the given header
string where size
is the size of the selected
representation that is to be partitioned into subranges. An array of subranges
will be returned or negative numbers indicating an error parsing.
-2
signals a malformed header string
-1
signals an unsatisfiable range
// parse header from request
var subranges = parseRange(size, req.headers.range)
// the type of the subranges
if (subranges.type === 'bytes') {
// the ranges
subranges.forEach(function (r) {
// do something with r.start and r.end
})
}
Options
These properties are accepted in the options object.
combine
Specifies if overlapping & adjacent subranges should be combined, defaults to
false
. When true
, ranges will be combined and returned as if they were
specified that way in the header.
parseRange(100, 'bytes=50-55,0-10,5-10,56-60', { combine: true })
// => [
// { start: 0, end: 10 },
// { start: 50, end: 60 }
// ]
License
MIT