rOACCT/node_modules/vary2e74391c0d8edev
README.md
vary
[![NPM Version][npm-image]][npm-url] [![NPM Downloads][downloads-image]][downloads-url] [![Node.js Version][node-version-image]][node-version-url] [![Build Status][travis-image]][travis-url] [![Test Coverage][coveralls-image]][coveralls-url]
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](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
sh $ npm install vary
API
<!-- eslint-disable no-unused-vars -->
js 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.
<!-- eslint-disable no-undef -->
js // 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.
<!-- eslint-disable no-undef -->
js // 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
js 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
sh $ npm test
License
[MIT](LICENSE)
[npm-image]: https://img.shields.io/npm/v/vary.svg [npm-url]: https://npmjs.org/package/vary [node-version-image]: https://img.shields.io/node/v/vary.svg [node-version-url]: https://nodejs.org/en/download [travis-image]: https://img.shields.io/travis/jshttp/vary/master.svg [travis-url]: https://travis-ci.org/jshttp/vary [coveralls-image]: https://img.shields.io/coveralls/jshttp/vary/master.svg [coveralls-url]: https://coveralls.io/r/jshttp/vary [downloads-image]: https://img.shields.io/npm/dm/vary.svg [downloads-url]: https://npmjs.org/package/vary