mirror of https://gitee.com/bigwinds/arangodb
* Make jsunity hash function avoid recursion This guards against traversals of recursive data structures causing a stack overflow. This is crucial when using assertEqual with unknown inputs. * Update deps accepts: 1.3.4 -> 1.3.5 ansi_up: 2.0.2 -> 4.0.3 content-disposition: 0.5.2 -> 0.5.3 dedent: 0.6.0 -> 0.7.0 error-stack-parser: 1.3.6 -> 2.0.2 eslint: 2.13.1 -> 5.16.0 eslint-config-semistandard: 6.0.2 -> removed eslint-config-standard: 5.3.1 -> removed eslint-plugin-promise: 1.3.2 -> removed eslint-plugin-standard: 1.3.2 -> removed highlight.js: 9.12.0 -> 9.15.6 http-errors: 1.6.2 -> 1.7.2 iconv-lite: 0.4.19 -> 0.4.24 joi: 9.2.0 -> 14.3.1 joi-to-json-schema: 2.3.0 -> 4.0.1 js-yaml: 3.10.0 -> 3.13.1 marked: 0.3.9 -> 0.6.2 mime-types: 2.1.12 -> 2.1.22 mocha: 2.5.3 -> 6.1.3 qs: 6.5.1 -> 6.7.0 semver: 5.4.1 -> 6.0.0 statuses: 1.4.0 -> 1.5.0 timezone: 1.0.13 -> 1.0.22 type-is: 1.6.15 -> 1.6.16 underscore: 1.8.3 -> 1.9.1 * Inline eslint semistandard config The eslint standard config has become extremely opinionated and incompatible with the existing coding style. This subset matches the existing coding style most closely. In the future we should migrate to an autoformatter like prettier and avoid this problem altogether. * Linting * Fix mocha runner * New joi has additional property |
||
---|---|---|
.. | ||
HISTORY.md | ||
LICENSE | ||
README.md | ||
index.js | ||
package.json |
README.md
vary
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