Updated the Survey.
This commit is contained in:
parent
f59686eae0
commit
6d3ba1a714
1203 changed files with 140782 additions and 5 deletions
39
node_modules/vary/HISTORY.md
generated
vendored
Normal file
39
node_modules/vary/HISTORY.md
generated
vendored
Normal file
|
@ -0,0 +1,39 @@
|
|||
1.1.2 / 2017-09-23
|
||||
==================
|
||||
|
||||
* perf: improve header token parsing speed
|
||||
|
||||
1.1.1 / 2017-03-20
|
||||
==================
|
||||
|
||||
* perf: hoist regular expression
|
||||
|
||||
1.1.0 / 2015-09-29
|
||||
==================
|
||||
|
||||
* Only accept valid field names in the `field` argument
|
||||
- Ensures the resulting string is a valid HTTP header value
|
||||
|
||||
1.0.1 / 2015-07-08
|
||||
==================
|
||||
|
||||
* Fix setting empty header from empty `field`
|
||||
* perf: enable strict mode
|
||||
* perf: remove argument reassignments
|
||||
|
||||
1.0.0 / 2014-08-10
|
||||
==================
|
||||
|
||||
* Accept valid `Vary` header string as `field`
|
||||
* Add `vary.append` for low-level string manipulation
|
||||
* Move to `jshttp` orgainzation
|
||||
|
||||
0.1.0 / 2014-06-05
|
||||
==================
|
||||
|
||||
* Support array of fields to set
|
||||
|
||||
0.0.0 / 2014-06-04
|
||||
==================
|
||||
|
||||
* Initial release
|
22
node_modules/vary/LICENSE
generated
vendored
Normal file
22
node_modules/vary/LICENSE
generated
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
(The MIT License)
|
||||
|
||||
Copyright (c) 2014-2017 Douglas Christopher Wilson
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
'Software'), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
101
node_modules/vary/README.md
generated
vendored
Normal file
101
node_modules/vary/README.md
generated
vendored
Normal file
|
@ -0,0 +1,101 @@
|
|||
# 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](https://nodejs.org/en/) module available through the
|
||||
[npm registry](https://www.npmjs.com/). 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
|
149
node_modules/vary/index.js
generated
vendored
Normal file
149
node_modules/vary/index.js
generated
vendored
Normal file
|
@ -0,0 +1,149 @@
|
|||
/*!
|
||||
* vary
|
||||
* Copyright(c) 2014-2017 Douglas Christopher Wilson
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
'use strict'
|
||||
|
||||
/**
|
||||
* Module exports.
|
||||
*/
|
||||
|
||||
module.exports = vary
|
||||
module.exports.append = append
|
||||
|
||||
/**
|
||||
* RegExp to match field-name in RFC 7230 sec 3.2
|
||||
*
|
||||
* field-name = token
|
||||
* token = 1*tchar
|
||||
* tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*"
|
||||
* / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
|
||||
* / DIGIT / ALPHA
|
||||
* ; any VCHAR, except delimiters
|
||||
*/
|
||||
|
||||
var FIELD_NAME_REGEXP = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/
|
||||
|
||||
/**
|
||||
* Append a field to a vary header.
|
||||
*
|
||||
* @param {String} header
|
||||
* @param {String|Array} field
|
||||
* @return {String}
|
||||
* @public
|
||||
*/
|
||||
|
||||
function append (header, field) {
|
||||
if (typeof header !== 'string') {
|
||||
throw new TypeError('header argument is required')
|
||||
}
|
||||
|
||||
if (!field) {
|
||||
throw new TypeError('field argument is required')
|
||||
}
|
||||
|
||||
// get fields array
|
||||
var fields = !Array.isArray(field)
|
||||
? parse(String(field))
|
||||
: field
|
||||
|
||||
// assert on invalid field names
|
||||
for (var j = 0; j < fields.length; j++) {
|
||||
if (!FIELD_NAME_REGEXP.test(fields[j])) {
|
||||
throw new TypeError('field argument contains an invalid header name')
|
||||
}
|
||||
}
|
||||
|
||||
// existing, unspecified vary
|
||||
if (header === '*') {
|
||||
return header
|
||||
}
|
||||
|
||||
// enumerate current values
|
||||
var val = header
|
||||
var vals = parse(header.toLowerCase())
|
||||
|
||||
// unspecified vary
|
||||
if (fields.indexOf('*') !== -1 || vals.indexOf('*') !== -1) {
|
||||
return '*'
|
||||
}
|
||||
|
||||
for (var i = 0; i < fields.length; i++) {
|
||||
var fld = fields[i].toLowerCase()
|
||||
|
||||
// append value (case-preserving)
|
||||
if (vals.indexOf(fld) === -1) {
|
||||
vals.push(fld)
|
||||
val = val
|
||||
? val + ', ' + fields[i]
|
||||
: fields[i]
|
||||
}
|
||||
}
|
||||
|
||||
return val
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse a vary header into an array.
|
||||
*
|
||||
* @param {String} header
|
||||
* @return {Array}
|
||||
* @private
|
||||
*/
|
||||
|
||||
function parse (header) {
|
||||
var end = 0
|
||||
var list = []
|
||||
var start = 0
|
||||
|
||||
// gather tokens
|
||||
for (var i = 0, len = header.length; i < len; i++) {
|
||||
switch (header.charCodeAt(i)) {
|
||||
case 0x20: /* */
|
||||
if (start === end) {
|
||||
start = end = i + 1
|
||||
}
|
||||
break
|
||||
case 0x2c: /* , */
|
||||
list.push(header.substring(start, end))
|
||||
start = end = i + 1
|
||||
break
|
||||
default:
|
||||
end = i + 1
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
// final token
|
||||
list.push(header.substring(start, end))
|
||||
|
||||
return list
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark that a request is varied on a header field.
|
||||
*
|
||||
* @param {Object} res
|
||||
* @param {String|Array} field
|
||||
* @public
|
||||
*/
|
||||
|
||||
function vary (res, field) {
|
||||
if (!res || !res.getHeader || !res.setHeader) {
|
||||
// quack quack
|
||||
throw new TypeError('res argument is required')
|
||||
}
|
||||
|
||||
// get existing header
|
||||
var val = res.getHeader('Vary') || ''
|
||||
var header = Array.isArray(val)
|
||||
? val.join(', ')
|
||||
: String(val)
|
||||
|
||||
// set new header
|
||||
if ((val = append(header, field))) {
|
||||
res.setHeader('Vary', val)
|
||||
}
|
||||
}
|
78
node_modules/vary/package.json
generated
vendored
Normal file
78
node_modules/vary/package.json
generated
vendored
Normal file
|
@ -0,0 +1,78 @@
|
|||
{
|
||||
"_from": "vary@~1.1.2",
|
||||
"_id": "vary@1.1.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
|
||||
"_location": "/vary",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "vary@~1.1.2",
|
||||
"name": "vary",
|
||||
"escapedName": "vary",
|
||||
"rawSpec": "~1.1.2",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "~1.1.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/express"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
||||
"_shasum": "2299f02c6ded30d4a5961b0b9f74524a18f634fc",
|
||||
"_spec": "vary@~1.1.2",
|
||||
"_where": "D:\\Documents\\UniWork\\Year 4\\Semester 2\\SEG3125\\Labs\\Lab 6\\Survey_Analysis\\node_modules\\express",
|
||||
"author": {
|
||||
"name": "Douglas Christopher Wilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/jshttp/vary/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Manipulate the HTTP Vary header",
|
||||
"devDependencies": {
|
||||
"beautify-benchmark": "0.2.4",
|
||||
"benchmark": "2.1.4",
|
||||
"eslint": "3.19.0",
|
||||
"eslint-config-standard": "10.2.1",
|
||||
"eslint-plugin-import": "2.7.0",
|
||||
"eslint-plugin-markdown": "1.0.0-beta.6",
|
||||
"eslint-plugin-node": "5.1.1",
|
||||
"eslint-plugin-promise": "3.5.0",
|
||||
"eslint-plugin-standard": "3.0.1",
|
||||
"istanbul": "0.4.5",
|
||||
"mocha": "2.5.3",
|
||||
"supertest": "1.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
},
|
||||
"files": [
|
||||
"HISTORY.md",
|
||||
"LICENSE",
|
||||
"README.md",
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/jshttp/vary#readme",
|
||||
"keywords": [
|
||||
"http",
|
||||
"res",
|
||||
"vary"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "vary",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/jshttp/vary.git"
|
||||
},
|
||||
"scripts": {
|
||||
"bench": "node benchmark/index.js",
|
||||
"lint": "eslint --plugin markdown --ext js,md .",
|
||||
"test": "mocha --reporter spec --bail --check-leaks test/",
|
||||
"test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
|
||||
"test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
|
||||
},
|
||||
"version": "1.1.2"
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue