vary

Manipulate the HTTP Vary header

vary

Manipulate the HTTP Vary header

$ npm install vary
var vary = require('vary')

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')

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')
var http = require('http')
var vary = require('vary')
 
http.createServer(function onRequest(reqres) {
  // 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')
})
$ npm test

MIT