Helps parse and generate HTTP Weblinks

This middleware helps you parse and generate HTTP Weblinks.

Any links passed in a request via the Link header will now be exposed in ctx.request. Similarly, if a link was set in ctx.response.links, it will automatically be encoded as a Link header in the HTTP response.

Lastly, if the request body was a HAL object, and it has a _links property, these links will also be added to ctx.response.links.


npm i @curveball/links


import { Application, Context } from '@curveball/core';
import links from '@curveball/links';
import bodyParser from '@curveball/bodyparser';

const app = new Application();

// If you would like to parse HAL links, the bodyParser must be loaded first.


app.use( (ctx: Context) => {

  // Read a Link from a HAL body or Link header

  // Write a Link header
  ctx.response.links.set({ rel: 'alternate' , type: 'text/csv', href: '/export.csv'});