Node.js parser for Content-Range and Range HTTP/1.1 header fields.
npm install http-range
``sh`
$ npm install http-range
`js
var ContentRange = require('http-range').ContentRange;
var Range = require('http-range').Range;
// Parsing and creating 'Content-Range' header
ContentRange.prototype.parse('bytes 0-49/50'); // Content-Range: bytes 0-49/50
new ContentRange('bytes', '0-49', 50).toString(); // => bytes 0-49/50
// Parsing and creating 'Range' header
Range.prototype.parse('bytes=0-49'); // Range: bytes=0-49
new Range('bytes', '0-49'); // => bytes=0-49
`
For more usages check the test files.
###### new ContentRange(unit, range, length)
- unit {String} Usually 'bytes', but can be any tokenrange
- {RangeSpec|String} A RangeSpec instance, a string like '0-49' or '\*' if unknownlength
- {Number|'\'} The total length of the full entity-body or '\' if this length is unknown or difficult to determine
Throws error if arguments are invalid.
###### Properties
- unit {String}range
- {RangeSpec}length
- {Number|null} Null if unknown
###### Methods
- toString() Return a valid string valueparse(input)
- Parse an input string. Throws error if invalid
#### Allowed Content-Range(s)
- Content-Range: bytes 0-49/50Content-Range: bytes 0-49/*
- Content-Range: bytes */50
- Content-Range: bytes /
-
###### new Range(unit, ranges)
- unit {String} Usually 'bytes', but can be any tokenranges
- {RangeSpec[]|String} An array of RangeSpec instances or a string like '0-49[,50-99][...]'
Throws error if arguments are invalid.
###### Properties
- unit {String}ranges
- {RangeSpec[]}
###### Methods
- toString() Return a valid string valueparse(input)
- Parse an input string. Throws error if invalid
#### Allowed Range(s)
- Range: bytes=0-49Range: bytes=0-49,50-99,-30
- Range: bytes=1-
- Range: bytes=-50
-
###### new RangeSpec(low, high, size)
- low {Number|undefined}high
- {Number|undefined}size
- {Number|undefined} For validation only, optional
Throws error if arguments are invalid.
###### Properties
- low {Number|undefined}high
- {Number|undefined}
###### Methods
- toString() Return a valid string valueparse(input)
- Parse an input string. Throws error if invalid
#### Examples of valid ranges
- *0-49
- -49
- 34-
-
`sh``
$ make test