Neutralize Pesky Miscreants

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

    1.1.2 • Public • Published

    vary

    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

    Keywords

    Install

    npm i vary

    DownloadsWeekly Downloads

    19,676,213

    Version

    1.1.2

    License

    MIT

    Last publish

    Collaborators

    • dougwilson