http-range
v1.0.0
Published
Node.js parser for Content-Range and Range HTTP/1.1 header fields.
Downloads
6,880
Maintainers
Readme
http-range
Node.js parser for Content-Range and Range HTTP header fields according to the HTTP/1.1 specifications.
Installation
$ npm install http-range
Usage
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.
API
ContentRange
Class
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/50
Content-Range: bytes 0-49/*
Content-Range: bytes */50
Content-Range: bytes */*
Range
Class
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-49
Range: bytes=0-49,50-99,-30
Range: bytes=1-
Range: bytes=-50
RangeSpec
Class
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-
Tests
$ make test