# parse-link-header [![build status](https://secure.travis-ci.org/thlorenz/parse-link-header.png)](http://travis-ci.org/thlorenz/parse-link-header) [![testling badge](https://ci.testling.com/thlorenz/parse-link-header.png)](https://ci.testling.com/thlorenz/parse-link-header) Parses a link header and returns paging information for each contained link. ```js var parse = require('parse-link-header'); var linkHeader = '; rel="next", ' + '; rel="prev"; pet="cat", ' + '; rel="last"' var parsed = parse(linkHeader); console.log(parsed); ``` ```js { next: { page: '3', per_page: '100', rel: 'next', url: 'https://api.github.com/user/9287/repos?page=3&per_page=100' }, prev: { page: '1', per_page: '100', rel: 'prev', pet: 'cat', url: 'https://api.github.com/user/9287/repos?page=1&per_page=100' }, last: { page: '5', per_page: '100', rel: 'last', url: 'https://api.github.com/user/9287/repos?page=5&per_page=100' } } ``` ## Installation npm install parse-link-header ## API ***parseLinkHeader(linkHeader : String) : Object*** Parses the given link header containing [web links](http://tools.ietf.org/html/rfc5988) and returns an object keyed by the `rel` property that contains information about each link. ### Environmental Variables To avoid redundantly parsing of extremely long (invalid) input, the package uses 2 env variabes: `PARSE_LINK_HEADER_MAXLEN` - Sets the number of characters the input should be limited to - longer inputs will not be handled. Defaults to `2000`. `PARSE_LINK_HEADER_THROW_ON_MAXLEN_EXCEEDED` - Defines behavior for when the `PARSE_LINK_HEADER_MAXLEN` parameter is exceeded. if defined, an error will be thrown; if it's `null`, the function fails silently by returning `null`. Defaults to `null`. ### Formatting a link header The purpose of this module is to parse the link header information. To format an object generated by this module back to the link header string, use the [format-link-header](https://github.com/jonathansamines/format-link-header) module.