# parse-link-header

> Parses a link header and returns paging information for each contained link.

Latest version **2.0.0** (published 2021-12-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install parse-link-header
pnpm add parse-link-header
yarn add parse-link-header
bun add parse-link-header
```

## Health

**Score 23/100 (F)** — status: abandoned.

Positive: has types package; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.0 |
| Published | 2021-12-16 |
| First published | 2013-06-07 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | separate (@types/parse-link-header) |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 12.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 300 |
| Author | Thorsten Lorenz |
| Maintainers | thlorenz |
| Keywords | parse, link, header, weblink, web, link, rel |

## Links

- npm: https://www.npmjs.com/package/parse-link-header
- Repository: https://github.com/thlorenz/parse-link-header
- Issues: https://github.com/thlorenz/parse-link-header/issues
- npm.io page: https://npm.io/package/parse-link-header

## Dependencies (1)

- [xtend](https://npm.io/package/xtend.md) ~4.0.1

## Alternatives

- [babylon](https://npm.io/package/babylon.md) — 5.1M weekly downloads
- [csscolorparser](https://npm.io/package/csscolorparser.md) — 3.7M weekly downloads
- [expr-eval-fork](https://npm.io/package/expr-eval-fork.md) — 1.5M weekly downloads
- [@leeoniya/ufuzzy](https://npm.io/package/@leeoniya/ufuzzy.md) — 247.7K weekly downloads
- [xml-parser](https://npm.io/package/xml-parser.md) — 78.4K weekly downloads

## Recent versions

- 2.0.0 (latest) — 2021-12-16
- 1.0.1 — 2017-06-05
- 1.0.0 — 2017-05-04
- 0.4.1 — 2015-08-24
- 0.4.0 — 2015-08-21
- 0.3.0 — 2015-07-28
- 0.2.1 — 2015-07-16
- 0.2.0 — 2014-10-05
- 0.1.0 — 2013-06-07

## README

# 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 =
  '<https://api.github.com/user/9287/repos?page=3&per_page=100>; rel="next", ' +
  '<https://api.github.com/user/9287/repos?page=1&per_page=100>; rel="prev"; pet="cat", ' +
  '<https://api.github.com/user/9287/repos?page=5&per_page=100>; 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.

---
_Source: https://npm.io/package/parse-link-header · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
