vary
    Overview
    Documentation
    Tutorials
    Chat
    Insights
    Code
    Dependencies
    Contributors
    Jobs

vary

Manipulate the HTTP Vary header

1.1.2  •  Updated 2 years ago  •  by jshttp  •  MIT License

NPM Version NPM Downloads Node.js Version Build Status Test Coverage

Manipulate the HTTP Vary header

Installation

This is a Node.js module available through the npm registry. Installation is done using the npm install command:

$ npm install vary

API

var vary = require('vary')

vary(res, field)

Adds the given header field to the Vary response header of res. This can be a string of a single field, a string of a valid Vary header, or an array of multiple fields.

This will append the header if not already listed, otherwise leaves it listed in the current location.

// Append "Origin" to the Vary header of the response
vary(res, 'Origin')

vary.append(header, field)

Adds the given header field to the Vary response header string header. This can be a string of a single field, a string of a valid Vary header, or an array of multiple fields.

This will append the header if not already listed, otherwise leaves it listed in the current location. The new header string is returned.

// Get header string appending "Origin" to "Accept, User-Agent"
vary.append('Accept, User-Agent', 'Origin')

Examples

Updating the Vary header when content is based on it

var http = require('http')
var vary = require('vary')

http.createServer(function onRequest (req, res) {
  // about to user-agent sniff
  vary(res, 'User-Agent')

  var ua = req.headers['user-agent'] || ''
  var isMobile = /mobi|android|touch|mini/i.test(ua)

  // serve site, depending on isMobile
  res.setHeader('Content-Type', 'text/html')
  res.end('You are (probably) ' + (isMobile ? '' : 'not ') + 'a mobile user')
})

Testing

$ npm test

License

MIT

Popularity

Maintenance

Development

Last ver 3 years ago
Created 6 years ago
Last commit 1 year ago
12 days between commits

Technology

Node version: 6.11.1
0 unpacked

Compliance

MIT License
OSI Approved
0 vulnerabilities

Contributors

2 contributors
Douglas Christopher Wilson
Maintainer, 143 commits
Nook Scheel
1 commits, 1 PRs
Works at Splytech
Blake Embrey
Maintainer
Works at opendoor-labs
Robert Kieffer
Maintainer
Dan Aprahamian
Maintainer
Eivind Fjeldstad
Maintainer

Tags

http
res
vary
Openbase helps developers choose among and use millions of open-source packages, so they can build amazing products faster.
FacebookTwitterLinkedIn
© 2020 Devstore, Inc.