mirror of
				https://github.com/1disk/edp445.git
				synced 2024-08-14 22:47:02 +00:00 
			
		
		
		
	added a few messages that the bot would respond to
This commit is contained in:
		
							parent
							
								
									c63d9a6e13
								
							
						
					
					
						commit
						de29e2769c
					
				
					 384 changed files with 56249 additions and 43 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) | ||||
|   } | ||||
| } | ||||
							
								
								
									
										43
									
								
								node_modules/vary/package.json
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								node_modules/vary/package.json
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,43 @@ | |||
| { | ||||
|   "name": "vary", | ||||
|   "description": "Manipulate the HTTP Vary header", | ||||
|   "version": "1.1.2", | ||||
|   "author": "Douglas Christopher Wilson <doug@somethingdoug.com>", | ||||
|   "license": "MIT", | ||||
|   "keywords": [ | ||||
|     "http", | ||||
|     "res", | ||||
|     "vary" | ||||
|   ], | ||||
|   "repository": "jshttp/vary", | ||||
|   "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" | ||||
|   }, | ||||
|   "files": [ | ||||
|     "HISTORY.md", | ||||
|     "LICENSE", | ||||
|     "README.md", | ||||
|     "index.js" | ||||
|   ], | ||||
|   "engines": { | ||||
|     "node": ">= 0.8" | ||||
|   }, | ||||
|   "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/" | ||||
|   } | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue