set-link
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/set-link package

    1.0.0 • Public • Published

    set-link

    Build Status npm version

    Link header middleware for express with multiple value and attribute support.

    Usage

    The middleware doesn't require any parameters. Just add it to the express app like this:

    const setLink = require('set-link')
    
    const app = express()
    
    app.use(setLink)
    

    .setLink must be called with the link IRI and the relationship:

    app.use((req, res) => {
      res.setLink('http://example.org/context', 'http://www.w3.org/ns/json-ld#context')
    
      // Link: <http://example.org/context>; rel="http://www.w3.org/ns/json-ld#context"
    })
    

    It's also possible to add additional attributes using a key value map:

    app.use((req, res) => {
      res.setLink('http://example.org/context', 'http://www.w3.org/ns/json-ld#context', {
        title: 'example title',
        type: 'application/ld+json'
      })
      
      // Link: <http://example.org/context>; rel="http://www.w3.org/ns/json-ld#context"; title="example title"; type="application/ld+json"
    })
    

    If there is already a link header, the new one will be appended:

    app.use((req, res, next) => {
      res.set('link', '<http://example.org/api>; rel="http://www.w3.org/ns/hydra/core#apiDocumentation"')
      res.setLink('http://example.org/context', 'http://www.w3.org/ns/json-ld#context')
    
      // Link: <http://example.org/api>; rel="http://www.w3.org/ns/hydra/core#apiDocumentation", <http://example.org/context>; rel="http://www.w3.org/ns/json-ld#context"
    })
    

    Install

    npm i set-link

    DownloadsWeekly Downloads

    271

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators

    • bergos