├── LICENSE ├── MODULE API.md ├── README.md ├── ffmpegsumo.dll ├── src ├── components.html ├── css │ ├── animate.css │ └── style.css ├── default.css ├── index.html ├── js │ ├── bootstrap.min.js │ ├── commands-static.js │ ├── commands.js │ ├── events.js │ ├── jquery-2.2.0.min.js │ ├── message.js │ ├── moderation.js │ ├── modules.js │ ├── plotly-latest.min.js │ ├── points.js │ ├── quotes.js │ ├── raffle.js │ ├── scripts.js │ ├── songs.js │ ├── stats.js │ ├── timedMessages.js │ └── timer.js ├── koala.png ├── node_modules │ ├── express │ │ ├── History.md │ │ ├── LICENSE │ │ ├── Readme.md │ │ ├── index.js │ │ ├── lib │ │ │ ├── application.js │ │ │ ├── express.js │ │ │ ├── middleware │ │ │ │ ├── init.js │ │ │ │ └── query.js │ │ │ ├── request.js │ │ │ ├── response.js │ │ │ ├── router │ │ │ │ ├── index.js │ │ │ │ ├── layer.js │ │ │ │ └── route.js │ │ │ ├── utils.js │ │ │ └── view.js │ │ ├── node_modules │ │ │ ├── .bin │ │ │ │ ├── mime │ │ │ │ └── mime.cmd │ │ │ ├── accepts │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── array-flatten │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── array-flatten.js │ │ │ │ └── package.json │ │ │ ├── content-disposition │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── content-type │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── cookie-signature │ │ │ │ ├── .npmignore │ │ │ │ ├── History.md │ │ │ │ ├── Readme.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── cookie │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── debug │ │ │ │ ├── .jshintrc │ │ │ │ ├── .npmignore │ │ │ │ ├── History.md │ │ │ │ ├── Makefile │ │ │ │ ├── Readme.md │ │ │ │ ├── bower.json │ │ │ │ ├── browser.js │ │ │ │ ├── component.json │ │ │ │ ├── debug.js │ │ │ │ ├── node.js │ │ │ │ └── package.json │ │ │ ├── depd │ │ │ │ ├── History.md │ │ │ │ ├── LICENSE │ │ │ │ ├── Readme.md │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ └── compat │ │ │ │ │ │ ├── buffer-concat.js │ │ │ │ │ │ ├── callsite-tostring.js │ │ │ │ │ │ └── index.js │ │ │ │ └── package.json │ │ │ ├── destroy │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── ee-first │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── escape-html │ │ │ │ ├── LICENSE │ │ │ │ ├── Readme.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── etag │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── finalhandler │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── forwarded │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── fresh │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── http-errors │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── inherits │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── inherits.js │ │ │ │ ├── inherits_browser.js │ │ │ │ ├── package.json │ │ │ │ └── test.js │ │ │ ├── ipaddr.js │ │ │ │ ├── .npmignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── Cakefile │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── bower.json │ │ │ │ ├── ipaddr.min.js │ │ │ │ ├── lib │ │ │ │ │ └── ipaddr.js │ │ │ │ ├── package.json │ │ │ │ ├── src │ │ │ │ │ └── ipaddr.coffee │ │ │ │ └── test │ │ │ │ │ └── ipaddr.test.coffee │ │ │ ├── media-typer │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── merge-descriptors │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── methods │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── mime-db │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── db.json │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── mime-types │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── mime │ │ │ │ ├── .npmignore │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── build │ │ │ │ │ ├── build.js │ │ │ │ │ └── test.js │ │ │ │ ├── cli.js │ │ │ │ ├── mime.js │ │ │ │ ├── package.json │ │ │ │ └── types.json │ │ │ ├── ms │ │ │ │ ├── .npmignore │ │ │ │ ├── History.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── negotiator │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ ├── charset.js │ │ │ │ │ ├── encoding.js │ │ │ │ │ ├── language.js │ │ │ │ │ └── mediaType.js │ │ │ │ └── package.json │ │ │ ├── on-finished │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── parseurl │ │ │ │ ├── .npmignore │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── path-to-regexp │ │ │ │ ├── History.md │ │ │ │ ├── LICENSE │ │ │ │ ├── Readme.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── proxy-addr │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── qs │ │ │ │ ├── .eslintignore │ │ │ │ ├── .npmignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── bower.json │ │ │ │ ├── lib │ │ │ │ │ ├── index.js │ │ │ │ │ ├── parse.js │ │ │ │ │ ├── stringify.js │ │ │ │ │ └── utils.js │ │ │ │ ├── package.json │ │ │ │ └── test │ │ │ │ │ ├── parse.js │ │ │ │ │ ├── stringify.js │ │ │ │ │ └── utils.js │ │ │ ├── range-parser │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── send │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── serve-static │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── statuses │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── codes.json │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── type-is │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── unpipe │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── utils-merge │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ └── vary │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ └── package.json │ ├── irc │ │ ├── .jscsrc │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── CHANGES.md │ │ ├── CONTRIBUTING.md │ │ ├── COPYING │ │ ├── README.md │ │ ├── docs │ │ │ ├── API.rst │ │ │ ├── Makefile │ │ │ ├── conf.py │ │ │ ├── index.rst │ │ │ └── make.bat │ │ ├── example │ │ │ ├── bot.js │ │ │ └── secure.js │ │ ├── lib │ │ │ ├── codes.js │ │ │ ├── colors.js │ │ │ ├── irc.js │ │ │ └── parse_message.js │ │ ├── node_modules │ │ │ ├── ansi-color │ │ │ │ ├── ._LICENSE │ │ │ │ ├── ._README.md │ │ │ │ ├── ._package.json │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── lib │ │ │ │ │ ├── ._ansi-color.js │ │ │ │ │ └── ansi-color.js │ │ │ │ └── package.json │ │ │ └── irc-colors │ │ │ │ ├── .npmignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── example │ │ │ │ └── bot.js │ │ │ │ ├── img │ │ │ │ ├── colors.png │ │ │ │ ├── extras.png │ │ │ │ └── styles.png │ │ │ │ ├── lib │ │ │ │ └── irc-colors.js │ │ │ │ ├── node_modules │ │ │ │ └── hashish │ │ │ │ │ ├── README.markdown │ │ │ │ │ ├── examples │ │ │ │ │ ├── chain.js │ │ │ │ │ └── map.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node_modules │ │ │ │ │ └── traverse │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── examples │ │ │ │ │ │ ├── json.js │ │ │ │ │ │ ├── leaves.js │ │ │ │ │ │ ├── negative.js │ │ │ │ │ │ ├── scrub.js │ │ │ │ │ │ └── stringify.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── readme.markdown │ │ │ │ │ │ ├── test │ │ │ │ │ │ ├── circular.js │ │ │ │ │ │ ├── date.js │ │ │ │ │ │ ├── equal.js │ │ │ │ │ │ ├── error.js │ │ │ │ │ │ ├── has.js │ │ │ │ │ │ ├── instance.js │ │ │ │ │ │ ├── interface.js │ │ │ │ │ │ ├── json.js │ │ │ │ │ │ ├── keys.js │ │ │ │ │ │ ├── leaves.js │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ └── deep_equal.js │ │ │ │ │ │ ├── mutability.js │ │ │ │ │ │ ├── negative.js │ │ │ │ │ │ ├── obj.js │ │ │ │ │ │ ├── siblings.js │ │ │ │ │ │ ├── stop.js │ │ │ │ │ │ ├── stringify.js │ │ │ │ │ │ ├── subexpr.js │ │ │ │ │ │ └── super_deep.js │ │ │ │ │ │ └── testling │ │ │ │ │ │ └── leaves.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── test │ │ │ │ │ ├── hash.js │ │ │ │ │ └── property.js │ │ │ │ ├── package.json │ │ │ │ └── test │ │ │ │ └── main-test.js │ │ ├── package.json │ │ ├── test.js │ │ └── test │ │ │ ├── data │ │ │ ├── fixtures.json │ │ │ ├── ircd.key │ │ │ └── ircd.pem │ │ │ ├── helpers.js │ │ │ ├── test-433-before-001.js │ │ │ ├── test-auditorium.js │ │ │ ├── test-convert-encoding.js │ │ │ ├── test-double-crlf.js │ │ │ ├── test-irc.js │ │ │ └── test-parse-line.js │ └── sql.js │ │ ├── AUTHORS │ │ ├── README.md │ │ ├── js │ │ └── sql.js │ │ ├── package.json │ │ └── test │ │ ├── all.js │ │ ├── issue55.db │ │ ├── run.sh │ │ ├── sql-requireJS.html │ │ ├── test.sqlite │ │ ├── test_blob.js │ │ ├── test_database.js │ │ ├── test_errors.js │ │ ├── test_issue55.js │ │ ├── test_issue73.js │ │ ├── test_issue76.js │ │ ├── test_node_file.js │ │ ├── test_statement.js │ │ └── test_worker.js ├── package.json └── public │ ├── jquery-2.2.0.min.js │ └── oauth.html └── themes ├── bootstrap.css ├── cosmo.css ├── cyborg.css ├── default.css ├── lumen.css ├── paper.css ├── slate.css └── superhero.css /MODULE API.md: -------------------------------------------------------------------------------- 1 | See: [http://skhmt.github.io/bot/api.html](http://skhmt.github.io/bot/api.html) 2 | -------------------------------------------------------------------------------- /ffmpegsumo.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Skhmt/koalabot/b3dc0c5bf7e803c2c7eab5ee08105cc6efeb5286/ffmpegsumo.dll -------------------------------------------------------------------------------- /src/components.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/css/style.css: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | *:focus { 4 | outline: none; 5 | }*/ 6 | 7 | body { padding-top: 50px; } 8 | 9 | .navbar-nav > li > a { 10 | padding: 5px 8px 0px 8px !important; 11 | height: 30px !important; 12 | } 13 | .navbar-brand { 14 | padding: 5px 5px 0px 5px !important; 15 | height: 30px !important; 16 | } 17 | .navbar { 18 | min-height: 30px !important; 19 | } 20 | 21 | .scroll { 22 | overflow: auto; 23 | word-wrap: break-word; 24 | } 25 | -------------------------------------------------------------------------------- /src/koala.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Skhmt/koalabot/b3dc0c5bf7e803c2c7eab5ee08105cc6efeb5286/src/koala.png -------------------------------------------------------------------------------- /src/node_modules/express/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2009-2014 TJ Holowaychuk 4 | Copyright (c) 2013-2014 Roman Shtylman 5 | Copyright (c) 2014-2015 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /src/node_modules/express/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * express 3 | * Copyright(c) 2009-2013 TJ Holowaychuk 4 | * Copyright(c) 2013 Roman Shtylman 5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | module.exports = require('./lib/express'); 12 | -------------------------------------------------------------------------------- /src/node_modules/express/lib/middleware/init.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * express 3 | * Copyright(c) 2009-2013 TJ Holowaychuk 4 | * Copyright(c) 2013 Roman Shtylman 5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | /** 12 | * Initialization middleware, exposing the 13 | * request and response to each other, as well 14 | * as defaulting the X-Powered-By header field. 15 | * 16 | * @param {Function} app 17 | * @return {Function} 18 | * @api private 19 | */ 20 | 21 | exports.init = function(app){ 22 | return function expressInit(req, res, next){ 23 | if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express'); 24 | req.res = res; 25 | res.req = req; 26 | req.next = next; 27 | 28 | req.__proto__ = app.request; 29 | res.__proto__ = app.response; 30 | 31 | res.locals = res.locals || Object.create(null); 32 | 33 | next(); 34 | }; 35 | }; 36 | 37 | -------------------------------------------------------------------------------- /src/node_modules/express/lib/middleware/query.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * express 3 | * Copyright(c) 2009-2013 TJ Holowaychuk 4 | * Copyright(c) 2013 Roman Shtylman 5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | /** 12 | * Module dependencies. 13 | */ 14 | 15 | var parseUrl = require('parseurl'); 16 | var qs = require('qs'); 17 | 18 | /** 19 | * @param {Object} options 20 | * @return {Function} 21 | * @api public 22 | */ 23 | 24 | module.exports = function query(options) { 25 | var opts = Object.create(options || null); 26 | var queryparse = qs.parse; 27 | 28 | if (typeof options === 'function') { 29 | queryparse = options; 30 | opts = undefined; 31 | } 32 | 33 | if (opts !== undefined) { 34 | if (opts.allowDots === undefined) { 35 | opts.allowDots = false; 36 | } 37 | 38 | if (opts.allowPrototypes === undefined) { 39 | opts.allowPrototypes = true; 40 | } 41 | } 42 | 43 | return function query(req, res, next){ 44 | if (!req.query) { 45 | var val = parseUrl(req).query; 46 | req.query = queryparse(val, opts); 47 | } 48 | 49 | next(); 50 | }; 51 | }; 52 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/.bin/mime: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=`dirname "$0"` 3 | 4 | case `uname` in 5 | *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | "$basedir/node" "$basedir/../mime/cli.js" "$@" 10 | ret=$? 11 | else 12 | node "$basedir/../mime/cli.js" "$@" 13 | ret=$? 14 | fi 15 | exit $ret 16 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/.bin/mime.cmd: -------------------------------------------------------------------------------- 1 | @IF EXIST "%~dp0\node.exe" ( 2 | "%~dp0\node.exe" "%~dp0\..\mime\cli.js" %* 3 | ) ELSE ( 4 | @SETLOCAL 5 | @SET PATHEXT=%PATHEXT:;.JS;=;% 6 | node "%~dp0\..\mime\cli.js" %* 7 | ) -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/accepts/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/array-flatten/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/array-flatten/README.md: -------------------------------------------------------------------------------- 1 | # Array Flatten 2 | 3 | [![NPM version][npm-image]][npm-url] 4 | [![NPM downloads][downloads-image]][downloads-url] 5 | [![Build status][travis-image]][travis-url] 6 | [![Test coverage][coveralls-image]][coveralls-url] 7 | 8 | > Flatten an array of nested arrays into a single flat array. Accepts an optional depth. 9 | 10 | ## Installation 11 | 12 | ``` 13 | npm install array-flatten --save 14 | ``` 15 | 16 | ## Usage 17 | 18 | ```javascript 19 | var flatten = require('array-flatten') 20 | 21 | flatten([1, [2, [3, [4, [5], 6], 7], 8], 9]) 22 | //=> [1, 2, 3, 4, 5, 6, 7, 8, 9] 23 | 24 | flatten([1, [2, [3, [4, [5], 6], 7], 8], 9], 2) 25 | //=> [1, 2, 3, [4, [5], 6], 7, 8, 9] 26 | 27 | (function () { 28 | flatten(arguments) //=> [1, 2, 3] 29 | })(1, [2, 3]) 30 | ``` 31 | 32 | ## License 33 | 34 | MIT 35 | 36 | [npm-image]: https://img.shields.io/npm/v/array-flatten.svg?style=flat 37 | [npm-url]: https://npmjs.org/package/array-flatten 38 | [downloads-image]: https://img.shields.io/npm/dm/array-flatten.svg?style=flat 39 | [downloads-url]: https://npmjs.org/package/array-flatten 40 | [travis-image]: https://img.shields.io/travis/blakeembrey/array-flatten.svg?style=flat 41 | [travis-url]: https://travis-ci.org/blakeembrey/array-flatten 42 | [coveralls-image]: https://img.shields.io/coveralls/blakeembrey/array-flatten.svg?style=flat 43 | [coveralls-url]: https://coveralls.io/r/blakeembrey/array-flatten?branch=master 44 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/array-flatten/array-flatten.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /** 4 | * Expose `arrayFlatten`. 5 | */ 6 | module.exports = arrayFlatten 7 | 8 | /** 9 | * Recursive flatten function with depth. 10 | * 11 | * @param {Array} array 12 | * @param {Array} result 13 | * @param {Number} depth 14 | * @return {Array} 15 | */ 16 | function flattenWithDepth (array, result, depth) { 17 | for (var i = 0; i < array.length; i++) { 18 | var value = array[i] 19 | 20 | if (depth > 0 && Array.isArray(value)) { 21 | flattenWithDepth(value, result, depth - 1) 22 | } else { 23 | result.push(value) 24 | } 25 | } 26 | 27 | return result 28 | } 29 | 30 | /** 31 | * Recursive flatten function. Omitting depth is slightly faster. 32 | * 33 | * @param {Array} array 34 | * @param {Array} result 35 | * @return {Array} 36 | */ 37 | function flattenForever (array, result) { 38 | for (var i = 0; i < array.length; i++) { 39 | var value = array[i] 40 | 41 | if (Array.isArray(value)) { 42 | flattenForever(value, result) 43 | } else { 44 | result.push(value) 45 | } 46 | } 47 | 48 | return result 49 | } 50 | 51 | /** 52 | * Flatten an array, with the ability to define a depth. 53 | * 54 | * @param {Array} array 55 | * @param {Number} depth 56 | * @return {Array} 57 | */ 58 | function arrayFlatten (array, depth) { 59 | if (depth == null) { 60 | return flattenForever(array, []) 61 | } 62 | 63 | return flattenWithDepth(array, [], depth) 64 | } 65 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/content-disposition/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.5.0 / 2014-10-11 2 | ================== 3 | 4 | * Add `parse` function 5 | 6 | 0.4.0 / 2014-09-21 7 | ================== 8 | 9 | * Expand non-Unicode `filename` to the full ISO-8859-1 charset 10 | 11 | 0.3.0 / 2014-09-20 12 | ================== 13 | 14 | * Add `fallback` option 15 | * Add `type` option 16 | 17 | 0.2.0 / 2014-09-19 18 | ================== 19 | 20 | * Reduce ambiguity of file names with hex escape in buggy browsers 21 | 22 | 0.1.2 / 2014-09-19 23 | ================== 24 | 25 | * Fix periodic invalid Unicode filename header 26 | 27 | 0.1.1 / 2014-09-19 28 | ================== 29 | 30 | * Fix invalid characters appearing in `filename*` parameter 31 | 32 | 0.1.0 / 2014-09-18 33 | ================== 34 | 35 | * Make the `filename` argument optional 36 | 37 | 0.0.0 / 2014-09-18 38 | ================== 39 | 40 | * Initial release 41 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/content-disposition/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/content-type/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.1 / 2015-02-13 2 | ================== 3 | 4 | * Improve missing `Content-Type` header error message 5 | 6 | 1.0.0 / 2015-02-01 7 | ================== 8 | 9 | * Initial implementation, derived from `media-typer@0.3.0` 10 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/content-type/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2015 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/cookie-signature/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/cookie-signature/History.md: -------------------------------------------------------------------------------- 1 | 1.0.6 / 2015-02-03 2 | ================== 3 | 4 | * use `npm test` instead of `make test` to run tests 5 | * clearer assertion messages when checking input 6 | 7 | 8 | 1.0.5 / 2014-09-05 9 | ================== 10 | 11 | * add license to package.json 12 | 13 | 1.0.4 / 2014-06-25 14 | ================== 15 | 16 | * corrected avoidance of timing attacks (thanks @tenbits!) 17 | 18 | 1.0.3 / 2014-01-28 19 | ================== 20 | 21 | * [incorrect] fix for timing attacks 22 | 23 | 1.0.2 / 2014-01-28 24 | ================== 25 | 26 | * fix missing repository warning 27 | * fix typo in test 28 | 29 | 1.0.1 / 2013-04-15 30 | ================== 31 | 32 | * Revert "Changed underlying HMAC algo. to sha512." 33 | * Revert "Fix for timing attacks on MAC verification." 34 | 35 | 0.0.1 / 2010-01-03 36 | ================== 37 | 38 | * Initial release 39 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/cookie-signature/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # cookie-signature 3 | 4 | Sign and unsign cookies. 5 | 6 | ## Example 7 | 8 | ```js 9 | var cookie = require('cookie-signature'); 10 | 11 | var val = cookie.sign('hello', 'tobiiscool'); 12 | val.should.equal('hello.DGDUkGlIkCzPz+C0B064FNgHdEjox7ch8tOBGslZ5QI'); 13 | 14 | var val = cookie.sign('hello', 'tobiiscool'); 15 | cookie.unsign(val, 'tobiiscool').should.equal('hello'); 16 | cookie.unsign(val, 'luna').should.be.false; 17 | ``` 18 | 19 | ## License 20 | 21 | (The MIT License) 22 | 23 | Copyright (c) 2012 LearnBoost <tj@learnboost.com> 24 | 25 | Permission is hereby granted, free of charge, to any person obtaining 26 | a copy of this software and associated documentation files (the 27 | 'Software'), to deal in the Software without restriction, including 28 | without limitation the rights to use, copy, modify, merge, publish, 29 | distribute, sublicense, and/or sell copies of the Software, and to 30 | permit persons to whom the Software is furnished to do so, subject to 31 | the following conditions: 32 | 33 | The above copyright notice and this permission notice shall be 34 | included in all copies or substantial portions of the Software. 35 | 36 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 37 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 38 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 39 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 40 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 41 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 42 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/cookie-signature/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Module dependencies. 3 | */ 4 | 5 | var crypto = require('crypto'); 6 | 7 | /** 8 | * Sign the given `val` with `secret`. 9 | * 10 | * @param {String} val 11 | * @param {String} secret 12 | * @return {String} 13 | * @api private 14 | */ 15 | 16 | exports.sign = function(val, secret){ 17 | if ('string' != typeof val) throw new TypeError("Cookie value must be provided as a string."); 18 | if ('string' != typeof secret) throw new TypeError("Secret string must be provided."); 19 | return val + '.' + crypto 20 | .createHmac('sha256', secret) 21 | .update(val) 22 | .digest('base64') 23 | .replace(/\=+$/, ''); 24 | }; 25 | 26 | /** 27 | * Unsign and decode the given `val` with `secret`, 28 | * returning `false` if the signature is invalid. 29 | * 30 | * @param {String} val 31 | * @param {String} secret 32 | * @return {String|Boolean} 33 | * @api private 34 | */ 35 | 36 | exports.unsign = function(val, secret){ 37 | if ('string' != typeof val) throw new TypeError("Signed cookie string must be provided."); 38 | if ('string' != typeof secret) throw new TypeError("Secret string must be provided."); 39 | var str = val.slice(0, val.lastIndexOf('.')) 40 | , mac = exports.sign(str, secret); 41 | 42 | return sha1(mac) == sha1(val) ? str : false; 43 | }; 44 | 45 | /** 46 | * Private 47 | */ 48 | 49 | function sha1(str){ 50 | return crypto.createHash('sha1').update(str).digest('hex'); 51 | } 52 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/cookie/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 Roman Shtylman 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/cookie/README.md: -------------------------------------------------------------------------------- 1 | # cookie 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-version-image]][node-version-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | cookie is a basic cookie parser and serializer. It doesn't make assumptions about how you are going to deal with your cookies. It basically just provides a way to read and write the HTTP cookie headers. 10 | 11 | See [RFC6265](http://tools.ietf.org/html/rfc6265) for details about the http header for cookies. 12 | 13 | ## how? 14 | 15 | ``` 16 | npm install cookie 17 | ``` 18 | 19 | ```javascript 20 | var cookie = require('cookie'); 21 | 22 | var hdr = cookie.serialize('foo', 'bar'); 23 | // hdr = 'foo=bar'; 24 | 25 | var cookies = cookie.parse('foo=bar; cat=meow; dog=ruff'); 26 | // cookies = { foo: 'bar', cat: 'meow', dog: 'ruff' }; 27 | ``` 28 | 29 | ## more 30 | 31 | The serialize function takes a third parameter, an object, to set cookie options. See the RFC for valid values. 32 | 33 | ### path 34 | > cookie path 35 | 36 | ### expires 37 | > absolute expiration date for the cookie (Date object) 38 | 39 | ### maxAge 40 | > relative max age of the cookie from when the client receives it (seconds) 41 | 42 | ### domain 43 | > domain for the cookie 44 | 45 | ### secure 46 | > true or false 47 | 48 | ### httpOnly 49 | > true or false 50 | 51 | ## License 52 | 53 | [MIT](LICENSE) 54 | 55 | [npm-image]: https://img.shields.io/npm/v/cookie.svg 56 | [npm-url]: https://npmjs.org/package/cookie 57 | [node-version-image]: https://img.shields.io/node/v/cookie.svg 58 | [node-version-url]: http://nodejs.org/download/ 59 | [travis-image]: https://img.shields.io/travis/jshttp/cookie/master.svg 60 | [travis-url]: https://travis-ci.org/jshttp/cookie 61 | [coveralls-image]: https://img.shields.io/coveralls/jshttp/cookie/master.svg 62 | [coveralls-url]: https://coveralls.io/r/jshttp/cookie?branch=master 63 | [downloads-image]: https://img.shields.io/npm/dm/cookie.svg 64 | [downloads-url]: https://npmjs.org/package/cookie 65 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/debug/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "laxbreak": true 3 | } 4 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/debug/Makefile: -------------------------------------------------------------------------------- 1 | 2 | # get Makefile directory name: http://stackoverflow.com/a/5982798/376773 3 | THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) 4 | THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) 5 | 6 | # BIN directory 7 | BIN := $(THIS_DIR)/node_modules/.bin 8 | 9 | # applications 10 | NODE ?= $(shell which node) 11 | NPM ?= $(NODE) $(shell which npm) 12 | BROWSERIFY ?= $(NODE) $(BIN)/browserify 13 | 14 | all: dist/debug.js 15 | 16 | install: node_modules 17 | 18 | clean: 19 | @rm -rf dist 20 | 21 | dist: 22 | @mkdir -p $@ 23 | 24 | dist/debug.js: node_modules browser.js debug.js dist 25 | @$(BROWSERIFY) \ 26 | --standalone debug \ 27 | . > $@ 28 | 29 | distclean: clean 30 | @rm -rf node_modules 31 | 32 | node_modules: package.json 33 | @NODE_ENV= $(NPM) install 34 | @touch node_modules 35 | 36 | .PHONY: all install clean distclean 37 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/debug/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "visionmedia-debug", 3 | "main": "dist/debug.js", 4 | "version": "2.2.0", 5 | "homepage": "https://github.com/visionmedia/debug", 6 | "authors": [ 7 | "TJ Holowaychuk " 8 | ], 9 | "description": "visionmedia-debug", 10 | "moduleType": [ 11 | "amd", 12 | "es6", 13 | "globals", 14 | "node" 15 | ], 16 | "keywords": [ 17 | "visionmedia", 18 | "debug" 19 | ], 20 | "license": "MIT", 21 | "ignore": [ 22 | "**/.*", 23 | "node_modules", 24 | "bower_components", 25 | "test", 26 | "tests" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.2.0", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "browser.js", 12 | "scripts": [ 13 | "browser.js", 14 | "debug.js" 15 | ], 16 | "dependencies": { 17 | "rauchg/ms.js": "0.7.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/depd/History.md: -------------------------------------------------------------------------------- 1 | 1.0.1 / 2015-04-07 2 | ================== 3 | 4 | * Fix `TypeError`s when under `'use strict'` code 5 | * Fix useless type name on auto-generated messages 6 | * Support io.js 1.x 7 | * Support Node.js 0.12 8 | 9 | 1.0.0 / 2014-09-17 10 | ================== 11 | 12 | * No changes 13 | 14 | 0.4.5 / 2014-09-09 15 | ================== 16 | 17 | * Improve call speed to functions using the function wrapper 18 | * Support Node.js 0.6 19 | 20 | 0.4.4 / 2014-07-27 21 | ================== 22 | 23 | * Work-around v8 generating empty stack traces 24 | 25 | 0.4.3 / 2014-07-26 26 | ================== 27 | 28 | * Fix exception when global `Error.stackTraceLimit` is too low 29 | 30 | 0.4.2 / 2014-07-19 31 | ================== 32 | 33 | * Correct call site for wrapped functions and properties 34 | 35 | 0.4.1 / 2014-07-19 36 | ================== 37 | 38 | * Improve automatic message generation for function properties 39 | 40 | 0.4.0 / 2014-07-19 41 | ================== 42 | 43 | * Add `TRACE_DEPRECATION` environment variable 44 | * Remove non-standard grey color from color output 45 | * Support `--no-deprecation` argument 46 | * Support `--trace-deprecation` argument 47 | * Support `deprecate.property(fn, prop, message)` 48 | 49 | 0.3.0 / 2014-06-16 50 | ================== 51 | 52 | * Add `NO_DEPRECATION` environment variable 53 | 54 | 0.2.0 / 2014-06-15 55 | ================== 56 | 57 | * Add `deprecate.property(obj, prop, message)` 58 | * Remove `supports-color` dependency for node.js 0.8 59 | 60 | 0.1.0 / 2014-06-15 61 | ================== 62 | 63 | * Add `deprecate.function(fn, message)` 64 | * Add `process.on('deprecation', fn)` emitter 65 | * Automatically generate message when omitted from `deprecate()` 66 | 67 | 0.0.1 / 2014-06-15 68 | ================== 69 | 70 | * Fix warning for dynamic calls at singe call site 71 | 72 | 0.0.0 / 2014-06-15 73 | ================== 74 | 75 | * Initial implementation 76 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/depd/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/depd/lib/compat/buffer-concat.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2014 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | */ 10 | 11 | module.exports = bufferConcat 12 | 13 | /** 14 | * Concatenate an array of Buffers. 15 | */ 16 | 17 | function bufferConcat(bufs) { 18 | var length = 0 19 | 20 | for (var i = 0, len = bufs.length; i < len; i++) { 21 | length += bufs[i].length 22 | } 23 | 24 | var buf = new Buffer(length) 25 | var pos = 0 26 | 27 | for (var i = 0, len = bufs.length; i < len; i++) { 28 | bufs[i].copy(buf, pos) 29 | pos += bufs[i].length 30 | } 31 | 32 | return buf 33 | } 34 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/depd/lib/compat/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2014 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | */ 10 | 11 | lazyProperty(module.exports, 'bufferConcat', function bufferConcat() { 12 | return Buffer.concat || require('./buffer-concat') 13 | }) 14 | 15 | lazyProperty(module.exports, 'callSiteToString', function callSiteToString() { 16 | var limit = Error.stackTraceLimit 17 | var obj = {} 18 | var prep = Error.prepareStackTrace 19 | 20 | function prepareObjectStackTrace(obj, stack) { 21 | return stack 22 | } 23 | 24 | Error.prepareStackTrace = prepareObjectStackTrace 25 | Error.stackTraceLimit = 2 26 | 27 | // capture the stack 28 | Error.captureStackTrace(obj) 29 | 30 | // slice the stack 31 | var stack = obj.stack.slice() 32 | 33 | Error.prepareStackTrace = prep 34 | Error.stackTraceLimit = limit 35 | 36 | return stack[0].toString ? toString : require('./callsite-tostring') 37 | }) 38 | 39 | /** 40 | * Define a lazy property. 41 | */ 42 | 43 | function lazyProperty(obj, prop, getter) { 44 | function get() { 45 | var val = getter() 46 | 47 | Object.defineProperty(obj, prop, { 48 | configurable: true, 49 | enumerable: true, 50 | value: val 51 | }) 52 | 53 | return val 54 | } 55 | 56 | Object.defineProperty(obj, prop, { 57 | configurable: true, 58 | enumerable: true, 59 | get: get 60 | }) 61 | } 62 | 63 | /** 64 | * Call toString() on the obj 65 | */ 66 | 67 | function toString(obj) { 68 | return obj.toString() 69 | } 70 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/destroy/README.md: -------------------------------------------------------------------------------- 1 | # Destroy 2 | 3 | [![NPM version][npm-image]][npm-url] 4 | [![Build status][travis-image]][travis-url] 5 | [![Test coverage][coveralls-image]][coveralls-url] 6 | [![Dependency Status][david-image]][david-url] 7 | [![License][license-image]][license-url] 8 | [![Downloads][downloads-image]][downloads-url] 9 | [![Gittip][gittip-image]][gittip-url] 10 | 11 | Destroy a stream. 12 | 13 | ## API 14 | 15 | ```js 16 | var destroy = require('destroy') 17 | 18 | var fs = require('fs') 19 | var stream = fs.createReadStream('package.json') 20 | destroy(stream) 21 | ``` 22 | 23 | [npm-image]: https://img.shields.io/npm/v/destroy.svg?style=flat-square 24 | [npm-url]: https://npmjs.org/package/destroy 25 | [github-tag]: http://img.shields.io/github/tag/stream-utils/destroy.svg?style=flat-square 26 | [github-url]: https://github.com/stream-utils/destroy/tags 27 | [travis-image]: https://img.shields.io/travis/stream-utils/destroy.svg?style=flat-square 28 | [travis-url]: https://travis-ci.org/stream-utils/destroy 29 | [coveralls-image]: https://img.shields.io/coveralls/stream-utils/destroy.svg?style=flat-square 30 | [coveralls-url]: https://coveralls.io/r/stream-utils/destroy?branch=master 31 | [david-image]: http://img.shields.io/david/stream-utils/destroy.svg?style=flat-square 32 | [david-url]: https://david-dm.org/stream-utils/destroy 33 | [license-image]: http://img.shields.io/npm/l/destroy.svg?style=flat-square 34 | [license-url]: LICENSE.md 35 | [downloads-image]: http://img.shields.io/npm/dm/destroy.svg?style=flat-square 36 | [downloads-url]: https://npmjs.org/package/destroy 37 | [gittip-image]: https://img.shields.io/gittip/jonathanong.svg?style=flat-square 38 | [gittip-url]: https://www.gittip.com/jonathanong/ 39 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/destroy/index.js: -------------------------------------------------------------------------------- 1 | var ReadStream = require('fs').ReadStream 2 | var Stream = require('stream') 3 | 4 | module.exports = function destroy(stream) { 5 | if (stream instanceof ReadStream) { 6 | return destroyReadStream(stream) 7 | } 8 | 9 | if (!(stream instanceof Stream)) { 10 | return stream 11 | } 12 | 13 | if (typeof stream.destroy === 'function') { 14 | stream.destroy() 15 | } 16 | 17 | return stream 18 | } 19 | 20 | function destroyReadStream(stream) { 21 | stream.destroy() 22 | 23 | if (typeof stream.close === 'function') { 24 | // node.js core bug work-around 25 | stream.on('open', onopenClose) 26 | } 27 | 28 | return stream 29 | } 30 | 31 | function onopenClose() { 32 | if (typeof this.fd === 'number') { 33 | // actually close down the fd 34 | this.close() 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/ee-first/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/ee-first/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ee-first 3 | * Copyright(c) 2014 Jonathan Ong 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = first 15 | 16 | /** 17 | * Get the first event in a set of event emitters and event pairs. 18 | * 19 | * @param {array} stuff 20 | * @param {function} done 21 | * @public 22 | */ 23 | 24 | function first(stuff, done) { 25 | if (!Array.isArray(stuff)) 26 | throw new TypeError('arg must be an array of [ee, events...] arrays') 27 | 28 | var cleanups = [] 29 | 30 | for (var i = 0; i < stuff.length; i++) { 31 | var arr = stuff[i] 32 | 33 | if (!Array.isArray(arr) || arr.length < 2) 34 | throw new TypeError('each array member must be [ee, events...]') 35 | 36 | var ee = arr[0] 37 | 38 | for (var j = 1; j < arr.length; j++) { 39 | var event = arr[j] 40 | var fn = listener(event, callback) 41 | 42 | // listen to the event 43 | ee.on(event, fn) 44 | // push this listener to the list of cleanups 45 | cleanups.push({ 46 | ee: ee, 47 | event: event, 48 | fn: fn, 49 | }) 50 | } 51 | } 52 | 53 | function callback() { 54 | cleanup() 55 | done.apply(null, arguments) 56 | } 57 | 58 | function cleanup() { 59 | var x 60 | for (var i = 0; i < cleanups.length; i++) { 61 | x = cleanups[i] 62 | x.ee.removeListener(x.event, x.fn) 63 | } 64 | } 65 | 66 | function thunk(fn) { 67 | done = fn 68 | } 69 | 70 | thunk.cancel = cleanup 71 | 72 | return thunk 73 | } 74 | 75 | /** 76 | * Create the event listener. 77 | * @private 78 | */ 79 | 80 | function listener(event, done) { 81 | return function onevent(arg1) { 82 | var args = new Array(arguments.length) 83 | var ee = this 84 | var err = event === 'error' 85 | ? arg1 86 | : null 87 | 88 | // copy args to prevent arguments escaping scope 89 | for (var i = 0; i < args.length; i++) { 90 | args[i] = arguments[i] 91 | } 92 | 93 | done(err, ee, event, args) 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/escape-html/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2013 TJ Holowaychuk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/escape-html/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # escape-html 3 | 4 | Escape HTML entities 5 | 6 | ## Example 7 | 8 | ```js 9 | var escape = require('escape-html'); 10 | escape(str); 11 | ``` 12 | 13 | ## License 14 | 15 | MIT -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/escape-html/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * escape-html 3 | * Copyright(c) 2012-2013 TJ Holowaychuk 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | * @public 10 | */ 11 | 12 | module.exports = escapeHtml; 13 | 14 | /** 15 | * Escape special characters in the given string of html. 16 | * 17 | * @param {string} str The string to escape for inserting into HTML 18 | * @return {string} 19 | * @public 20 | */ 21 | 22 | function escapeHtml(html) { 23 | return String(html) 24 | .replace(/&/g, '&') 25 | .replace(/"/g, '"') 26 | .replace(/'/g, ''') 27 | .replace(//g, '>'); 29 | } 30 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/escape-html/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "escape-html@1.0.2", 5 | "C:\\Users\\J304336\\Downloads\\NodeJSPortable\\Data\\myapp\\node_modules\\express" 6 | ] 7 | ], 8 | "_from": "escape-html@1.0.2", 9 | "_id": "escape-html@1.0.2", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/escape-html", 13 | "_npmUser": { 14 | "email": "doug@somethingdoug.com", 15 | "name": "dougwilson" 16 | }, 17 | "_npmVersion": "1.4.28", 18 | "_phantomChildren": {}, 19 | "_requested": { 20 | "name": "escape-html", 21 | "raw": "escape-html@1.0.2", 22 | "rawSpec": "1.0.2", 23 | "scope": null, 24 | "spec": "1.0.2", 25 | "type": "version" 26 | }, 27 | "_requiredBy": [ 28 | "/express", 29 | "/finalhandler", 30 | "/send", 31 | "/serve-static" 32 | ], 33 | "_resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz", 34 | "_shasum": "d77d32fa98e38c2f41ae85e9278e0e0e6ba1022c", 35 | "_shrinkwrap": null, 36 | "_spec": "escape-html@1.0.2", 37 | "_where": "C:\\Users\\J304336\\Downloads\\NodeJSPortable\\Data\\myapp\\node_modules\\express", 38 | "bugs": { 39 | "url": "https://github.com/component/escape-html/issues" 40 | }, 41 | "dependencies": {}, 42 | "description": "Escape HTML entities", 43 | "devDependencies": {}, 44 | "directories": {}, 45 | "dist": { 46 | "shasum": "d77d32fa98e38c2f41ae85e9278e0e0e6ba1022c", 47 | "tarball": "http://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz" 48 | }, 49 | "files": [ 50 | "LICENSE", 51 | "Readme.md", 52 | "index.js" 53 | ], 54 | "gitHead": "2477a23ae56f75e0a5622a20b5b55da00de3a23b", 55 | "homepage": "https://github.com/component/escape-html", 56 | "keywords": [ 57 | "escape", 58 | "html", 59 | "utility" 60 | ], 61 | "license": "MIT", 62 | "maintainers": [ 63 | { 64 | "name": "tjholowaychuk", 65 | "email": "tj@vision-media.ca" 66 | }, 67 | { 68 | "name": "dougwilson", 69 | "email": "doug@somethingdoug.com" 70 | } 71 | ], 72 | "name": "escape-html", 73 | "optionalDependencies": {}, 74 | "readme": "ERROR: No README data found!", 75 | "repository": { 76 | "type": "git", 77 | "url": "git+https://github.com/component/escape-html.git" 78 | }, 79 | "scripts": {}, 80 | "version": "1.0.2" 81 | } 82 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/etag/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.7.0 / 2015-06-08 2 | ================== 3 | 4 | * Always include entity length in ETags for hash length extensions 5 | * Generate non-Stats ETags using MD5 only (no longer CRC32) 6 | * Improve stat performance by removing hashing 7 | * Remove base64 padding in ETags to shorten 8 | * Use MD5 instead of MD4 in weak ETags over 1KB 9 | 10 | 1.6.0 / 2015-05-10 11 | ================== 12 | 13 | * Improve support for JXcore 14 | * Remove requirement of `atime` in the stats object 15 | * Support "fake" stats objects in environments without `fs` 16 | 17 | 1.5.1 / 2014-11-19 18 | ================== 19 | 20 | * deps: crc@3.2.1 21 | - Minor fixes 22 | 23 | 1.5.0 / 2014-10-14 24 | ================== 25 | 26 | * Improve string performance 27 | * Slightly improve speed for weak ETags over 1KB 28 | 29 | 1.4.0 / 2014-09-21 30 | ================== 31 | 32 | * Support "fake" stats objects 33 | * Support Node.js 0.6 34 | 35 | 1.3.1 / 2014-09-14 36 | ================== 37 | 38 | * Use the (new and improved) `crc` for crc32 39 | 40 | 1.3.0 / 2014-08-29 41 | ================== 42 | 43 | * Default strings to strong ETags 44 | * Improve speed for weak ETags over 1KB 45 | 46 | 1.2.1 / 2014-08-29 47 | ================== 48 | 49 | * Use the (much faster) `buffer-crc32` for crc32 50 | 51 | 1.2.0 / 2014-08-24 52 | ================== 53 | 54 | * Add support for file stat objects 55 | 56 | 1.1.0 / 2014-08-24 57 | ================== 58 | 59 | * Add fast-path for empty entity 60 | * Add weak ETag generation 61 | * Shrink size of generated ETags 62 | 63 | 1.0.1 / 2014-08-24 64 | ================== 65 | 66 | * Fix behavior of string containing Unicode 67 | 68 | 1.0.0 / 2014-05-18 69 | ================== 70 | 71 | * Initial release 72 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/etag/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2015 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/finalhandler/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.4.0 / 2015-06-14 2 | ================== 3 | 4 | * Fix a false-positive when unpiping in Node.js 0.8 5 | * Support `statusCode` property on `Error` objects 6 | * Use `unpipe` module for unpiping requests 7 | * deps: escape-html@1.0.2 8 | * deps: on-finished@~2.3.0 9 | - Add defined behavior for HTTP `CONNECT` requests 10 | - Add defined behavior for HTTP `Upgrade` requests 11 | - deps: ee-first@1.1.1 12 | * perf: enable strict mode 13 | * perf: remove argument reassignment 14 | 15 | 0.3.6 / 2015-05-11 16 | ================== 17 | 18 | * deps: debug@~2.2.0 19 | - deps: ms@0.7.1 20 | 21 | 0.3.5 / 2015-04-22 22 | ================== 23 | 24 | * deps: on-finished@~2.2.1 25 | - Fix `isFinished(req)` when data buffered 26 | 27 | 0.3.4 / 2015-03-15 28 | ================== 29 | 30 | * deps: debug@~2.1.3 31 | - Fix high intensity foreground color for bold 32 | - deps: ms@0.7.0 33 | 34 | 0.3.3 / 2015-01-01 35 | ================== 36 | 37 | * deps: debug@~2.1.1 38 | * deps: on-finished@~2.2.0 39 | 40 | 0.3.2 / 2014-10-22 41 | ================== 42 | 43 | * deps: on-finished@~2.1.1 44 | - Fix handling of pipelined requests 45 | 46 | 0.3.1 / 2014-10-16 47 | ================== 48 | 49 | * deps: debug@~2.1.0 50 | - Implement `DEBUG_FD` env variable support 51 | 52 | 0.3.0 / 2014-09-17 53 | ================== 54 | 55 | * Terminate in progress response only on error 56 | * Use `on-finished` to determine request status 57 | 58 | 0.2.0 / 2014-09-03 59 | ================== 60 | 61 | * Set `X-Content-Type-Options: nosniff` header 62 | * deps: debug@~2.0.0 63 | 64 | 0.1.0 / 2014-07-16 65 | ================== 66 | 67 | * Respond after request fully read 68 | - prevents hung responses and socket hang ups 69 | * deps: debug@1.0.4 70 | 71 | 0.0.3 / 2014-07-11 72 | ================== 73 | 74 | * deps: debug@1.0.3 75 | - Add support for multiple wildcards in namespaces 76 | 77 | 0.0.2 / 2014-06-19 78 | ================== 79 | 80 | * Handle invalid status codes 81 | 82 | 0.0.1 / 2014-06-05 83 | ================== 84 | 85 | * deps: debug@1.0.2 86 | 87 | 0.0.0 / 2014-06-05 88 | ================== 89 | 90 | * Extracted from connect/express 91 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/finalhandler/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2015 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/forwarded/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.1.0 / 2014-09-21 2 | ================== 3 | 4 | * Initial release 5 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/forwarded/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/forwarded/README.md: -------------------------------------------------------------------------------- 1 | # forwarded 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-version-image]][node-version-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | Parse HTTP X-Forwarded-For header 10 | 11 | ## Installation 12 | 13 | ```sh 14 | $ npm install forwarded 15 | ``` 16 | 17 | ## API 18 | 19 | ```js 20 | var forwarded = require('forwarded') 21 | ``` 22 | 23 | ### forwarded(req) 24 | 25 | ```js 26 | var addresses = forwarded(req) 27 | ``` 28 | 29 | Parse the `X-Forwarded-For` header from the request. Returns an array 30 | of the addresses, including the socket address for the `req`. In reverse 31 | order (i.e. index `0` is the socket address and the last index is the 32 | furthest address, typically the end-user). 33 | 34 | ## Testing 35 | 36 | ```sh 37 | $ npm test 38 | ``` 39 | 40 | ## License 41 | 42 | [MIT](LICENSE) 43 | 44 | [npm-image]: https://img.shields.io/npm/v/forwarded.svg?style=flat 45 | [npm-url]: https://npmjs.org/package/forwarded 46 | [node-version-image]: https://img.shields.io/node/v/forwarded.svg?style=flat 47 | [node-version-url]: http://nodejs.org/download/ 48 | [travis-image]: https://img.shields.io/travis/jshttp/forwarded.svg?style=flat 49 | [travis-url]: https://travis-ci.org/jshttp/forwarded 50 | [coveralls-image]: https://img.shields.io/coveralls/jshttp/forwarded.svg?style=flat 51 | [coveralls-url]: https://coveralls.io/r/jshttp/forwarded?branch=master 52 | [downloads-image]: https://img.shields.io/npm/dm/forwarded.svg?style=flat 53 | [downloads-url]: https://npmjs.org/package/forwarded 54 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/forwarded/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * forwarded 3 | * Copyright(c) 2014 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | */ 10 | 11 | module.exports = forwarded 12 | 13 | /** 14 | * Get all addresses in the request, using the `X-Forwarded-For` header. 15 | * 16 | * @param {Object} req 17 | * @api public 18 | */ 19 | 20 | function forwarded(req) { 21 | if (!req) { 22 | throw new TypeError('argument req is required') 23 | } 24 | 25 | // simple header parsing 26 | var proxyAddrs = (req.headers['x-forwarded-for'] || '') 27 | .split(/ *, */) 28 | .filter(Boolean) 29 | .reverse() 30 | var socketAddr = req.connection.remoteAddress 31 | var addrs = [socketAddr].concat(proxyAddrs) 32 | 33 | // return all addresses 34 | return addrs 35 | } 36 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/fresh/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.3.0 / 2015-05-12 2 | ================== 3 | 4 | * Add weak `ETag` matching support 5 | 6 | 0.2.4 / 2014-09-07 7 | ================== 8 | 9 | * Support Node.js 0.6 10 | 11 | 0.2.3 / 2014-09-07 12 | ================== 13 | 14 | * Move repository to jshttp 15 | 16 | 0.2.2 / 2014-02-19 17 | ================== 18 | 19 | * Revert "Fix for blank page on Safari reload" 20 | 21 | 0.2.1 / 2014-01-29 22 | ================== 23 | 24 | * Fix for blank page on Safari reload 25 | 26 | 0.2.0 / 2013-08-11 27 | ================== 28 | 29 | * Return stale for `Cache-Control: no-cache` 30 | 31 | 0.1.0 / 2012-06-15 32 | ================== 33 | * Add `If-None-Match: *` support 34 | 35 | 0.0.1 / 2012-06-10 36 | ================== 37 | 38 | * Initial release 39 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/fresh/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012 TJ Holowaychuk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/fresh/README.md: -------------------------------------------------------------------------------- 1 | # fresh 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-version-image]][node-version-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | HTTP response freshness testing 10 | 11 | ## Installation 12 | 13 | ``` 14 | $ npm install fresh 15 | ``` 16 | 17 | ## API 18 | 19 | ```js 20 | var fresh = require('fresh') 21 | ``` 22 | 23 | ### fresh(req, res) 24 | 25 | Check freshness of `req` and `res` headers. 26 | 27 | When the cache is "fresh" __true__ is returned, 28 | otherwise __false__ is returned to indicate that 29 | the cache is now stale. 30 | 31 | ## Example 32 | 33 | ```js 34 | var req = { 'if-none-match': 'tobi' }; 35 | var res = { 'etag': 'luna' }; 36 | fresh(req, res); 37 | // => false 38 | 39 | var req = { 'if-none-match': 'tobi' }; 40 | var res = { 'etag': 'tobi' }; 41 | fresh(req, res); 42 | // => true 43 | ``` 44 | 45 | ## License 46 | 47 | [MIT](LICENSE) 48 | 49 | [npm-image]: https://img.shields.io/npm/v/fresh.svg 50 | [npm-url]: https://npmjs.org/package/fresh 51 | [node-version-image]: https://img.shields.io/node/v/fresh.svg 52 | [node-version-url]: http://nodejs.org/download/ 53 | [travis-image]: https://img.shields.io/travis/jshttp/fresh/master.svg 54 | [travis-url]: https://travis-ci.org/jshttp/fresh 55 | [coveralls-image]: https://img.shields.io/coveralls/jshttp/fresh/master.svg 56 | [coveralls-url]: https://coveralls.io/r/jshttp/fresh?branch=master 57 | [downloads-image]: https://img.shields.io/npm/dm/fresh.svg 58 | [downloads-url]: https://npmjs.org/package/fresh 59 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/fresh/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Expose `fresh()`. 4 | */ 5 | 6 | module.exports = fresh; 7 | 8 | /** 9 | * Check freshness of `req` and `res` headers. 10 | * 11 | * When the cache is "fresh" __true__ is returned, 12 | * otherwise __false__ is returned to indicate that 13 | * the cache is now stale. 14 | * 15 | * @param {Object} req 16 | * @param {Object} res 17 | * @return {Boolean} 18 | * @api public 19 | */ 20 | 21 | function fresh(req, res) { 22 | // defaults 23 | var etagMatches = true; 24 | var notModified = true; 25 | 26 | // fields 27 | var modifiedSince = req['if-modified-since']; 28 | var noneMatch = req['if-none-match']; 29 | var lastModified = res['last-modified']; 30 | var etag = res['etag']; 31 | var cc = req['cache-control']; 32 | 33 | // unconditional request 34 | if (!modifiedSince && !noneMatch) return false; 35 | 36 | // check for no-cache cache request directive 37 | if (cc && cc.indexOf('no-cache') !== -1) return false; 38 | 39 | // parse if-none-match 40 | if (noneMatch) noneMatch = noneMatch.split(/ *, */); 41 | 42 | // if-none-match 43 | if (noneMatch) { 44 | etagMatches = noneMatch.some(function (match) { 45 | return match === '*' || match === etag || match === 'W/' + etag; 46 | }); 47 | } 48 | 49 | // if-modified-since 50 | if (modifiedSince) { 51 | modifiedSince = new Date(modifiedSince); 52 | lastModified = new Date(lastModified); 53 | notModified = lastModified <= modifiedSince; 54 | } 55 | 56 | return !! (etagMatches && notModified); 57 | } 58 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/http-errors/HISTORY.md: -------------------------------------------------------------------------------- 1 | 2015-02-02 / 1.3.1 2 | ================== 3 | 4 | * Fix regression where status can be overwritten in `createError` `props` 5 | 6 | 2015-02-01 / 1.3.0 7 | ================== 8 | 9 | * Construct errors using defined constructors from `createError` 10 | * Fix error names that are not identifiers 11 | - `createError["I'mateapot"]` is now `createError.ImATeapot` 12 | * Set a meaningful `name` property on constructed errors 13 | 14 | 2014-12-09 / 1.2.8 15 | ================== 16 | 17 | * Fix stack trace from exported function 18 | * Remove `arguments.callee` usage 19 | 20 | 2014-10-14 / 1.2.7 21 | ================== 22 | 23 | * Remove duplicate line 24 | 25 | 2014-10-02 / 1.2.6 26 | ================== 27 | 28 | * Fix `expose` to be `true` for `ClientError` constructor 29 | 30 | 2014-09-28 / 1.2.5 31 | ================== 32 | 33 | * deps: statuses@1 34 | 35 | 2014-09-21 / 1.2.4 36 | ================== 37 | 38 | * Fix dependency version to work with old `npm`s 39 | 40 | 2014-09-21 / 1.2.3 41 | ================== 42 | 43 | * deps: statuses@~1.1.0 44 | 45 | 2014-09-21 / 1.2.2 46 | ================== 47 | 48 | * Fix publish error 49 | 50 | 2014-09-21 / 1.2.1 51 | ================== 52 | 53 | * Support Node.js 0.6 54 | * Use `inherits` instead of `util` 55 | 56 | 2014-09-09 / 1.2.0 57 | ================== 58 | 59 | * Fix the way inheriting functions 60 | * Support `expose` being provided in properties argument 61 | 62 | 2014-09-08 / 1.1.0 63 | ================== 64 | 65 | * Default status to 500 66 | * Support provided `error` to extend 67 | 68 | 2014-09-08 / 1.0.1 69 | ================== 70 | 71 | * Fix accepting string message 72 | 73 | 2014-09-08 / 1.0.0 74 | ================== 75 | 76 | * Initial release 77 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/http-errors/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/http-errors/README.md: -------------------------------------------------------------------------------- 1 | # http-errors 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-version-image]][node-version-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | Create HTTP errors for Express, Koa, Connect, etc. with ease. 10 | 11 | ## Example 12 | 13 | ```js 14 | var createError = require('http-errors'); 15 | 16 | app.use(function (req, res, next) { 17 | if (!req.user) return next(createError(401, 'Please login to view this page.')); 18 | next(); 19 | }) 20 | ``` 21 | 22 | ## API 23 | 24 | This is the current API, currently extracted from Koa and subject to change. 25 | 26 | ### Error Properties 27 | 28 | - `message` 29 | - `status` and `statusCode` - the status code of the error, defaulting to `500` 30 | 31 | ### createError([status], [message], [properties]) 32 | 33 | ```js 34 | var err = createError(404, 'This video does not exist!'); 35 | ``` 36 | 37 | - `status: 500` - the status code as a number 38 | - `message` - the message of the error, defaulting to node's text for that status code. 39 | - `properties` - custom properties to attach to the object 40 | 41 | ### new createError\[code || name\](\[msg]\)) 42 | 43 | ```js 44 | var err = new createError.NotFound(); 45 | ``` 46 | 47 | - `code` - the status code as a number 48 | - `name` - the name of the error as a "bumpy case", i.e. `NotFound` or `InternalServerError`. 49 | 50 | ## License 51 | 52 | [MIT](LICENSE) 53 | 54 | [npm-image]: https://img.shields.io/npm/v/http-errors.svg?style=flat 55 | [npm-url]: https://npmjs.org/package/http-errors 56 | [node-version-image]: https://img.shields.io/node/v/http-errors.svg?style=flat 57 | [node-version-url]: http://nodejs.org/download/ 58 | [travis-image]: https://img.shields.io/travis/jshttp/http-errors.svg?style=flat 59 | [travis-url]: https://travis-ci.org/jshttp/http-errors 60 | [coveralls-image]: https://img.shields.io/coveralls/jshttp/http-errors.svg?style=flat 61 | [coveralls-url]: https://coveralls.io/r/jshttp/http-errors 62 | [downloads-image]: https://img.shields.io/npm/dm/http-errors.svg?style=flat 63 | [downloads-url]: https://npmjs.org/package/http-errors 64 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/inherits/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | 17 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/inherits/README.md: -------------------------------------------------------------------------------- 1 | Browser-friendly inheritance fully compatible with standard node.js 2 | [inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor). 3 | 4 | This package exports standard `inherits` from node.js `util` module in 5 | node environment, but also provides alternative browser-friendly 6 | implementation through [browser 7 | field](https://gist.github.com/shtylman/4339901). Alternative 8 | implementation is a literal copy of standard one located in standalone 9 | module to avoid requiring of `util`. It also has a shim for old 10 | browsers with no `Object.create` support. 11 | 12 | While keeping you sure you are using standard `inherits` 13 | implementation in node.js environment, it allows bundlers such as 14 | [browserify](https://github.com/substack/node-browserify) to not 15 | include full `util` package to your client code if all you need is 16 | just `inherits` function. It worth, because browser shim for `util` 17 | package is large and `inherits` is often the single function you need 18 | from it. 19 | 20 | It's recommended to use this package instead of 21 | `require('util').inherits` for any code that has chances to be used 22 | not only in node.js but in browser too. 23 | 24 | ## usage 25 | 26 | ```js 27 | var inherits = require('inherits'); 28 | // then use exactly as the standard one 29 | ``` 30 | 31 | ## note on version ~1.0 32 | 33 | Version ~1.0 had completely different motivation and is not compatible 34 | neither with 2.0 nor with standard node.js `inherits`. 35 | 36 | If you are using version ~1.0 and planning to switch to ~2.0, be 37 | careful: 38 | 39 | * new version uses `super_` instead of `super` for referencing 40 | superclass 41 | * new version overwrites current prototype while old one preserves any 42 | existing fields on it 43 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | module.exports = require('util').inherits 2 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/inherits/inherits_browser.js: -------------------------------------------------------------------------------- 1 | if (typeof Object.create === 'function') { 2 | // implementation from standard node.js 'util' module 3 | module.exports = function inherits(ctor, superCtor) { 4 | ctor.super_ = superCtor 5 | ctor.prototype = Object.create(superCtor.prototype, { 6 | constructor: { 7 | value: ctor, 8 | enumerable: false, 9 | writable: true, 10 | configurable: true 11 | } 12 | }); 13 | }; 14 | } else { 15 | // old school shim for old browsers 16 | module.exports = function inherits(ctor, superCtor) { 17 | ctor.super_ = superCtor 18 | var TempCtor = function () {} 19 | TempCtor.prototype = superCtor.prototype 20 | ctor.prototype = new TempCtor() 21 | ctor.prototype.constructor = ctor 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/inherits/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "inherits@~2.0.1", 5 | "C:\\Users\\J304336\\Downloads\\NodeJSPortable\\Data\\myapp\\node_modules\\http-errors" 6 | ] 7 | ], 8 | "_from": "inherits@>=2.0.1 <2.1.0", 9 | "_id": "inherits@2.0.1", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/inherits", 13 | "_npmUser": { 14 | "email": "i@izs.me", 15 | "name": "isaacs" 16 | }, 17 | "_npmVersion": "1.3.8", 18 | "_phantomChildren": {}, 19 | "_requested": { 20 | "name": "inherits", 21 | "raw": "inherits@~2.0.1", 22 | "rawSpec": "~2.0.1", 23 | "scope": null, 24 | "spec": ">=2.0.1 <2.1.0", 25 | "type": "range" 26 | }, 27 | "_requiredBy": [ 28 | "/http-errors" 29 | ], 30 | "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", 31 | "_shasum": "b17d08d326b4423e568eff719f91b0b1cbdf69f1", 32 | "_shrinkwrap": null, 33 | "_spec": "inherits@~2.0.1", 34 | "_where": "C:\\Users\\J304336\\Downloads\\NodeJSPortable\\Data\\myapp\\node_modules\\http-errors", 35 | "browser": "./inherits_browser.js", 36 | "bugs": { 37 | "url": "https://github.com/isaacs/inherits/issues" 38 | }, 39 | "dependencies": {}, 40 | "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", 41 | "devDependencies": {}, 42 | "directories": {}, 43 | "dist": { 44 | "shasum": "b17d08d326b4423e568eff719f91b0b1cbdf69f1", 45 | "tarball": "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" 46 | }, 47 | "homepage": "https://github.com/isaacs/inherits#readme", 48 | "keywords": [ 49 | "browser", 50 | "browserify", 51 | "class", 52 | "inheritance", 53 | "inherits", 54 | "klass", 55 | "object-oriented", 56 | "oop" 57 | ], 58 | "license": "ISC", 59 | "main": "./inherits.js", 60 | "maintainers": [ 61 | { 62 | "name": "isaacs", 63 | "email": "i@izs.me" 64 | } 65 | ], 66 | "name": "inherits", 67 | "optionalDependencies": {}, 68 | "readme": "ERROR: No README data found!", 69 | "repository": { 70 | "type": "git", 71 | "url": "git://github.com/isaacs/inherits.git" 72 | }, 73 | "scripts": { 74 | "test": "node test" 75 | }, 76 | "version": "2.0.1" 77 | } 78 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/inherits/test.js: -------------------------------------------------------------------------------- 1 | var inherits = require('./inherits.js') 2 | var assert = require('assert') 3 | 4 | function test(c) { 5 | assert(c.constructor === Child) 6 | assert(c.constructor.super_ === Parent) 7 | assert(Object.getPrototypeOf(c) === Child.prototype) 8 | assert(Object.getPrototypeOf(Object.getPrototypeOf(c)) === Parent.prototype) 9 | assert(c instanceof Child) 10 | assert(c instanceof Parent) 11 | } 12 | 13 | function Child() { 14 | Parent.call(this) 15 | test(this) 16 | } 17 | 18 | function Parent() {} 19 | 20 | inherits(Child, Parent) 21 | 22 | var c = new Child 23 | test(c) 24 | 25 | console.log('ok') 26 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/ipaddr.js/.npmignore: -------------------------------------------------------------------------------- 1 | .idea 2 | node_modules 3 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/ipaddr.js/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - "0.10" 5 | - "0.11" 6 | - "0.12" 7 | - "4.0" 8 | - "4.1" 9 | - "4.2" 10 | - "5" 11 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/ipaddr.js/Cakefile: -------------------------------------------------------------------------------- 1 | fs = require 'fs' 2 | CoffeeScript = require 'coffee-script' 3 | nodeunit = require 'nodeunit' 4 | UglifyJS = require 'uglify-js' 5 | 6 | task 'build', 'build the JavaScript files from CoffeeScript source', build = (cb) -> 7 | source = fs.readFileSync 'src/ipaddr.coffee' 8 | fs.writeFileSync 'lib/ipaddr.js', CoffeeScript.compile source.toString() 9 | 10 | invoke 'test' 11 | invoke 'compress' 12 | 13 | task 'test', 'run the bundled tests', (cb) -> 14 | nodeunit.reporters.default.run ['test'] 15 | 16 | task 'compress', 'uglify the resulting javascript', (cb) -> 17 | result = UglifyJS.minify('lib/ipaddr.js') 18 | fs.writeFileSync('ipaddr.min.js', result.code) 19 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/ipaddr.js/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2011 Peter Zotov 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/ipaddr.js/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ipaddr.js", 3 | "version": "1.0.5", 4 | "homepage": "https://github.com/whitequark/ipaddr.js", 5 | "authors": [ 6 | "whitequark " 7 | ], 8 | "description": "IP address manipulation library in JavaScript (CoffeeScript, actually)", 9 | "main": "lib/ipaddr.js", 10 | "moduleType": [ 11 | "globals", 12 | "node" 13 | ], 14 | "keywords": [ 15 | "javscript", 16 | "ip", 17 | "address", 18 | "ipv4", 19 | "ipv6" 20 | ], 21 | "license": "MIT", 22 | "ignore": [ 23 | "**/.*", 24 | "node_modules", 25 | "bower_components", 26 | "test", 27 | "tests" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/media-typer/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.3.0 / 2014-09-07 2 | ================== 3 | 4 | * Support Node.js 0.6 5 | * Throw error when parameter format invalid on parse 6 | 7 | 0.2.0 / 2014-06-18 8 | ================== 9 | 10 | * Add `typer.format()` to format media types 11 | 12 | 0.1.0 / 2014-06-17 13 | ================== 14 | 15 | * Accept `req` as argument to `parse` 16 | * Accept `res` as argument to `parse` 17 | * Parse media type with extra LWS between type and first parameter 18 | 19 | 0.0.0 / 2014-06-13 20 | ================== 21 | 22 | * Initial implementation 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/media-typer/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/merge-descriptors/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013 Jonathan Ong 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/merge-descriptors/README.md: -------------------------------------------------------------------------------- 1 | # Merge Descriptors 2 | 3 | Merge objects using descriptors. 4 | 5 | ```js 6 | var thing = { 7 | get name() { 8 | return 'jon' 9 | } 10 | } 11 | 12 | var animal = { 13 | 14 | } 15 | 16 | merge(animal, thing) 17 | 18 | animal.name === 'jon' 19 | ``` 20 | 21 | ## API 22 | 23 | ### merge(destination, source) 24 | 25 | Redefines `destination`'s descriptors with `source`'s. 26 | 27 | ### merge(destination, source, false) 28 | 29 | Defines `source`'s descriptors on `destination` if `destination` does not have 30 | a descriptor by the same name. 31 | 32 | ## License 33 | 34 | [MIT](LICENSE) 35 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/merge-descriptors/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * merge-descriptors 3 | * Copyright(c) 2014 Jonathan Ong 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | * @public 10 | */ 11 | 12 | module.exports = merge 13 | 14 | /** 15 | * Module variables. 16 | * @private 17 | */ 18 | 19 | var hasOwnProperty = Object.prototype.hasOwnProperty 20 | 21 | /** 22 | * Merge the property descriptors of `src` into `dest` 23 | * 24 | * @param {object} dest Object to add descriptors to 25 | * @param {object} src Object to clone descriptors from 26 | * @param {boolean} [redefine=true] Redefine `dest` properties with `src` properties 27 | * @returns {object} Reference to dest 28 | * @public 29 | */ 30 | 31 | function merge(dest, src, redefine) { 32 | if (!dest) { 33 | throw new TypeError('argument dest is required') 34 | } 35 | 36 | if (!src) { 37 | throw new TypeError('argument src is required') 38 | } 39 | 40 | if (redefine === undefined) { 41 | // Default to true 42 | redefine = true 43 | } 44 | 45 | Object.getOwnPropertyNames(src).forEach(function forEachOwnPropertyName(name) { 46 | if (!redefine && hasOwnProperty.call(dest, name)) { 47 | // Skip desriptor 48 | return 49 | } 50 | 51 | // Copy descriptor 52 | var descriptor = Object.getOwnPropertyDescriptor(src, name) 53 | Object.defineProperty(dest, name, descriptor) 54 | }) 55 | 56 | return dest 57 | } 58 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/methods/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.1.1 / 2014-12-30 2 | ================== 3 | 4 | * Improve `browserify` support 5 | 6 | 1.1.0 / 2014-07-05 7 | ================== 8 | 9 | * Add `CONNECT` method 10 | 11 | 1.0.1 / 2014-06-02 12 | ================== 13 | 14 | * Fix module to work with harmony transform 15 | 16 | 1.0.0 / 2014-05-08 17 | ================== 18 | 19 | * Add `PURGE` method 20 | 21 | 0.1.0 / 2013-10-28 22 | ================== 23 | 24 | * Add `http.METHODS` support 25 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/methods/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013-2014 TJ Holowaychuk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/methods/README.md: -------------------------------------------------------------------------------- 1 | # Methods 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-version-image]][node-version-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | HTTP verbs that node core's parser supports. 10 | 11 | 12 | ## Install 13 | 14 | ```bash 15 | $ npm install methods 16 | ``` 17 | 18 | ## API 19 | 20 | ```js 21 | var methods = require('methods') 22 | ``` 23 | 24 | ### methods 25 | 26 | This is an array of lower-case method names that Node.js supports. 27 | 28 | ## License 29 | 30 | [MIT](LICENSE) 31 | 32 | [npm-image]: https://img.shields.io/npm/v/methods.svg?style=flat 33 | [npm-url]: https://npmjs.org/package/methods 34 | [node-version-image]: https://img.shields.io/node/v/methods.svg?style=flat 35 | [node-version-url]: http://nodejs.org/download/ 36 | [travis-image]: https://img.shields.io/travis/jshttp/methods.svg?style=flat 37 | [travis-url]: https://travis-ci.org/jshttp/methods 38 | [coveralls-image]: https://img.shields.io/coveralls/jshttp/methods.svg?style=flat 39 | [coveralls-url]: https://coveralls.io/r/jshttp/methods?branch=master 40 | [downloads-image]: https://img.shields.io/npm/dm/methods.svg?style=flat 41 | [downloads-url]: https://npmjs.org/package/methods 42 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/methods/index.js: -------------------------------------------------------------------------------- 1 | 2 | var http = require('http'); 3 | 4 | /* istanbul ignore next: implementation differs on version */ 5 | if (http.METHODS) { 6 | 7 | module.exports = http.METHODS.map(function(method){ 8 | return method.toLowerCase(); 9 | }); 10 | 11 | } else { 12 | 13 | module.exports = [ 14 | 'get', 15 | 'post', 16 | 'put', 17 | 'head', 18 | 'delete', 19 | 'options', 20 | 'trace', 21 | 'copy', 22 | 'lock', 23 | 'mkcol', 24 | 'move', 25 | 'purge', 26 | 'propfind', 27 | 'proppatch', 28 | 'unlock', 29 | 'report', 30 | 'mkactivity', 31 | 'checkout', 32 | 'merge', 33 | 'm-search', 34 | 'notify', 35 | 'subscribe', 36 | 'unsubscribe', 37 | 'patch', 38 | 'search', 39 | 'connect' 40 | ]; 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/mime-db/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/mime-db/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * mime-db 3 | * Copyright(c) 2014 Jonathan Ong 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | */ 10 | 11 | module.exports = require('./db.json') 12 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/mime-types/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/mime/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Skhmt/koalabot/b3dc0c5bf7e803c2c7eab5ee08105cc6efeb5286/src/node_modules/express/node_modules/mime/.npmignore -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/mime/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 Benjamin Thomas, Robert Kieffer 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/mime/build/build.js: -------------------------------------------------------------------------------- 1 | var db = require('mime-db'); 2 | 3 | var mapByType = {}; 4 | Object.keys(db).forEach(function(key) { 5 | var extensions = db[key].extensions; 6 | if (extensions) { 7 | mapByType[key] = extensions; 8 | } 9 | }); 10 | 11 | console.log(JSON.stringify(mapByType)); 12 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/mime/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var mime = require('./mime.js'); 4 | var file = process.argv[2]; 5 | var type = mime.lookup(file); 6 | 7 | process.stdout.write(type + '\n'); 8 | 9 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/ms/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test 3 | History.md 4 | Makefile 5 | component.json 6 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/ms/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.7.1 / 2015-04-20 3 | ================== 4 | 5 | * prevent extraordinary long inputs (@evilpacket) 6 | * Fixed broken readme link 7 | 8 | 0.7.0 / 2014-11-24 9 | ================== 10 | 11 | * add time abbreviations, updated tests and readme for the new units 12 | * fix example in the readme. 13 | * add LICENSE file 14 | 15 | 0.6.2 / 2013-12-05 16 | ================== 17 | 18 | * Adding repository section to package.json to suppress warning from NPM. 19 | 20 | 0.6.1 / 2013-05-10 21 | ================== 22 | 23 | * fix singularization [visionmedia] 24 | 25 | 0.6.0 / 2013-03-15 26 | ================== 27 | 28 | * fix minutes 29 | 30 | 0.5.1 / 2013-02-24 31 | ================== 32 | 33 | * add component namespace 34 | 35 | 0.5.0 / 2012-11-09 36 | ================== 37 | 38 | * add short formatting as default and .long option 39 | * add .license property to component.json 40 | * add version to component.json 41 | 42 | 0.4.0 / 2012-10-22 43 | ================== 44 | 45 | * add rounding to fix crazy decimals 46 | 47 | 0.3.0 / 2012-09-07 48 | ================== 49 | 50 | * fix `ms()` [visionmedia] 51 | 52 | 0.2.0 / 2012-09-03 53 | ================== 54 | 55 | * add component.json [visionmedia] 56 | * add days support [visionmedia] 57 | * add hours support [visionmedia] 58 | * add minutes support [visionmedia] 59 | * add seconds support [visionmedia] 60 | * add ms string support [visionmedia] 61 | * refactor tests to facilitate ms(number) [visionmedia] 62 | 63 | 0.1.0 / 2012-03-07 64 | ================== 65 | 66 | * Initial release 67 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/ms/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Guillermo Rauch 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/ms/README.md: -------------------------------------------------------------------------------- 1 | # ms.js: miliseconds conversion utility 2 | 3 | ```js 4 | ms('2 days') // 172800000 5 | ms('1d') // 86400000 6 | ms('10h') // 36000000 7 | ms('2.5 hrs') // 9000000 8 | ms('2h') // 7200000 9 | ms('1m') // 60000 10 | ms('5s') // 5000 11 | ms('100') // 100 12 | ``` 13 | 14 | ```js 15 | ms(60000) // "1m" 16 | ms(2 * 60000) // "2m" 17 | ms(ms('10 hours')) // "10h" 18 | ``` 19 | 20 | ```js 21 | ms(60000, { long: true }) // "1 minute" 22 | ms(2 * 60000, { long: true }) // "2 minutes" 23 | ms(ms('10 hours'), { long: true }) // "10 hours" 24 | ``` 25 | 26 | - Node/Browser compatible. Published as [`ms`](https://www.npmjs.org/package/ms) in [NPM](http://nodejs.org/download). 27 | - If a number is supplied to `ms`, a string with a unit is returned. 28 | - If a string that contains the number is supplied, it returns it as 29 | a number (e.g: it returns `100` for `'100'`). 30 | - If you pass a string with a number and a valid unit, the number of 31 | equivalent ms is returned. 32 | 33 | ## License 34 | 35 | MIT 36 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/ms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_args": [ 3 | [ 4 | "ms@0.7.1", 5 | "C:\\Users\\J304336\\Downloads\\NodeJSPortable\\Data\\myapp\\node_modules\\debug" 6 | ] 7 | ], 8 | "_from": "ms@0.7.1", 9 | "_id": "ms@0.7.1", 10 | "_inCache": true, 11 | "_installable": true, 12 | "_location": "/ms", 13 | "_nodeVersion": "0.12.2", 14 | "_npmUser": { 15 | "email": "rauchg@gmail.com", 16 | "name": "rauchg" 17 | }, 18 | "_npmVersion": "2.7.5", 19 | "_phantomChildren": {}, 20 | "_requested": { 21 | "name": "ms", 22 | "raw": "ms@0.7.1", 23 | "rawSpec": "0.7.1", 24 | "scope": null, 25 | "spec": "0.7.1", 26 | "type": "version" 27 | }, 28 | "_requiredBy": [ 29 | "/debug", 30 | "/send" 31 | ], 32 | "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", 33 | "_shasum": "9cd13c03adbff25b65effde7ce864ee952017098", 34 | "_shrinkwrap": null, 35 | "_spec": "ms@0.7.1", 36 | "_where": "C:\\Users\\J304336\\Downloads\\NodeJSPortable\\Data\\myapp\\node_modules\\debug", 37 | "bugs": { 38 | "url": "https://github.com/guille/ms.js/issues" 39 | }, 40 | "component": { 41 | "scripts": { 42 | "ms/index.js": "index.js" 43 | } 44 | }, 45 | "dependencies": {}, 46 | "description": "Tiny ms conversion utility", 47 | "devDependencies": { 48 | "expect.js": "*", 49 | "mocha": "*", 50 | "serve": "*" 51 | }, 52 | "directories": {}, 53 | "dist": { 54 | "shasum": "9cd13c03adbff25b65effde7ce864ee952017098", 55 | "tarball": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz" 56 | }, 57 | "gitHead": "713dcf26d9e6fd9dbc95affe7eff9783b7f1b909", 58 | "homepage": "https://github.com/guille/ms.js", 59 | "main": "./index", 60 | "maintainers": [ 61 | { 62 | "name": "rauchg", 63 | "email": "rauchg@gmail.com" 64 | } 65 | ], 66 | "name": "ms", 67 | "optionalDependencies": {}, 68 | "readme": "ERROR: No README data found!", 69 | "repository": { 70 | "type": "git", 71 | "url": "git://github.com/guille/ms.js.git" 72 | }, 73 | "scripts": {}, 74 | "version": "0.7.1" 75 | } 76 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/negotiator/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.5.3 / 2015-05-10 2 | ================== 3 | 4 | * Fix media type parameter matching to be case-insensitive 5 | 6 | 0.5.2 / 2015-05-06 7 | ================== 8 | 9 | * Fix comparing media types with quoted values 10 | * Fix splitting media types with quoted commas 11 | 12 | 0.5.1 / 2015-02-14 13 | ================== 14 | 15 | * Fix preference sorting to be stable for long acceptable lists 16 | 17 | 0.5.0 / 2014-12-18 18 | ================== 19 | 20 | * Fix list return order when large accepted list 21 | * Fix missing identity encoding when q=0 exists 22 | * Remove dynamic building of Negotiator class 23 | 24 | 0.4.9 / 2014-10-14 25 | ================== 26 | 27 | * Fix error when media type has invalid parameter 28 | 29 | 0.4.8 / 2014-09-28 30 | ================== 31 | 32 | * Fix all negotiations to be case-insensitive 33 | * Stable sort preferences of same quality according to client order 34 | * Support Node.js 0.6 35 | 36 | 0.4.7 / 2014-06-24 37 | ================== 38 | 39 | * Handle invalid provided languages 40 | * Handle invalid provided media types 41 | 42 | 0.4.6 / 2014-06-11 43 | ================== 44 | 45 | * Order by specificity when quality is the same 46 | 47 | 0.4.5 / 2014-05-29 48 | ================== 49 | 50 | * Fix regression in empty header handling 51 | 52 | 0.4.4 / 2014-05-29 53 | ================== 54 | 55 | * Fix behaviors when headers are not present 56 | 57 | 0.4.3 / 2014-04-16 58 | ================== 59 | 60 | * Handle slashes on media params correctly 61 | 62 | 0.4.2 / 2014-02-28 63 | ================== 64 | 65 | * Fix media type sorting 66 | * Handle media types params strictly 67 | 68 | 0.4.1 / 2014-01-16 69 | ================== 70 | 71 | * Use most specific matches 72 | 73 | 0.4.0 / 2014-01-09 74 | ================== 75 | 76 | * Remove preferred prefix from methods 77 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/negotiator/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 Federico Romero 4 | Copyright (c) 2012-2014 Isaac Z. Schlueter 5 | Copyright (c) 2014-2015 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/negotiator/index.js: -------------------------------------------------------------------------------- 1 | 2 | var preferredCharsets = require('./lib/charset'); 3 | var preferredEncodings = require('./lib/encoding'); 4 | var preferredLanguages = require('./lib/language'); 5 | var preferredMediaTypes = require('./lib/mediaType'); 6 | 7 | module.exports = Negotiator; 8 | Negotiator.Negotiator = Negotiator; 9 | 10 | function Negotiator(request) { 11 | if (!(this instanceof Negotiator)) { 12 | return new Negotiator(request); 13 | } 14 | 15 | this.request = request; 16 | } 17 | 18 | Negotiator.prototype.charset = function charset(available) { 19 | var set = this.charsets(available); 20 | return set && set[0]; 21 | }; 22 | 23 | Negotiator.prototype.charsets = function charsets(available) { 24 | return preferredCharsets(this.request.headers['accept-charset'], available); 25 | }; 26 | 27 | Negotiator.prototype.encoding = function encoding(available) { 28 | var set = this.encodings(available); 29 | return set && set[0]; 30 | }; 31 | 32 | Negotiator.prototype.encodings = function encodings(available) { 33 | return preferredEncodings(this.request.headers['accept-encoding'], available); 34 | }; 35 | 36 | Negotiator.prototype.language = function language(available) { 37 | var set = this.languages(available); 38 | return set && set[0]; 39 | }; 40 | 41 | Negotiator.prototype.languages = function languages(available) { 42 | return preferredLanguages(this.request.headers['accept-language'], available); 43 | }; 44 | 45 | Negotiator.prototype.mediaType = function mediaType(available) { 46 | var set = this.mediaTypes(available); 47 | return set && set[0]; 48 | }; 49 | 50 | Negotiator.prototype.mediaTypes = function mediaTypes(available) { 51 | return preferredMediaTypes(this.request.headers.accept, available); 52 | }; 53 | 54 | // Backwards compatibility 55 | Negotiator.prototype.preferredCharset = Negotiator.prototype.charset; 56 | Negotiator.prototype.preferredCharsets = Negotiator.prototype.charsets; 57 | Negotiator.prototype.preferredEncoding = Negotiator.prototype.encoding; 58 | Negotiator.prototype.preferredEncodings = Negotiator.prototype.encodings; 59 | Negotiator.prototype.preferredLanguage = Negotiator.prototype.language; 60 | Negotiator.prototype.preferredLanguages = Negotiator.prototype.languages; 61 | Negotiator.prototype.preferredMediaType = Negotiator.prototype.mediaType; 62 | Negotiator.prototype.preferredMediaTypes = Negotiator.prototype.mediaTypes; 63 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/on-finished/HISTORY.md: -------------------------------------------------------------------------------- 1 | 2.3.0 / 2015-05-26 2 | ================== 3 | 4 | * Add defined behavior for HTTP `CONNECT` requests 5 | * Add defined behavior for HTTP `Upgrade` requests 6 | * deps: ee-first@1.1.1 7 | 8 | 2.2.1 / 2015-04-22 9 | ================== 10 | 11 | * Fix `isFinished(req)` when data buffered 12 | 13 | 2.2.0 / 2014-12-22 14 | ================== 15 | 16 | * Add message object to callback arguments 17 | 18 | 2.1.1 / 2014-10-22 19 | ================== 20 | 21 | * Fix handling of pipelined requests 22 | 23 | 2.1.0 / 2014-08-16 24 | ================== 25 | 26 | * Check if `socket` is detached 27 | * Return `undefined` for `isFinished` if state unknown 28 | 29 | 2.0.0 / 2014-08-16 30 | ================== 31 | 32 | * Add `isFinished` function 33 | * Move to `jshttp` organization 34 | * Remove support for plain socket argument 35 | * Rename to `on-finished` 36 | * Support both `req` and `res` as arguments 37 | * deps: ee-first@1.0.5 38 | 39 | 1.2.2 / 2014-06-10 40 | ================== 41 | 42 | * Reduce listeners added to emitters 43 | - avoids "event emitter leak" warnings when used multiple times on same request 44 | 45 | 1.2.1 / 2014-06-08 46 | ================== 47 | 48 | * Fix returned value when already finished 49 | 50 | 1.2.0 / 2014-06-05 51 | ================== 52 | 53 | * Call callback when called on already-finished socket 54 | 55 | 1.1.4 / 2014-05-27 56 | ================== 57 | 58 | * Support node.js 0.8 59 | 60 | 1.1.3 / 2014-04-30 61 | ================== 62 | 63 | * Make sure errors passed as instanceof `Error` 64 | 65 | 1.1.2 / 2014-04-18 66 | ================== 67 | 68 | * Default the `socket` to passed-in object 69 | 70 | 1.1.1 / 2014-01-16 71 | ================== 72 | 73 | * Rename module to `finished` 74 | 75 | 1.1.0 / 2013-12-25 76 | ================== 77 | 78 | * Call callback when called on already-errored socket 79 | 80 | 1.0.1 / 2013-12-20 81 | ================== 82 | 83 | * Actually pass the error to the callback 84 | 85 | 1.0.0 / 2013-12-20 86 | ================== 87 | 88 | * Initial release 89 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/on-finished/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013 Jonathan Ong 4 | Copyright (c) 2014 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/parseurl/.npmignore: -------------------------------------------------------------------------------- 1 | benchmark/ 2 | coverage/ 3 | test/ 4 | .travis.yml 5 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/parseurl/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.3.0 / 2014-08-09 2 | ================== 3 | 4 | * Add `parseurl.original` for parsing `req.originalUrl` with fallback 5 | * Return `undefined` if `req.url` is `undefined` 6 | 7 | 1.2.0 / 2014-07-21 8 | ================== 9 | 10 | * Cache URLs based on original value 11 | * Remove no-longer-needed URL mis-parse work-around 12 | * Simplify the "fast-path" `RegExp` 13 | 14 | 1.1.3 / 2014-07-08 15 | ================== 16 | 17 | * Fix typo 18 | 19 | 1.1.2 / 2014-07-08 20 | ================== 21 | 22 | * Seriously fix Node.js 0.8 compatibility 23 | 24 | 1.1.1 / 2014-07-08 25 | ================== 26 | 27 | * Fix Node.js 0.8 compatibility 28 | 29 | 1.1.0 / 2014-07-08 30 | ================== 31 | 32 | * Incorporate URL href-only parse fast-path 33 | 34 | 1.0.1 / 2014-03-08 35 | ================== 36 | 37 | * Add missing `require` 38 | 39 | 1.0.0 / 2014-03-08 40 | ================== 41 | 42 | * Genesis from `connect` 43 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/parseurl/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | (The MIT License) 3 | 4 | Copyright (c) 2014 Jonathan Ong 5 | Copyright (c) 2014 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/path-to-regexp/History.md: -------------------------------------------------------------------------------- 1 | 0.1.7 / 2015-07-28 2 | ================== 3 | 4 | * Fixed regression with escaped round brackets and matching groups. 5 | 6 | 0.1.6 / 2015-06-19 7 | ================== 8 | 9 | * Replace `index` feature by outputting all parameters, unnamed and named. 10 | 11 | 0.1.5 / 2015-05-08 12 | ================== 13 | 14 | * Add an index property for position in match result. 15 | 16 | 0.1.4 / 2015-03-05 17 | ================== 18 | 19 | * Add license information 20 | 21 | 0.1.3 / 2014-07-06 22 | ================== 23 | 24 | * Better array support 25 | * Improved support for trailing slash in non-ending mode 26 | 27 | 0.1.0 / 2014-03-06 28 | ================== 29 | 30 | * add options.end 31 | 32 | 0.0.2 / 2013-02-10 33 | ================== 34 | 35 | * Update to match current express 36 | * add .license property to component.json 37 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/path-to-regexp/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/path-to-regexp/Readme.md: -------------------------------------------------------------------------------- 1 | # Path-to-RegExp 2 | 3 | Turn an Express-style path string such as `/user/:name` into a regular expression. 4 | 5 | **Note:** This is a legacy branch. You should upgrade to `1.x`. 6 | 7 | ## Usage 8 | 9 | ```javascript 10 | var pathToRegexp = require('path-to-regexp'); 11 | ``` 12 | 13 | ### pathToRegexp(path, keys, options) 14 | 15 | - **path** A string in the express format, an array of such strings, or a regular expression 16 | - **keys** An array to be populated with the keys present in the url. Once the function completes, this will be an array of strings. 17 | - **options** 18 | - **options.sensitive** Defaults to false, set this to true to make routes case sensitive 19 | - **options.strict** Defaults to false, set this to true to make the trailing slash matter. 20 | - **options.end** Defaults to true, set this to false to only match the prefix of the URL. 21 | 22 | ```javascript 23 | var keys = []; 24 | var exp = pathToRegexp('/foo/:bar', keys); 25 | //keys = ['bar'] 26 | //exp = /^\/foo\/(?:([^\/]+?))\/?$/i 27 | ``` 28 | 29 | ## Live Demo 30 | 31 | You can see a live demo of this library in use at [express-route-tester](http://forbeslindesay.github.com/express-route-tester/). 32 | 33 | ## License 34 | 35 | MIT 36 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/proxy-addr/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.10 / 2015-12-09 2 | =================== 3 | 4 | * deps: ipaddr.js@1.0.5 5 | - Fix regression in `isValid` with non-string arguments 6 | 7 | 1.0.9 / 2015-12-01 8 | ================== 9 | 10 | * deps: ipaddr.js@1.0.4 11 | - Fix accepting some invalid IPv6 addresses 12 | - Reject CIDRs with negative or overlong masks 13 | * perf: enable strict mode 14 | 15 | 1.0.8 / 2015-05-10 16 | ================== 17 | 18 | * deps: ipaddr.js@1.0.1 19 | 20 | 1.0.7 / 2015-03-16 21 | ================== 22 | 23 | * deps: ipaddr.js@0.1.9 24 | - Fix OOM on certain inputs to `isValid` 25 | 26 | 1.0.6 / 2015-02-01 27 | ================== 28 | 29 | * deps: ipaddr.js@0.1.8 30 | 31 | 1.0.5 / 2015-01-08 32 | ================== 33 | 34 | * deps: ipaddr.js@0.1.6 35 | 36 | 1.0.4 / 2014-11-23 37 | ================== 38 | 39 | * deps: ipaddr.js@0.1.5 40 | - Fix edge cases with `isValid` 41 | 42 | 1.0.3 / 2014-09-21 43 | ================== 44 | 45 | * Use `forwarded` npm module 46 | 47 | 1.0.2 / 2014-09-18 48 | ================== 49 | 50 | * Fix a global leak when multiple subnets are trusted 51 | * Support Node.js 0.6 52 | * deps: ipaddr.js@0.1.3 53 | 54 | 1.0.1 / 2014-06-03 55 | ================== 56 | 57 | * Fix links in npm package 58 | 59 | 1.0.0 / 2014-05-08 60 | ================== 61 | 62 | * Add `trust` argument to determine proxy trust on 63 | * Accepts custom function 64 | * Accepts IPv4/IPv6 address(es) 65 | * Accepts subnets 66 | * Accepts pre-defined names 67 | * Add optional `trust` argument to `proxyaddr.all` to 68 | stop at first untrusted 69 | * Add `proxyaddr.compile` to pre-compile `trust` function 70 | to make subsequent calls faster 71 | 72 | 0.0.1 / 2014-05-04 73 | ================== 74 | 75 | * Fix bad npm publish 76 | 77 | 0.0.0 / 2014-05-04 78 | ================== 79 | 80 | * Initial release 81 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/proxy-addr/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/qs/.eslintignore: -------------------------------------------------------------------------------- 1 | dist 2 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/qs/.npmignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.iml 3 | npm-debug.log 4 | dump.rdb 5 | node_modules 6 | results.tap 7 | results.xml 8 | npm-shrinkwrap.json 9 | config.json 10 | .DS_Store 11 | */.DS_Store 12 | */*/.DS_Store 13 | ._* 14 | */._* 15 | */*/._* 16 | coverage.* 17 | lib-cov 18 | complexity.md 19 | dist 20 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/qs/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - 0.10 5 | - 0.12 6 | - iojs 7 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/qs/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Please view our [hapijs contributing guide](https://github.com/hapijs/hapi/blob/master/CONTRIBUTING.md). 2 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/qs/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Nathan LaFreniere and other contributors. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | * Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | * The names of any contributors may not be used to endorse or promote 12 | products derived from this software without specific prior written 13 | permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | 26 | * * * 27 | 28 | The complete list of contributors can be found at: https://github.com/hapijs/qs/graphs/contributors 29 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/qs/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "qs", 3 | "main": "dist/qs.js", 4 | "version": "3.0.0", 5 | "homepage": "https://github.com/hapijs/qs", 6 | "authors": [ 7 | "Nathan LaFreniere " 8 | ], 9 | "description": "A querystring parser that supports nesting and arrays, with a depth limit", 10 | "keywords": [ 11 | "querystring", 12 | "qs" 13 | ], 14 | "license": "BSD-3-Clause", 15 | "ignore": [ 16 | "**/.*", 17 | "node_modules", 18 | "bower_components", 19 | "test", 20 | "tests" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/qs/lib/index.js: -------------------------------------------------------------------------------- 1 | // Load modules 2 | 3 | var Stringify = require('./stringify'); 4 | var Parse = require('./parse'); 5 | 6 | 7 | // Declare internals 8 | 9 | var internals = {}; 10 | 11 | 12 | module.exports = { 13 | stringify: Stringify, 14 | parse: Parse 15 | }; 16 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/qs/test/utils.js: -------------------------------------------------------------------------------- 1 | // Load modules 2 | 3 | var Code = require('code'); 4 | var Lab = require('lab'); 5 | var Utils = require('../lib/utils'); 6 | 7 | 8 | // Declare internals 9 | 10 | var internals = {}; 11 | 12 | 13 | // Test shortcuts 14 | 15 | var lab = exports.lab = Lab.script(); 16 | var expect = Code.expect; 17 | var describe = lab.experiment; 18 | var it = lab.test; 19 | 20 | 21 | describe('merge()', function () { 22 | 23 | it('can merge two objects with the same key', function (done) { 24 | 25 | expect(Utils.merge({ a: 'b' }, { a: 'c' })).to.deep.equal({ a: ['b', 'c'] }); 26 | done(); 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/range-parser/HISTORY.md: -------------------------------------------------------------------------------- 1 | unreleased 2 | ========== 3 | 4 | * perf: enable strict mode 5 | 6 | 1.0.2 / 2014-09-08 7 | ================== 8 | 9 | * Support Node.js 0.6 10 | 11 | 1.0.1 / 2014-09-07 12 | ================== 13 | 14 | * Move repository to jshttp 15 | 16 | 1.0.0 / 2013-12-11 17 | ================== 18 | 19 | * Add repository to package.json 20 | * Add MIT license 21 | 22 | 0.0.4 / 2012-06-17 23 | ================== 24 | 25 | * Change ret -1 for unsatisfiable and -2 when invalid 26 | 27 | 0.0.3 / 2012-06-17 28 | ================== 29 | 30 | * Fix last-byte-pos default to len - 1 31 | 32 | 0.0.2 / 2012-06-14 33 | ================== 34 | 35 | * Add `.type` 36 | 37 | 0.0.1 / 2012-06-11 38 | ================== 39 | 40 | * Initial release 41 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/range-parser/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 TJ Holowaychuk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/range-parser/README.md: -------------------------------------------------------------------------------- 1 | # range-parser 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-version-image]][node-version-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | Range header field parser. 10 | 11 | ## Installation 12 | 13 | ``` 14 | $ npm install range-parser 15 | ``` 16 | 17 | ## API 18 | 19 | ```js 20 | var parseRange = require('range-parser') 21 | ``` 22 | 23 | ### parseRange(size, header) 24 | 25 | Parse the given `header` string where `size` is the maximum size of the resource. 26 | An array of ranges will be returned or negative numbers indicating an error parsing. 27 | 28 | * `-2` signals a malformed header string 29 | * `-1` signals an invalid range 30 | 31 | ```js 32 | // parse header from request 33 | var range = parseRange(req.headers.range) 34 | 35 | // the type of the range 36 | if (range.type === 'bytes') { 37 | // the ranges 38 | range.forEach(function (r) { 39 | // do something with r.start and r.end 40 | }) 41 | } 42 | ``` 43 | 44 | ## License 45 | 46 | [MIT](LICENSE) 47 | 48 | [npm-image]: https://img.shields.io/npm/v/range-parser.svg 49 | [npm-url]: https://npmjs.org/package/range-parser 50 | [node-version-image]: https://img.shields.io/node/v/range-parser.svg 51 | [node-version-url]: http://nodejs.org/download/ 52 | [travis-image]: https://img.shields.io/travis/jshttp/range-parser.svg 53 | [travis-url]: https://travis-ci.org/jshttp/range-parser 54 | [coveralls-image]: https://img.shields.io/coveralls/jshttp/range-parser.svg 55 | [coveralls-url]: https://coveralls.io/r/jshttp/range-parser 56 | [downloads-image]: https://img.shields.io/npm/dm/range-parser.svg 57 | [downloads-url]: https://npmjs.org/package/range-parser 58 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/range-parser/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * range-parser 3 | * Copyright(c) 2012-2014 TJ Holowaychuk 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict'; 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = rangeParser; 15 | 16 | /** 17 | * Parse "Range" header `str` relative to the given file `size`. 18 | * 19 | * @param {Number} size 20 | * @param {String} str 21 | * @return {Array} 22 | * @public 23 | */ 24 | 25 | function rangeParser(size, str) { 26 | var valid = true; 27 | var i = str.indexOf('='); 28 | 29 | if (-1 == i) return -2; 30 | 31 | var arr = str.slice(i + 1).split(',').map(function(range){ 32 | var range = range.split('-') 33 | , start = parseInt(range[0], 10) 34 | , end = parseInt(range[1], 10); 35 | 36 | // -nnn 37 | if (isNaN(start)) { 38 | start = size - end; 39 | end = size - 1; 40 | // nnn- 41 | } else if (isNaN(end)) { 42 | end = size - 1; 43 | } 44 | 45 | // limit last-byte-pos to current length 46 | if (end > size - 1) end = size - 1; 47 | 48 | // invalid 49 | if (isNaN(start) 50 | || isNaN(end) 51 | || start > end 52 | || start < 0) valid = false; 53 | 54 | return { 55 | start: start, 56 | end: end 57 | }; 58 | }); 59 | 60 | arr.type = str.slice(0, i); 61 | 62 | return valid ? arr : -1; 63 | } 64 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/send/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012 TJ Holowaychuk 4 | Copyright (c) 2014-2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/serve-static/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2010 Sencha Inc. 4 | Copyright (c) 2011 LearnBoost 5 | Copyright (c) 2011 TJ Holowaychuk 6 | Copyright (c) 2014-2015 Douglas Christopher Wilson 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining 9 | a copy of this software and associated documentation files (the 10 | 'Software'), to deal in the Software without restriction, including 11 | without limitation the rights to use, copy, modify, merge, publish, 12 | distribute, sublicense, and/or sell copies of the Software, and to 13 | permit persons to whom the Software is furnished to do so, subject to 14 | the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be 17 | included in all copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 20 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 22 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 23 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 24 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/statuses/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/statuses/codes.json: -------------------------------------------------------------------------------- 1 | { 2 | "100": "Continue", 3 | "101": "Switching Protocols", 4 | "102": "Processing", 5 | "200": "OK", 6 | "201": "Created", 7 | "202": "Accepted", 8 | "203": "Non-Authoritative Information", 9 | "204": "No Content", 10 | "205": "Reset Content", 11 | "206": "Partial Content", 12 | "207": "Multi-Status", 13 | "208": "Already Reported", 14 | "226": "IM Used", 15 | "300": "Multiple Choices", 16 | "301": "Moved Permanently", 17 | "302": "Found", 18 | "303": "See Other", 19 | "304": "Not Modified", 20 | "305": "Use Proxy", 21 | "306": "(Unused)", 22 | "307": "Temporary Redirect", 23 | "308": "Permanent Redirect", 24 | "400": "Bad Request", 25 | "401": "Unauthorized", 26 | "402": "Payment Required", 27 | "403": "Forbidden", 28 | "404": "Not Found", 29 | "405": "Method Not Allowed", 30 | "406": "Not Acceptable", 31 | "407": "Proxy Authentication Required", 32 | "408": "Request Timeout", 33 | "409": "Conflict", 34 | "410": "Gone", 35 | "411": "Length Required", 36 | "412": "Precondition Failed", 37 | "413": "Payload Too Large", 38 | "414": "URI Too Long", 39 | "415": "Unsupported Media Type", 40 | "416": "Range Not Satisfiable", 41 | "417": "Expectation Failed", 42 | "418": "I'm a teapot", 43 | "422": "Unprocessable Entity", 44 | "423": "Locked", 45 | "424": "Failed Dependency", 46 | "425": "Unordered Collection", 47 | "426": "Upgrade Required", 48 | "428": "Precondition Required", 49 | "429": "Too Many Requests", 50 | "431": "Request Header Fields Too Large", 51 | "451": "Unavailable For Legal Reasons", 52 | "500": "Internal Server Error", 53 | "501": "Not Implemented", 54 | "502": "Bad Gateway", 55 | "503": "Service Unavailable", 56 | "504": "Gateway Timeout", 57 | "505": "HTTP Version Not Supported", 58 | "506": "Variant Also Negotiates", 59 | "507": "Insufficient Storage", 60 | "508": "Loop Detected", 61 | "509": "Bandwidth Limit Exceeded", 62 | "510": "Not Extended", 63 | "511": "Network Authentication Required" 64 | } -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/statuses/index.js: -------------------------------------------------------------------------------- 1 | 2 | var codes = require('./codes.json'); 3 | 4 | module.exports = status; 5 | 6 | // [Integer...] 7 | status.codes = Object.keys(codes).map(function (code) { 8 | code = ~~code; 9 | var msg = codes[code]; 10 | status[code] = msg; 11 | status[msg] = status[msg.toLowerCase()] = code; 12 | return code; 13 | }); 14 | 15 | // status codes for redirects 16 | status.redirect = { 17 | 300: true, 18 | 301: true, 19 | 302: true, 20 | 303: true, 21 | 305: true, 22 | 307: true, 23 | 308: true, 24 | }; 25 | 26 | // status codes for empty bodies 27 | status.empty = { 28 | 204: true, 29 | 205: true, 30 | 304: true, 31 | }; 32 | 33 | // status codes for when you should retry the request 34 | status.retry = { 35 | 502: true, 36 | 503: true, 37 | 504: true, 38 | }; 39 | 40 | function status(code) { 41 | if (typeof code === 'number') { 42 | if (!status[code]) throw new Error('invalid status code: ' + code); 43 | return code; 44 | } 45 | 46 | if (typeof code !== 'string') { 47 | throw new TypeError('code must be a number or string'); 48 | } 49 | 50 | // '403' 51 | var n = parseInt(code, 10) 52 | if (!isNaN(n)) { 53 | if (!status[n]) throw new Error('invalid status code: ' + n); 54 | return n; 55 | } 56 | 57 | n = status[code.toLowerCase()]; 58 | if (!n) throw new Error('invalid status message: "' + code + '"'); 59 | return n; 60 | } 61 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/type-is/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2014-2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/unpipe/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.0 / 2015-06-14 2 | ================== 3 | 4 | * Initial release 5 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/unpipe/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2015 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/unpipe/README.md: -------------------------------------------------------------------------------- 1 | # unpipe 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-image]][node-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | Unpipe a stream from all destinations. 10 | 11 | ## Installation 12 | 13 | ```sh 14 | $ npm install unpipe 15 | ``` 16 | 17 | ## API 18 | 19 | ```js 20 | var unpipe = require('unpipe') 21 | ``` 22 | 23 | ### unpipe(stream) 24 | 25 | Unpipes all destinations from a given stream. With stream 2+, this is 26 | equivalent to `stream.unpipe()`. When used with streams 1 style streams 27 | (typically Node.js 0.8 and below), this module attempts to undo the 28 | actions done in `stream.pipe(dest)`. 29 | 30 | ## License 31 | 32 | [MIT](LICENSE) 33 | 34 | [npm-image]: https://img.shields.io/npm/v/unpipe.svg 35 | [npm-url]: https://npmjs.org/package/unpipe 36 | [node-image]: https://img.shields.io/node/v/unpipe.svg 37 | [node-url]: http://nodejs.org/download/ 38 | [travis-image]: https://img.shields.io/travis/stream-utils/unpipe.svg 39 | [travis-url]: https://travis-ci.org/stream-utils/unpipe 40 | [coveralls-image]: https://img.shields.io/coveralls/stream-utils/unpipe.svg 41 | [coveralls-url]: https://coveralls.io/r/stream-utils/unpipe?branch=master 42 | [downloads-image]: https://img.shields.io/npm/dm/unpipe.svg 43 | [downloads-url]: https://npmjs.org/package/unpipe 44 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/unpipe/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * unpipe 3 | * Copyright(c) 2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = unpipe 15 | 16 | /** 17 | * Determine if there are Node.js pipe-like data listeners. 18 | * @private 19 | */ 20 | 21 | function hasPipeDataListeners(stream) { 22 | var listeners = stream.listeners('data') 23 | 24 | for (var i = 0; i < listeners.length; i++) { 25 | if (listeners[i].name === 'ondata') { 26 | return true 27 | } 28 | } 29 | 30 | return false 31 | } 32 | 33 | /** 34 | * Unpipe a stream from all destinations. 35 | * 36 | * @param {object} stream 37 | * @public 38 | */ 39 | 40 | function unpipe(stream) { 41 | if (!stream) { 42 | throw new TypeError('argument stream is required') 43 | } 44 | 45 | if (typeof stream.unpipe === 'function') { 46 | // new-style 47 | stream.unpipe() 48 | return 49 | } 50 | 51 | // Node.js 0.8 hack 52 | if (!hasPipeDataListeners(stream)) { 53 | return 54 | } 55 | 56 | var listener 57 | var listeners = stream.listeners('close') 58 | 59 | for (var i = 0; i < listeners.length; i++) { 60 | listener = listeners[i] 61 | 62 | if (listener.name !== 'cleanup' && listener.name !== 'onclose') { 63 | continue 64 | } 65 | 66 | // invoke the listener 67 | listener.call(stream) 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/utils-merge/.travis.yml: -------------------------------------------------------------------------------- 1 | language: "node_js" 2 | node_js: 3 | - "0.4" 4 | - "0.6" 5 | - "0.8" 6 | - "0.10" 7 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/utils-merge/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013 Jared Hanson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/utils-merge/README.md: -------------------------------------------------------------------------------- 1 | # utils-merge 2 | 3 | Merges the properties from a source object into a destination object. 4 | 5 | ## Install 6 | 7 | $ npm install utils-merge 8 | 9 | ## Usage 10 | 11 | ```javascript 12 | var a = { foo: 'bar' } 13 | , b = { bar: 'baz' }; 14 | 15 | merge(a, b); 16 | // => { foo: 'bar', bar: 'baz' } 17 | ``` 18 | 19 | ## Tests 20 | 21 | $ npm install 22 | $ npm test 23 | 24 | [![Build Status](https://secure.travis-ci.org/jaredhanson/utils-merge.png)](http://travis-ci.org/jaredhanson/utils-merge) 25 | 26 | ## Credits 27 | 28 | - [Jared Hanson](http://github.com/jaredhanson) 29 | 30 | ## License 31 | 32 | [The MIT License](http://opensource.org/licenses/MIT) 33 | 34 | Copyright (c) 2013 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)> 35 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/utils-merge/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Merge object b with object a. 3 | * 4 | * var a = { foo: 'bar' } 5 | * , b = { bar: 'baz' }; 6 | * 7 | * merge(a, b); 8 | * // => { foo: 'bar', bar: 'baz' } 9 | * 10 | * @param {Object} a 11 | * @param {Object} b 12 | * @return {Object} 13 | * @api public 14 | */ 15 | 16 | exports = module.exports = function(a, b){ 17 | if (a && b) { 18 | for (var key in b) { 19 | a[key] = b[key]; 20 | } 21 | } 22 | return a; 23 | }; 24 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/vary/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.1 / 2015-07-08 2 | ================== 3 | 4 | * Fix setting empty header from empty `field` 5 | * perf: enable strict mode 6 | * perf: remove argument reassignments 7 | 8 | 1.0.0 / 2014-08-10 9 | ================== 10 | 11 | * Accept valid `Vary` header string as `field` 12 | * Add `vary.append` for low-level string manipulation 13 | * Move to `jshttp` orgainzation 14 | 15 | 0.1.0 / 2014-06-05 16 | ================== 17 | 18 | * Support array of fields to set 19 | 20 | 0.0.0 / 2014-06-04 21 | ================== 22 | 23 | * Initial release 24 | -------------------------------------------------------------------------------- /src/node_modules/express/node_modules/vary/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2015 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/node_modules/irc/.jscsrc: -------------------------------------------------------------------------------- 1 | { 2 | "validateIndentation": 4, 3 | "disallowMultipleVarDecl": null, 4 | "requireMultipleVarDecl": null, 5 | "requireCamelCaseOrUpperCaseIdentifiers": "ignoreProperties", 6 | "safeContextKeyword": "self" 7 | } 8 | -------------------------------------------------------------------------------- /src/node_modules/irc/.npmignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | node_modules/ 3 | _build/ 4 | .idea/ 5 | -------------------------------------------------------------------------------- /src/node_modules/irc/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - "0.12" 5 | - "iojs" 6 | before_install: 7 | - sudo apt-get -y install libicu-dev 8 | - npm install -g npm 9 | script: 10 | - "npm run-script lint" 11 | - "npm test" 12 | notifications: 13 | irc: "chat.freenode.net##node-irc" 14 | -------------------------------------------------------------------------------- /src/node_modules/irc/CHANGES.md: -------------------------------------------------------------------------------- 1 | # 0.3.8 to 0.3.9 (2015-01-16) 2 | ## Added 3 | * Included notes in the README about icu / iconv 4 | * First draft of contributor doc! 5 | * Log network connection errors 6 | * This changelog 7 | 8 | ## Changed 9 | * Factored out parseMessage for better decoupling 10 | * Turn off autorejoin on kicks 11 | * Factored out test data to fixtures 12 | * Moved to irc-colors for stripping colors 13 | 14 | ## Fixed 15 | * Fixed line split delimiter regex to be more correct and robust 16 | * Fixed issue where self.hostMask may not be set when the client's nick is in use 17 | * Fixed hostmask length calculation--n.b., some ircds don't give the full hostmask 18 | * Style cleanups 19 | * Fixed SSL 20 | 21 | # 0.3.7 to 0.3.8 (2015-01-09) 22 | ## Added 23 | * Added support for binding to a specific local address 24 | * WEBIRC support 25 | 26 | ## Changed 27 | * Various small changes and fixes 28 | 29 | ## Fixed 30 | * Proper line wrapping 31 | * Fixed bold and underline codes 32 | -------------------------------------------------------------------------------- /src/node_modules/irc/docs/index.rst: -------------------------------------------------------------------------------- 1 | Welcome to node-irc's documentation! 2 | ==================================== 3 | 4 | .. include:: ../README.rst 5 | 6 | More detailed docs: 7 | ------------------- 8 | 9 | .. toctree:: 10 | :maxdepth: 2 11 | 12 | API 13 | 14 | -------------------------------------------------------------------------------- /src/node_modules/irc/example/bot.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var irc = require('../'); 4 | 5 | var bot = new irc.Client('irc.dollyfish.net.nz', 'nodebot', { 6 | debug: true, 7 | channels: ['#blah', '#test'] 8 | }); 9 | 10 | bot.addListener('error', function(message) { 11 | console.error('ERROR: %s: %s', message.command, message.args.join(' ')); 12 | }); 13 | 14 | bot.addListener('message#blah', function(from, message) { 15 | console.log('<%s> %s', from, message); 16 | }); 17 | 18 | bot.addListener('message', function(from, to, message) { 19 | console.log('%s => %s: %s', from, to, message); 20 | 21 | if (to.match(/^[#&]/)) { 22 | // channel message 23 | if (message.match(/hello/i)) { 24 | bot.say(to, 'Hello there ' + from); 25 | } 26 | if (message.match(/dance/)) { 27 | setTimeout(function() { bot.say(to, '\u0001ACTION dances: :D\\-<\u0001'); }, 1000); 28 | setTimeout(function() { bot.say(to, '\u0001ACTION dances: :D|-<\u0001'); }, 2000); 29 | setTimeout(function() { bot.say(to, '\u0001ACTION dances: :D/-<\u0001'); }, 3000); 30 | setTimeout(function() { bot.say(to, '\u0001ACTION dances: :D|-<\u0001'); }, 4000); 31 | } 32 | } 33 | else { 34 | // private message 35 | console.log('private message'); 36 | } 37 | }); 38 | bot.addListener('pm', function(nick, message) { 39 | console.log('Got private message from %s: %s', nick, message); 40 | }); 41 | bot.addListener('join', function(channel, who) { 42 | console.log('%s has joined %s', who, channel); 43 | }); 44 | bot.addListener('part', function(channel, who, reason) { 45 | console.log('%s has left %s: %s', who, channel, reason); 46 | }); 47 | bot.addListener('kick', function(channel, who, by, reason) { 48 | console.log('%s was kicked from %s by %s: %s', who, channel, by, reason); 49 | }); 50 | -------------------------------------------------------------------------------- /src/node_modules/irc/example/secure.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var irc = require('../'); 4 | /* 5 | * To set the key/cert explicitly, you could do the following 6 | var fs = require('fs'); 7 | 8 | var options = { 9 | key: fs.readFileSync('privkey.pem'), 10 | cert: fs.readFileSync('certificate.crt') 11 | }; 12 | */ 13 | 14 | // Or to just use defaults 15 | var options = true; 16 | 17 | var bot = new irc.Client('chat.us.freenode.net', 'nodebot', { 18 | port: 6697, 19 | debug: true, 20 | secure: options, 21 | channels: ['#botwar'] 22 | }); 23 | 24 | bot.addListener('error', function(message) { 25 | console.error('ERROR: %s: %s', message.command, message.args.join(' ')); 26 | }); 27 | 28 | bot.addListener('message#blah', function(from, message) { 29 | console.log('<%s> %s', from, message); 30 | }); 31 | 32 | bot.addListener('message', function(from, to, message) { 33 | console.log('%s => %s: %s', from, to, message); 34 | 35 | if (to.match(/^[#&]/)) { 36 | // channel message 37 | if (message.match(/hello/i)) { 38 | bot.say(to, 'Hello there ' + from); 39 | } 40 | if (message.match(/dance/)) { 41 | setTimeout(function() { bot.say(to, '\u0001ACTION dances: :D\\-<\u0001'); }, 1000); 42 | setTimeout(function() { bot.say(to, '\u0001ACTION dances: :D|-<\u0001'); }, 2000); 43 | setTimeout(function() { bot.say(to, '\u0001ACTION dances: :D/-<\u0001'); }, 3000); 44 | setTimeout(function() { bot.say(to, '\u0001ACTION dances: :D|-<\u0001'); }, 4000); 45 | } 46 | } 47 | else { 48 | // private message 49 | console.log('private message'); 50 | } 51 | }); 52 | bot.addListener('pm', function(nick, message) { 53 | console.log('Got private message from %s: %s', nick, message); 54 | }); 55 | bot.addListener('join', function(channel, who) { 56 | console.log('%s has joined %s', who, channel); 57 | }); 58 | bot.addListener('part', function(channel, who, reason) { 59 | console.log('%s has left %s: %s', who, channel, reason); 60 | }); 61 | bot.addListener('kick', function(channel, who, by, reason) { 62 | console.log('%s was kicked from %s by %s: %s', who, channel, by, reason); 63 | }); 64 | -------------------------------------------------------------------------------- /src/node_modules/irc/lib/colors.js: -------------------------------------------------------------------------------- 1 | var codes = { 2 | white: '\u000300', 3 | black: '\u000301', 4 | dark_blue: '\u000302', 5 | dark_green: '\u000303', 6 | light_red: '\u000304', 7 | dark_red: '\u000305', 8 | magenta: '\u000306', 9 | orange: '\u000307', 10 | yellow: '\u000308', 11 | light_green: '\u000309', 12 | cyan: '\u000310', 13 | light_cyan: '\u000311', 14 | light_blue: '\u000312', 15 | light_magenta: '\u000313', 16 | gray: '\u000314', 17 | light_gray: '\u000315', 18 | 19 | bold: '\u0002', 20 | underline: '\u001f', 21 | 22 | reset: '\u000f' 23 | }; 24 | exports.codes = codes; 25 | 26 | function wrap(color, text, resetColor) { 27 | if (codes[color]) { 28 | text = codes[color] + text; 29 | text += (codes[resetColor]) ? codes[resetColor] : codes.reset; 30 | } 31 | return text; 32 | } 33 | exports.wrap = wrap; 34 | -------------------------------------------------------------------------------- /src/node_modules/irc/lib/parse_message.js: -------------------------------------------------------------------------------- 1 | var ircColors = require('irc-colors'); 2 | var replyFor = require('./codes'); 3 | 4 | /** 5 | * parseMessage(line, stripColors) 6 | * 7 | * takes a raw "line" from the IRC server and turns it into an object with 8 | * useful keys 9 | * @param {String} line Raw message from IRC server. 10 | * @param {Boolean} stripColors If true, strip IRC colors. 11 | * @return {Object} A parsed message object. 12 | */ 13 | module.exports = function parseMessage(line, stripColors) { 14 | var message = {}; 15 | var match; 16 | 17 | if (stripColors) { 18 | line = ircColors.stripColorsAndStyle(line); 19 | } 20 | 21 | // Parse prefix 22 | match = line.match(/^:([^ ]+) +/); 23 | if (match) { 24 | message.prefix = match[1]; 25 | line = line.replace(/^:[^ ]+ +/, ''); 26 | match = message.prefix.match(/^([_a-zA-Z0-9\[\]\\`^{}|-]*)(!([^@]+)@(.*))?$/); 27 | if (match) { 28 | message.nick = match[1]; 29 | message.user = match[3]; 30 | message.host = match[4]; 31 | } 32 | else { 33 | message.server = message.prefix; 34 | } 35 | } 36 | 37 | // Parse command 38 | match = line.match(/^([^ ]+) */); 39 | message.command = match[1]; 40 | message.rawCommand = match[1]; 41 | message.commandType = 'normal'; 42 | line = line.replace(/^[^ ]+ +/, ''); 43 | 44 | if (replyFor[message.rawCommand]) { 45 | message.command = replyFor[message.rawCommand].name; 46 | message.commandType = replyFor[message.rawCommand].type; 47 | } 48 | 49 | message.args = []; 50 | var middle, trailing; 51 | 52 | // Parse parameters 53 | if (line.search(/^:|\s+:/) != -1) { 54 | match = line.match(/(.*?)(?:^:|\s+:)(.*)/); 55 | middle = match[1].trimRight(); 56 | trailing = match[2]; 57 | } 58 | else { 59 | middle = line; 60 | } 61 | 62 | if (middle.length) 63 | message.args = middle.split(/ +/); 64 | 65 | if (typeof (trailing) != 'undefined' && trailing.length) 66 | message.args.push(trailing); 67 | 68 | return message; 69 | } 70 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/ansi-color/._LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Skhmt/koalabot/b3dc0c5bf7e803c2c7eab5ee08105cc6efeb5286/src/node_modules/irc/node_modules/ansi-color/._LICENSE -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/ansi-color/._README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Skhmt/koalabot/b3dc0c5bf7e803c2c7eab5ee08105cc6efeb5286/src/node_modules/irc/node_modules/ansi-color/._README.md -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/ansi-color/._package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Skhmt/koalabot/b3dc0c5bf7e803c2c7eab5ee08105cc6efeb5286/src/node_modules/irc/node_modules/ansi-color/._package.json -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/ansi-color/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 James Smith 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions 6 | are met: 7 | 1. Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 2. Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | 3. The name of the author may not be used to endorse or promote products 13 | derived from this software without specific prior written permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18 | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/ansi-color/README.md: -------------------------------------------------------------------------------- 1 | ANSI Color Code Output Support for CommonJS + Node.js 2 | =========================================== 3 | 4 | This CommonJS module provides basic ANSI color code support, to allow you to 5 | format your console output with foreground and background colors as well as 6 | providing bold and underline support. 7 | 8 | This module does not modify any built-in object prototypes, and so is safe 9 | to use with other modules. 10 | 11 | Tested on node.js. 12 | 13 | Basic usage: 14 | ----------- 15 | // Load the module 16 | var color = require("ansi_color"); 17 | 18 | // Print the word "Error" to stdout in red 19 | console.log(color("Error", "red")); 20 | 21 | // Print the word "Error" in red and underlined 22 | console.log(color("Error", "red+underline")); 23 | 24 | // Print the word "Success" in bold green, followed by a message 25 | console.log(color("Success", "green+bold"), "Something was successful!"); 26 | 27 | Supported Colors/Formats: 28 | ------------------------- 29 | Note: Any of the below formatting strings can be combined together by joining 30 | together desired formats with a + symbol. Eg: bold+cyan+white_bg 31 | 32 | - Bold Text: bold 33 | - Underlined Text: underline 34 | - Blinking Text: blink 35 | - Black Text: black 36 | - Red Text: red 37 | - Green Text: green 38 | - Yellow Text: yellow 39 | - Blue Text: blue 40 | - Magenta Text: magenta 41 | - Cyan Text: cyan 42 | - White Text: white 43 | - Black Background: black_bg 44 | - Red Background: red_bg 45 | - Green Background: green_bg 46 | - Yellow Background: yellow_bg 47 | - Blue Background: blue_bg 48 | - Magenta Background: magenta_bg 49 | - Cyan Background: cyan_bg 50 | - White Background: white_bg -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/ansi-color/lib/._ansi-color.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Skhmt/koalabot/b3dc0c5bf7e803c2c7eab5ee08105cc6efeb5286/src/node_modules/irc/node_modules/ansi-color/lib/._ansi-color.js -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/ansi-color/lib/ansi-color.js: -------------------------------------------------------------------------------- 1 | // ANSI color code outputs for strings 2 | 3 | var ANSI_CODES = { 4 | "off": 0, 5 | "bold": 1, 6 | "italic": 3, 7 | "underline": 4, 8 | "blink": 5, 9 | "inverse": 7, 10 | "hidden": 8, 11 | "black": 30, 12 | "red": 31, 13 | "green": 32, 14 | "yellow": 33, 15 | "blue": 34, 16 | "magenta": 35, 17 | "cyan": 36, 18 | "white": 37, 19 | "black_bg": 40, 20 | "red_bg": 41, 21 | "green_bg": 42, 22 | "yellow_bg": 43, 23 | "blue_bg": 44, 24 | "magenta_bg": 45, 25 | "cyan_bg": 46, 26 | "white_bg": 47 27 | }; 28 | 29 | exports.set = function(str, color) { 30 | if(!color) return str; 31 | 32 | var color_attrs = color.split("+"); 33 | var ansi_str = ""; 34 | for(var i=0, attr; attr = color_attrs[i]; i++) { 35 | ansi_str += "\033[" + ANSI_CODES[attr] + "m"; 36 | } 37 | ansi_str += str + "\033[" + ANSI_CODES["off"] + "m"; 38 | return ansi_str; 39 | }; -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/ansi-color/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ansi-color", 3 | "description": "This module provides basic ANSI color code support, to allow you to format your console output with foreground and background colors as well as providing bold, italic and underline support.", 4 | "version": "0.2.1", 5 | "author": { 6 | "name": "James Smith", 7 | "email": "james@loopj.com" 8 | }, 9 | "keywords": [ 10 | "ansi", 11 | "color", 12 | "console" 13 | ], 14 | "directories": { 15 | "lib": "./lib" 16 | }, 17 | "repositories": [ 18 | { 19 | "type": "git", 20 | "url": "git://github.com/loopj/commonjs-ansi-color.git" 21 | } 22 | ], 23 | "main": "./lib/ansi-color", 24 | "_id": "ansi-color@0.2.1", 25 | "engines": { 26 | "node": "*" 27 | }, 28 | "_nodeSupported": true, 29 | "_npmVersion": "0.2.7-2", 30 | "_nodeVersion": "v0.3.1-pre", 31 | "dist": { 32 | "shasum": "3e75c037475217544ed763a8db5709fa9ae5bf9a", 33 | "tarball": "http://registry.npmjs.org/ansi-color/-/ansi-color-0.2.1.tgz" 34 | }, 35 | "_shasum": "3e75c037475217544ed763a8db5709fa9ae5bf9a", 36 | "_resolved": "https://registry.npmjs.org/ansi-color/-/ansi-color-0.2.1.tgz", 37 | "_from": "ansi-color@0.2.1" 38 | } 39 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - "0.12" 5 | - "iojs" 6 | notifications: 7 | email: 8 | on_success: change 9 | on_failure: change 10 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2011 by Roly Fentanes 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/example/bot.js: -------------------------------------------------------------------------------- 1 | var irc = require('irc'); 2 | var c = require('../'); 3 | 4 | var channel = '#rolytest'; 5 | var client = new irc.Client('chat.freenode.net', 'rolybot1234', { 6 | channels: [channel] 7 | }); 8 | 9 | client.on('message' + channel, function (from, message) { 10 | client.say(channel, 'underline: ' + c.underline(message)); 11 | client.say(channel, 'bold: ' + c.bold(message)); 12 | client.say(channel, 'italic: ' + c.italic(message)); 13 | }); 14 | 15 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/img/colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Skhmt/koalabot/b3dc0c5bf7e803c2c7eab5ee08105cc6efeb5286/src/node_modules/irc/node_modules/irc-colors/img/colors.png -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/img/extras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Skhmt/koalabot/b3dc0c5bf7e803c2c7eab5ee08105cc6efeb5286/src/node_modules/irc/node_modules/irc-colors/img/extras.png -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/img/styles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Skhmt/koalabot/b3dc0c5bf7e803c2c7eab5ee08105cc6efeb5286/src/node_modules/irc/node_modules/irc-colors/img/styles.png -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/examples/chain.js: -------------------------------------------------------------------------------- 1 | var Hash = require('hashish'); 2 | 3 | Hash({ a : 1, b : 2, c : 3, d : 4 }) 4 | .map(function (x) { return x * 10 }) 5 | .filter(function (x) { return x < 30 }) 6 | .forEach(function (x, key) { 7 | console.log(key + ' => ' + x); 8 | }) 9 | ; 10 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/examples/map.js: -------------------------------------------------------------------------------- 1 | var Hash = require('hashish'); 2 | var obj = { a : 1, b : 2, c : 3, d : 4 }; 3 | 4 | var mapped = Hash.map(obj, function (x) { 5 | return x * 10 6 | }); 7 | console.dir(mapped); 8 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2010 James Halliday (mail@substack.net) 2 | 3 | This project is free software released under the MIT/X11 license: 4 | http://www.opensource.org/licenses/mit-license.php 5 | 6 | Copyright 2010 James Halliday (mail@substack.net) 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/examples/json.js: -------------------------------------------------------------------------------- 1 | var traverse = require('traverse'); 2 | 3 | var id = 54; 4 | var callbacks = {}; 5 | var obj = { moo : function () {}, foo : [2,3,4, function () {}] }; 6 | 7 | var scrubbed = traverse(obj).map(function (x) { 8 | if (typeof x === 'function') { 9 | callbacks[id] = { id : id, f : x, path : this.path }; 10 | this.update('[Function]'); 11 | id++; 12 | } 13 | }); 14 | 15 | console.dir(scrubbed); 16 | console.dir(callbacks); 17 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/examples/leaves.js: -------------------------------------------------------------------------------- 1 | var traverse = require('traverse'); 2 | 3 | var obj = { 4 | a : [1,2,3], 5 | b : 4, 6 | c : [5,6], 7 | d : { e : [7,8], f : 9 }, 8 | }; 9 | 10 | var leaves = traverse(obj).reduce(function (acc, x) { 11 | if (this.isLeaf) acc.push(x); 12 | return acc; 13 | }, []); 14 | 15 | console.dir(leaves); 16 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/examples/negative.js: -------------------------------------------------------------------------------- 1 | var traverse = require('traverse'); 2 | var obj = [ 5, 6, -3, [ 7, 8, -2, 1 ], { f : 10, g : -13 } ]; 3 | 4 | traverse(obj).forEach(function (x) { 5 | if (x < 0) this.update(x + 128); 6 | }); 7 | 8 | console.dir(obj); 9 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/examples/scrub.js: -------------------------------------------------------------------------------- 1 | // scrub out circular references 2 | var traverse = require('traverse'); 3 | 4 | var obj = { a : 1, b : 2, c : [ 3, 4 ] }; 5 | obj.c.push(obj); 6 | 7 | var scrubbed = traverse(obj).map(function (x) { 8 | if (this.circular) this.remove() 9 | }); 10 | console.dir(scrubbed); 11 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/examples/stringify.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var traverse = require('traverse'); 3 | 4 | var obj = [ 'five', 6, -3, [ 7, 8, -2, 1 ], { f : 10, g : -13 } ]; 5 | 6 | var s = ''; 7 | traverse(obj).forEach(function to_s (node) { 8 | if (Array.isArray(node)) { 9 | this.before(function () { s += '[' }); 10 | this.post(function (child) { 11 | if (!child.isLast) s += ','; 12 | }); 13 | this.after(function () { s += ']' }); 14 | } 15 | else if (typeof node == 'object') { 16 | this.before(function () { s += '{' }); 17 | this.pre(function (x, key) { 18 | to_s(key); 19 | s += ':'; 20 | }); 21 | this.post(function (child) { 22 | if (!child.isLast) s += ','; 23 | }); 24 | this.after(function () { s += '}' }); 25 | } 26 | else if (typeof node == 'string') { 27 | s += '"' + node.toString().replace(/"/g, '\\"') + '"'; 28 | } 29 | else if (typeof node == 'function') { 30 | s += 'null'; 31 | } 32 | else { 33 | s += node.toString(); 34 | } 35 | }); 36 | 37 | console.log('JSON.stringify: ' + JSON.stringify(obj)); 38 | console.log('this stringify: ' + s); 39 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "traverse", 3 | "version": "0.6.6", 4 | "description": "traverse and transform objects by visiting every node on a recursive walk", 5 | "main": "index.js", 6 | "directories": { 7 | "example": "example", 8 | "test": "test" 9 | }, 10 | "devDependencies": { 11 | "tape": "~1.0.4" 12 | }, 13 | "scripts": { 14 | "test": "tape test/*.js" 15 | }, 16 | "testling": { 17 | "files": "test/*.js", 18 | "browsers": { 19 | "iexplore": [ 20 | "6.0", 21 | "7.0", 22 | "8.0", 23 | "9.0" 24 | ], 25 | "chrome": [ 26 | "10.0", 27 | "20.0" 28 | ], 29 | "firefox": [ 30 | "10.0", 31 | "15.0" 32 | ], 33 | "safari": [ 34 | "5.1" 35 | ], 36 | "opera": [ 37 | "12.0" 38 | ] 39 | } 40 | }, 41 | "repository": { 42 | "type": "git", 43 | "url": "git://github.com/substack/js-traverse.git" 44 | }, 45 | "homepage": "https://github.com/substack/js-traverse", 46 | "keywords": [ 47 | "traverse", 48 | "walk", 49 | "recursive", 50 | "map", 51 | "forEach", 52 | "deep", 53 | "clone" 54 | ], 55 | "author": { 56 | "name": "James Halliday", 57 | "email": "mail@substack.net", 58 | "url": "http://substack.net" 59 | }, 60 | "license": "MIT", 61 | "bugs": { 62 | "url": "https://github.com/substack/js-traverse/issues" 63 | }, 64 | "_id": "traverse@0.6.6", 65 | "dist": { 66 | "shasum": "cbdf560fd7b9af632502fed40f918c157ea97137", 67 | "tarball": "http://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz" 68 | }, 69 | "_from": "traverse@>=0.2.4", 70 | "_npmVersion": "1.3.7", 71 | "_npmUser": { 72 | "name": "substack", 73 | "email": "mail@substack.net" 74 | }, 75 | "maintainers": [ 76 | { 77 | "name": "substack", 78 | "email": "mail@substack.net" 79 | } 80 | ], 81 | "_shasum": "cbdf560fd7b9af632502fed40f918c157ea97137", 82 | "_resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz" 83 | } 84 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/test/date.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var traverse = require('../'); 3 | 4 | test('dateEach', function (t) { 5 | var obj = { x : new Date, y : 10, z : 5 }; 6 | 7 | var counts = {}; 8 | 9 | traverse(obj).forEach(function (node) { 10 | var t = (node instanceof Date && 'Date') || typeof node; 11 | counts[t] = (counts[t] || 0) + 1; 12 | }); 13 | 14 | t.same(counts, { 15 | object : 1, 16 | Date : 1, 17 | number : 2, 18 | }); 19 | t.end(); 20 | }); 21 | 22 | test('dateMap', function (t) { 23 | var obj = { x : new Date, y : 10, z : 5 }; 24 | 25 | var res = traverse(obj).map(function (node) { 26 | if (typeof node === 'number') this.update(node + 100); 27 | }); 28 | 29 | t.ok(obj.x !== res.x); 30 | t.same(res, { 31 | x : obj.x, 32 | y : 110, 33 | z : 105, 34 | }); 35 | t.end(); 36 | }); 37 | 38 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/test/error.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var traverse = require('../'); 3 | 4 | test('traverse an Error', function (t) { 5 | var obj = new Error("test"); 6 | var results = traverse(obj).map(function (node) {}); 7 | t.same(results, { message: 'test' }); 8 | 9 | t.end(); 10 | }); 11 | 12 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/test/has.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var traverse = require('../'); 3 | 4 | test('has', function (t) { 5 | var obj = { a : 2, b : [ 4, 5, { c : 6 } ] }; 6 | 7 | t.equal(traverse(obj).has([ 'b', 2, 'c' ]), true) 8 | t.equal(traverse(obj).has([ 'b', 2, 'c', 0 ]), false) 9 | t.equal(traverse(obj).has([ 'b', 2, 'd' ]), false) 10 | t.equal(traverse(obj).has([]), true) 11 | t.equal(traverse(obj).has([ 'a' ]), true) 12 | t.equal(traverse(obj).has([ 'a', 2 ]), false) 13 | 14 | t.end(); 15 | }); 16 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/test/instance.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var traverse = require('../'); 3 | var EventEmitter = require('events').EventEmitter; 4 | 5 | test('check instanceof on node elems', function (t) { 6 | var counts = { emitter : 0 }; 7 | 8 | traverse([ new EventEmitter, 3, 4, { ev : new EventEmitter }]) 9 | .forEach(function (node) { 10 | if (node instanceof EventEmitter) counts.emitter ++; 11 | }) 12 | ; 13 | 14 | t.equal(counts.emitter, 2); 15 | 16 | t.end(); 17 | }); 18 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/test/interface.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var traverse = require('../'); 3 | 4 | test('interface map', function (t) { 5 | var obj = { a : [ 5,6,7 ], b : { c : [8] } }; 6 | 7 | t.same( 8 | traverse.paths(obj) 9 | .sort() 10 | .map(function (path) { return path.join('/') }) 11 | .slice(1) 12 | .join(' ') 13 | , 14 | 'a a/0 a/1 a/2 b b/c b/c/0' 15 | ); 16 | 17 | t.same( 18 | traverse.nodes(obj), 19 | [ 20 | { a: [ 5, 6, 7 ], b: { c: [ 8 ] } }, 21 | [ 5, 6, 7 ], 5, 6, 7, 22 | { c: [ 8 ] }, [ 8 ], 8 23 | ] 24 | ); 25 | 26 | t.same( 27 | traverse.map(obj, function (node) { 28 | if (typeof node == 'number') { 29 | return node + 1000; 30 | } 31 | else if (Array.isArray(node)) { 32 | return node.join(' '); 33 | } 34 | }), 35 | { a: '5 6 7', b: { c: '8' } } 36 | ); 37 | 38 | var nodes = 0; 39 | traverse.forEach(obj, function (node) { nodes ++ }); 40 | t.same(nodes, 8); 41 | 42 | t.end(); 43 | }); 44 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/test/json.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var traverse = require('../'); 3 | 4 | test('json test', function (t) { 5 | var id = 54; 6 | var callbacks = {}; 7 | var obj = { moo : function () {}, foo : [2,3,4, function () {}] }; 8 | 9 | var scrubbed = traverse(obj).map(function (x) { 10 | if (typeof x === 'function') { 11 | callbacks[id] = { id : id, f : x, path : this.path }; 12 | this.update('[Function]'); 13 | id++; 14 | } 15 | }); 16 | 17 | t.equal( 18 | scrubbed.moo, '[Function]', 19 | 'obj.moo replaced with "[Function]"' 20 | ); 21 | 22 | t.equal( 23 | scrubbed.foo[3], '[Function]', 24 | 'obj.foo[3] replaced with "[Function]"' 25 | ); 26 | 27 | t.same(scrubbed, { 28 | moo : '[Function]', 29 | foo : [ 2, 3, 4, "[Function]" ] 30 | }, 'Full JSON string matches'); 31 | 32 | t.same( 33 | typeof obj.moo, 'function', 34 | 'Original obj.moo still a function' 35 | ); 36 | 37 | t.same( 38 | typeof obj.foo[3], 'function', 39 | 'Original obj.foo[3] still a function' 40 | ); 41 | 42 | t.same(callbacks, { 43 | 54: { id: 54, f : obj.moo, path: [ 'moo' ] }, 44 | 55: { id: 55, f : obj.foo[3], path: [ 'foo', '3' ] }, 45 | }, 'Check the generated callbacks list'); 46 | 47 | t.end(); 48 | }); 49 | 50 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/test/keys.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var traverse = require('../'); 3 | 4 | test('sort test', function (t) { 5 | var acc = []; 6 | traverse({ 7 | a: 30, 8 | b: 22, 9 | id: 9 10 | }).forEach(function (node) { 11 | if ((! Array.isArray(node)) && typeof node === 'object') { 12 | this.before(function(node) { 13 | this.keys = Object.keys(node); 14 | this.keys.sort(function(a, b) { 15 | a = [a === "id" ? 0 : 1, a]; 16 | b = [b === "id" ? 0 : 1, b]; 17 | return a < b ? -1 : a > b ? 1 : 0; 18 | }); 19 | }); 20 | } 21 | if (this.isLeaf) acc.push(node); 22 | }); 23 | 24 | t.equal( 25 | acc.join(' '), 26 | '9 30 22', 27 | 'Traversal in a custom order' 28 | ); 29 | 30 | t.end(); 31 | }); 32 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/test/leaves.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var traverse = require('../'); 3 | 4 | test('leaves test', function (t) { 5 | var acc = []; 6 | traverse({ 7 | a : [1,2,3], 8 | b : 4, 9 | c : [5,6], 10 | d : { e : [7,8], f : 9 } 11 | }).forEach(function (x) { 12 | if (this.isLeaf) acc.push(x); 13 | }); 14 | 15 | t.equal( 16 | acc.join(' '), 17 | '1 2 3 4 5 6 7 8 9', 18 | 'Traversal in the right(?) order' 19 | ); 20 | 21 | t.end(); 22 | }); 23 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/test/negative.js: -------------------------------------------------------------------------------- 1 | var traverse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('negative update test', function (t) { 5 | var obj = [ 5, 6, -3, [ 7, 8, -2, 1 ], { f : 10, g : -13 } ]; 6 | var fixed = traverse.map(obj, function (x) { 7 | if (x < 0) this.update(x + 128); 8 | }); 9 | 10 | t.same(fixed, 11 | [ 5, 6, 125, [ 7, 8, 126, 1 ], { f: 10, g: 115 } ], 12 | 'Negative values += 128' 13 | ); 14 | 15 | t.same(obj, 16 | [ 5, 6, -3, [ 7, 8, -2, 1 ], { f: 10, g: -13 } ], 17 | 'Original references not modified' 18 | ); 19 | 20 | t.end(); 21 | }); 22 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/test/obj.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var traverse = require('../'); 3 | 4 | test('traverse an object with nested functions', function (t) { 5 | t.plan(1); 6 | 7 | function Cons (x) { 8 | t.equal(x, 10) 9 | }; 10 | traverse(new Cons(10)); 11 | }); 12 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/test/siblings.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var traverse = require('../'); 3 | 4 | test('siblings', function (t) { 5 | var obj = { a : 1, b : 2, c : [ 4, 5, 6 ] }; 6 | 7 | var res = traverse(obj).reduce(function (acc, x) { 8 | var p = '/' + this.path.join('/'); 9 | if (this.parent) { 10 | acc[p] = { 11 | siblings : this.parent.keys, 12 | key : this.key, 13 | index : this.parent.keys.indexOf(this.key) 14 | }; 15 | } 16 | else { 17 | acc[p] = { 18 | siblings : [], 19 | key : this.key, 20 | index : -1 21 | } 22 | } 23 | return acc; 24 | }, {}); 25 | 26 | t.same(res, { 27 | '/' : { siblings : [], key : undefined, index : -1 }, 28 | '/a' : { siblings : [ 'a', 'b', 'c' ], key : 'a', index : 0 }, 29 | '/b' : { siblings : [ 'a', 'b', 'c' ], key : 'b', index : 1 }, 30 | '/c' : { siblings : [ 'a', 'b', 'c' ], key : 'c', index : 2 }, 31 | '/c/0' : { siblings : [ '0', '1', '2' ], key : '0', index : 0 }, 32 | '/c/1' : { siblings : [ '0', '1', '2' ], key : '1', index : 1 }, 33 | '/c/2' : { siblings : [ '0', '1', '2' ], key : '2', index : 2 } 34 | }); 35 | 36 | t.end(); 37 | }); 38 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/test/stop.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var traverse = require('../'); 3 | 4 | test('stop', function (t) { 5 | var visits = 0; 6 | traverse('abcdefghij'.split('')).forEach(function (node) { 7 | if (typeof node === 'string') { 8 | visits ++; 9 | if (node === 'e') this.stop() 10 | } 11 | }); 12 | 13 | t.equal(visits, 5); 14 | t.end(); 15 | }); 16 | 17 | test('stopMap', function (t) { 18 | var s = traverse('abcdefghij'.split('')).map(function (node) { 19 | if (typeof node === 'string') { 20 | if (node === 'e') this.stop() 21 | return node.toUpperCase(); 22 | } 23 | }).join(''); 24 | 25 | t.equal(s, 'ABCDEfghij'); 26 | t.end(); 27 | }); 28 | 29 | test('stopReduce', function (t) { 30 | var obj = { 31 | a : [ 4, 5 ], 32 | b : [ 6, [ 7, 8, 9 ] ] 33 | }; 34 | var xs = traverse(obj).reduce(function (acc, node) { 35 | if (this.isLeaf) { 36 | if (node === 7) this.stop(); 37 | else acc.push(node) 38 | } 39 | return acc; 40 | }, []); 41 | 42 | t.same(xs, [ 4, 5, 6 ]); 43 | t.end(); 44 | }); 45 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/test/stringify.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var traverse = require('../'); 3 | 4 | test('stringify', function (t) { 5 | var obj = [ 5, 6, -3, [ 7, 8, -2, 1 ], { f : 10, g : -13 } ]; 6 | 7 | var s = ''; 8 | traverse(obj).forEach(function (node) { 9 | if (Array.isArray(node)) { 10 | this.before(function () { s += '[' }); 11 | this.post(function (child) { 12 | if (!child.isLast) s += ','; 13 | }); 14 | this.after(function () { s += ']' }); 15 | } 16 | else if (typeof node == 'object') { 17 | this.before(function () { s += '{' }); 18 | this.pre(function (x, key) { 19 | s += '"' + key + '"' + ':'; 20 | }); 21 | this.post(function (child) { 22 | if (!child.isLast) s += ','; 23 | }); 24 | this.after(function () { s += '}' }); 25 | } 26 | else if (typeof node == 'function') { 27 | s += 'null'; 28 | } 29 | else { 30 | s += node.toString(); 31 | } 32 | }); 33 | 34 | t.equal(s, JSON.stringify(obj)); 35 | t.end(); 36 | }); 37 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/test/subexpr.js: -------------------------------------------------------------------------------- 1 | var traverse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('subexpr', function (t) { 5 | var obj = [ 'a', 4, 'b', 5, 'c', 6 ]; 6 | var r = traverse(obj).map(function (x) { 7 | if (typeof x === 'number') { 8 | this.update([ x - 0.1, x, x + 0.1 ], true); 9 | } 10 | }); 11 | 12 | t.same(obj, [ 'a', 4, 'b', 5, 'c', 6 ]); 13 | t.same(r, [ 14 | 'a', [ 3.9, 4, 4.1 ], 15 | 'b', [ 4.9, 5, 5.1 ], 16 | 'c', [ 5.9, 6, 6.1 ], 17 | ]); 18 | t.end(); 19 | }); 20 | 21 | test('block', function (t) { 22 | var obj = [ [ 1 ], [ 2 ], [ 3 ] ]; 23 | var r = traverse(obj).map(function (x) { 24 | if (Array.isArray(x) && !this.isRoot) { 25 | if (x[0] === 5) this.block() 26 | else this.update([ [ x[0] + 1 ] ]) 27 | } 28 | }); 29 | 30 | t.same(r, [ 31 | [ [ [ [ [ 5 ] ] ] ] ], 32 | [ [ [ [ 5 ] ] ] ], 33 | [ [ [ 5 ] ] ], 34 | ]); 35 | t.end(); 36 | }); 37 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/test/super_deep.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var traverse = require('../'); 3 | var deepEqual = require('./lib/deep_equal'); 4 | 5 | test('super_deep', function (t) { 6 | var util = require('util'); 7 | var a0 = make(); 8 | var a1 = make(); 9 | t.ok(deepEqual(a0, a1)); 10 | 11 | a0.c.d.moo = true; 12 | t.ok(!deepEqual(a0, a1)); 13 | 14 | a1.c.d.moo = true; 15 | t.ok(deepEqual(a0, a1)); 16 | 17 | // TODO: this one 18 | //a0.c.a = a1; 19 | //t.ok(!deepEqual(a0, a1)); 20 | t.end(); 21 | }); 22 | 23 | function make () { 24 | var a = { self : 'a' }; 25 | var b = { self : 'b' }; 26 | var c = { self : 'c' }; 27 | var d = { self : 'd' }; 28 | var e = { self : 'e' }; 29 | 30 | a.a = a; 31 | a.b = b; 32 | a.c = c; 33 | 34 | b.a = a; 35 | b.b = b; 36 | b.c = c; 37 | 38 | c.a = a; 39 | c.b = b; 40 | c.c = c; 41 | c.d = d; 42 | 43 | d.a = a; 44 | d.b = b; 45 | d.c = c; 46 | d.d = d; 47 | d.e = e; 48 | 49 | e.a = a; 50 | e.b = b; 51 | e.c = c; 52 | e.d = d; 53 | e.e = e; 54 | 55 | return a; 56 | } 57 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/node_modules/traverse/testling/leaves.js: -------------------------------------------------------------------------------- 1 | var traverse = require('./'); 2 | var test = require('testling'); 3 | 4 | test('leaves', function (t) { 5 | var obj = { 6 | a : [1,2,3], 7 | b : 4, 8 | c : [5,6], 9 | d : { e : [7,8], f : 9 } 10 | }; 11 | 12 | var acc = []; 13 | traverse(obj).forEach(function (x) { 14 | if (this.isLeaf) acc.push(x); 15 | }); 16 | 17 | t.deepEqual( 18 | acc, [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ], 19 | 'traversal in the proper order' 20 | ); 21 | t.end(); 22 | }); 23 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hashish", 3 | "version": "0.0.4", 4 | "description": "Hash data structure manipulation functions", 5 | "main": "./index.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "git://github.com/substack/node-hashish.git" 9 | }, 10 | "keywords": [ 11 | "hash", 12 | "object", 13 | "convenience", 14 | "manipulation", 15 | "data structure" 16 | ], 17 | "author": { 18 | "name": "James Halliday", 19 | "email": "mail@substack.net", 20 | "url": "http://substack.net" 21 | }, 22 | "dependencies": { 23 | "traverse": ">=0.2.4" 24 | }, 25 | "devDependencies": { 26 | "expresso": ">=0.6.0" 27 | }, 28 | "scripts": { 29 | "test": "expresso" 30 | }, 31 | "license": "MIT/X11", 32 | "engine": [ 33 | "node >=0.2.0" 34 | ], 35 | "_id": "hashish@0.0.4", 36 | "engines": { 37 | "node": "*" 38 | }, 39 | "_engineSupported": true, 40 | "_npmVersion": "1.0.10", 41 | "_nodeVersion": "v0.5.0-pre", 42 | "_defaultsLoaded": true, 43 | "dist": { 44 | "shasum": "6d60bc6ffaf711b6afd60e426d077988014e6554", 45 | "tarball": "http://registry.npmjs.org/hashish/-/hashish-0.0.4.tgz" 46 | }, 47 | "directories": {}, 48 | "_shasum": "6d60bc6ffaf711b6afd60e426d077988014e6554", 49 | "_resolved": "https://registry.npmjs.org/hashish/-/hashish-0.0.4.tgz", 50 | "_from": "hashish@>=0.0.4 <0.1.0" 51 | } 52 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/node_modules/hashish/test/property.js: -------------------------------------------------------------------------------- 1 | var Hash = require('hashish'); 2 | var assert = require('assert'); 3 | var vm = require('vm'); 4 | var fs = require('fs'); 5 | 6 | var src = fs.readFileSync(__dirname + '/../index.js', 'utf8'); 7 | 8 | exports.defineGetter = function () { 9 | var context = { 10 | module : { exports : {} }, 11 | Object : { 12 | keys : Object.keys, 13 | defineProperty : undefined, 14 | }, 15 | require : require, 16 | }; 17 | context.exports = context.module.exports; 18 | 19 | vm.runInNewContext('(function () {' + src + '})()', context); 20 | var Hash_ = context.module.exports; 21 | 22 | var times = 0; 23 | Hash_.__proto__.__proto__.__defineGetter__ = function () { 24 | times ++; 25 | return Object.__defineGetter__.apply(this, arguments); 26 | }; 27 | 28 | assert.equal(vm.runInNewContext('Object.defineProperty', context), null); 29 | 30 | assert.deepEqual( 31 | Hash_({ a : 1, b : 2, c : 3 }).values, 32 | [ 1, 2, 3 ] 33 | ); 34 | 35 | assert.ok(times > 5); 36 | }; 37 | 38 | exports.defineProperty = function () { 39 | var times = 0; 40 | var context = { 41 | module : { exports : {} }, 42 | Object : { 43 | keys : Object.keys, 44 | defineProperty : function (prop) { 45 | times ++; 46 | if (prop.get) throw new TypeError('engine does not support') 47 | assert.fail('should have asserted by now'); 48 | }, 49 | }, 50 | require : require 51 | }; 52 | context.exports = context.module.exports; 53 | 54 | vm.runInNewContext('(function () {' + src + '})()', context); 55 | var Hash_ = context.module.exports; 56 | 57 | Hash_.__proto__.__proto__.__defineGetter__ = function () { 58 | assert.fail('getter called when a perfectly good' 59 | + ' defineProperty was available' 60 | ); 61 | }; 62 | 63 | assert.deepEqual( 64 | Hash_({ a : 1, b : 2, c : 3 }).values, 65 | [ 1, 2, 3 ] 66 | ); 67 | 68 | assert.equal(times, 1); 69 | }; 70 | -------------------------------------------------------------------------------- /src/node_modules/irc/node_modules/irc-colors/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "irc-colors", 3 | "description": "Color and formatting for irc made easy.", 4 | "keywords": [ 5 | "irc", 6 | "color", 7 | "colour" 8 | ], 9 | "version": "1.2.0", 10 | "repository": { 11 | "type": "git", 12 | "url": "git://github.com/fent/irc-colors.js.git" 13 | }, 14 | "author": { 15 | "name": "Roly Fentanes", 16 | "url": "https://github.com/fent" 17 | }, 18 | "main": "./lib/irc-colors.js", 19 | "scripts": { 20 | "test": "vows test/*-test.js --spec" 21 | }, 22 | "directories": { 23 | "lib": "./lib" 24 | }, 25 | "dependencies": { 26 | "hashish": "~0.0.4" 27 | }, 28 | "devDependencies": { 29 | "vows": "*" 30 | }, 31 | "licenses": [ 32 | { 33 | "type": "MIT", 34 | "url": "http://github.com/fent/irc-colors.js/raw/master/LICENSE" 35 | } 36 | ], 37 | "gitHead": "7af9d86a3e55ccc485f47d0c262ffda6107715c9", 38 | "bugs": { 39 | "url": "https://github.com/fent/irc-colors.js/issues" 40 | }, 41 | "homepage": "https://github.com/fent/irc-colors.js#readme", 42 | "_id": "irc-colors@1.2.0", 43 | "_shasum": "73315b06f8840f4abd181456f08569620a088afd", 44 | "_from": "irc-colors@>=1.1.0 <2.0.0", 45 | "_npmVersion": "2.11.0", 46 | "_nodeVersion": "0.12.4", 47 | "_npmUser": { 48 | "name": "fent", 49 | "email": "roly426@gmail.com" 50 | }, 51 | "maintainers": [ 52 | { 53 | "name": "fent", 54 | "email": "roly426@gmail.com" 55 | } 56 | ], 57 | "dist": { 58 | "shasum": "73315b06f8840f4abd181456f08569620a088afd", 59 | "tarball": "http://registry.npmjs.org/irc-colors/-/irc-colors-1.2.0.tgz" 60 | }, 61 | "_resolved": "https://registry.npmjs.org/irc-colors/-/irc-colors-1.2.0.tgz" 62 | } 63 | -------------------------------------------------------------------------------- /src/node_modules/irc/test.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var irc = require('./lib/irc.js'); 4 | var util = require('util'); 5 | var color = require('ansi-color').set; 6 | 7 | var c = new irc.Client( 8 | 'irc.dollyfish.net.nz', 9 | 'nodebot', 10 | { 11 | channels: ['#test'], 12 | //debug: true 13 | } 14 | ); 15 | 16 | c.addListener('raw', function(message) { console.log('raw: ', message) }); 17 | c.addListener('error', function(message) { console.log(color('error: ', 'red'), message) }); 18 | 19 | var repl = require('repl').start('> '); 20 | repl.context.repl = repl; 21 | repl.context.util = util; 22 | repl.context.irc = irc; 23 | repl.context.c = c; 24 | 25 | repl.inputStream.addListener('close', function() { 26 | console.log("\nClosing session"); 27 | c.disconnect('Closing session'); 28 | }); 29 | 30 | -------------------------------------------------------------------------------- /src/node_modules/irc/test/data/ircd.key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIICWwIBAAKBgQDH5pYbcECKUrbRbUXKUu7lMCgb9UkPi4+Ur9f0LYdspHZJlv0S 3 | yBn4RpJOl8EsMhWI+houY3mBlcCL/DwiGfMDk5TSomyrI6eONFworokTJpG2h0f0 4 | cWnGdDW1zu8Z1odo047NWzwwv2mU03fkZmzfCclAzjKkDMMqP34mPl5TnwIDAQAB 5 | AoGAJslK3tAM9cnOxxvYqsUkrTuGzMXvAyElHshvsmUTHbVbbjPprrc8sruer7kq 6 | NhURsJ42bkHG1ankzkSGtmcqi3LdBBhVLm5gyog2JxQlTxvUVOPvyrOsQkl3uDwL 7 | aZqGTESHlLx7jhOKgiImqo0uGxNy46tzsHbpFGAeqTYcYKECQQD6faxqytMpMc/h 8 | zcrWsRhe7Omj5D6VdrbkGkM8razn4Oyr42p8Xylcde2MlnTiTAL5ElxlLd4PYsLD 9 | hKme/M5tAkEAzEwT1GU7CYjPdHHfsHUbDIHBh0BOJje2TXhDOa5tiZbOZevIk6TZ 10 | V6p/9zjLe5RAc/dpzHv1C+vQOkhgvoNyuwJARwjGkU5NTXxTwGwUnoeAKsMyioia 11 | etY8jTkpYha6VtOBKkmGlBiEaTUEFX9BTD9UBIABdavpMiHGq51+YJi+jQJAGYic 12 | pdwtH8jwnM4qtgQ86DhDduMLoW0vJMmWJVxuplap30Uz4XgmDfXqXnzDueNSluvi 13 | VkNb4iyL7uzi4ozNRwJALT0vP65RQ2d7OUEwB4XZFExKYzHADiFtw0NZtcWRW6y3 14 | rN0uXMxEZ6vRQurVjO9GhB76fAo/UooX0MVF0ShFNQ== 15 | -----END RSA PRIVATE KEY----- 16 | -------------------------------------------------------------------------------- /src/node_modules/irc/test/data/ircd.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICojCCAgugAwIBAgIJAMid3M25tUeUMA0GCSqGSIb3DQEBBQUAMGoxCzAJBgNV 3 | BAYTAlpaMREwDwYDVQQIDAhJbnRlcm5ldDEPMA0GA1UEBwwGZ2l0aHViMREwDwYD 4 | VQQKDAhub2RlLWlyYzEQMA4GA1UECwwHdGVzdGluZzESMBAGA1UEAwwJbG9jYWxo 5 | b3N0MB4XDTE1MDExMjIzNDg0MloXDTI1MDEwOTIzNDg0MlowajELMAkGA1UEBhMC 6 | WloxETAPBgNVBAgMCEludGVybmV0MQ8wDQYDVQQHDAZnaXRodWIxETAPBgNVBAoM 7 | CG5vZGUtaXJjMRAwDgYDVQQLDAd0ZXN0aW5nMRIwEAYDVQQDDAlsb2NhbGhvc3Qw 8 | gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMfmlhtwQIpSttFtRcpS7uUwKBv1 9 | SQ+Lj5Sv1/Qth2ykdkmW/RLIGfhGkk6XwSwyFYj6Gi5jeYGVwIv8PCIZ8wOTlNKi 10 | bKsjp440XCiuiRMmkbaHR/RxacZ0NbXO7xnWh2jTjs1bPDC/aZTTd+RmbN8JyUDO 11 | MqQMwyo/fiY+XlOfAgMBAAGjUDBOMB0GA1UdDgQWBBTUaumzrTJrl1goRRzOGgEO 12 | VNKFmjAfBgNVHSMEGDAWgBTUaumzrTJrl1goRRzOGgEOVNKFmjAMBgNVHRMEBTAD 13 | AQH/MA0GCSqGSIb3DQEBBQUAA4GBAGKppBE9mjk2zJPSxPcHl3RSpnPs5ZkuBLnK 14 | rxZ2bR9VJhoQEwtiZRxkSXSdooj3eJgzMobYMEhSvFibUeBuIppB7oacys2Bd+O1 15 | xzILcbgEPqsk5JFbYT9KD8r+sZy5Wa1A39eNkmdD/oWt9Mb1PLrDfM/melvZ9/vW 16 | oMSmMipK 17 | -----END CERTIFICATE----- 18 | -------------------------------------------------------------------------------- /src/node_modules/irc/test/helpers.js: -------------------------------------------------------------------------------- 1 | /* Mock irc server */ 2 | 3 | var path = require('path'); 4 | var fs = require('fs'); 5 | var net = require('net'); 6 | var tls = require('tls'); 7 | var util = require('util'); 8 | var EventEmitter = require('events').EventEmitter; 9 | 10 | var MockIrcd = function(port, encoding, isSecure) { 11 | var self = this; 12 | var connectionClass; 13 | var options = {}; 14 | 15 | if (isSecure) { 16 | connectionClass = tls; 17 | options = { 18 | key: fs.readFileSync(path.resolve(__dirname, 'data/ircd.key')), 19 | cert: fs.readFileSync(path.resolve(__dirname, 'data/ircd.pem')) 20 | }; 21 | } else { 22 | connectionClass = net; 23 | } 24 | 25 | this.port = port || (isSecure ? 6697 : 6667); 26 | this.encoding = encoding || 'utf-8'; 27 | this.incoming = []; 28 | this.outgoing = []; 29 | 30 | this.server = connectionClass.createServer(options, function(c) { 31 | c.on('data', function(data) { 32 | var msg = data.toString(self.encoding).split('\r\n').filter(function(m) { return m; }); 33 | self.incoming = self.incoming.concat(msg); 34 | }); 35 | 36 | self.on('send', function(data) { 37 | self.outgoing.push(data); 38 | c.write(data); 39 | }); 40 | 41 | c.on('end', function() { 42 | self.emit('end'); 43 | }); 44 | }); 45 | 46 | this.server.listen(this.port); 47 | }; 48 | util.inherits(MockIrcd, EventEmitter); 49 | 50 | MockIrcd.prototype.send = function(data) { 51 | this.emit('send', data); 52 | }; 53 | 54 | MockIrcd.prototype.close = function() { 55 | this.server.close(); 56 | }; 57 | 58 | MockIrcd.prototype.getIncomingMsgs = function() { 59 | return this.incoming; 60 | }; 61 | 62 | var fixtures = require('./data/fixtures'); 63 | module.exports.getFixtures = function(testSuite) { 64 | return fixtures[testSuite]; 65 | }; 66 | 67 | module.exports.MockIrcd = function(port, encoding, isSecure) { 68 | return new MockIrcd(port, encoding, isSecure); 69 | }; 70 | -------------------------------------------------------------------------------- /src/node_modules/irc/test/test-433-before-001.js: -------------------------------------------------------------------------------- 1 | var irc = require('../lib/irc'); 2 | var test = require('tape'); 3 | 4 | var testHelpers = require('./helpers'); 5 | 6 | test('connect and sets hostmask when nick in use', function(t) { 7 | var client, mock, expected; 8 | 9 | mock = testHelpers.MockIrcd(); 10 | client = new irc.Client('localhost', 'testbot', {debug: true}); 11 | 12 | expected = testHelpers.getFixtures('433-before-001'); 13 | 14 | t.plan(expected.sent.length + expected.received.length + expected.clientInfo.length); 15 | 16 | mock.server.on('connection', function() { 17 | mock.send(':localhost 433 * testbot :Nickname is already in use.\r\n') 18 | mock.send(':localhost 001 testbot1 :Welcome to the Internet Relay Chat Network testbot\r\n'); 19 | }); 20 | 21 | client.on('registered', function() { 22 | t.equal(mock.outgoing[0], expected.received[0][0], expected.received[0][1]); 23 | t.equal(mock.outgoing[1], expected.received[1][0], expected.received[1][1]); 24 | client.disconnect(function() { 25 | t.equal(client.hostMask, 'testbot', 'hostmask is as expected after 433'); 26 | t.equal(client.nick, 'testbot1', 'nick is as expected after 433'); 27 | t.equal(client.maxLineLength, 482, 'maxLineLength is as expected after 433'); 28 | }); 29 | }); 30 | 31 | mock.on('end', function() { 32 | var msgs = mock.getIncomingMsgs(); 33 | 34 | for (var i = 0; i < msgs.length; i++) { 35 | t.equal(msgs[i], expected.sent[i][0], expected.sent[i][1]); 36 | } 37 | mock.close(); 38 | }); 39 | }); 40 | -------------------------------------------------------------------------------- /src/node_modules/irc/test/test-auditorium.js: -------------------------------------------------------------------------------- 1 | var net = require('net'); 2 | 3 | var irc = require('../lib/irc'); 4 | var test = require('tape'); 5 | 6 | var testHelpers = require('./helpers'); 7 | 8 | test('user gets opped in auditorium', function(t) { 9 | var mock = testHelpers.MockIrcd(); 10 | var client = new irc.Client('localhost', 'testbot', {debug: true}); 11 | 12 | client.on('+mode', function(channel, by, mode, argument) { 13 | if (channel == '#auditorium' && argument == 'user') { 14 | client.disconnect(); 15 | } 16 | }); 17 | 18 | mock.server.on('connection', function() { 19 | // Initiate connection 20 | mock.send(':localhost 001 testbot :Welcome to the Internet Relay Chat Network testbot\r\n'); 21 | 22 | // Set prefix modes 23 | mock.send(':localhost 005 testbot PREFIX=(ov)@+ CHANTYPES=#& :are supported by this server\r\n'); 24 | 25 | // Force join into auditorium 26 | mock.send(':testbot JOIN #auditorium\r\n'); 27 | 28 | // +o the invisible user 29 | mock.send(':ChanServ MODE #auditorium +o user\r\n'); 30 | }); 31 | 32 | mock.on('end', function() { 33 | mock.close(); 34 | t.end(); 35 | }); 36 | }); 37 | -------------------------------------------------------------------------------- /src/node_modules/irc/test/test-convert-encoding.js: -------------------------------------------------------------------------------- 1 | var irc = require('../lib/irc'); 2 | var test = require('tape'); 3 | var testHelpers = require('./helpers'); 4 | var checks = testHelpers.getFixtures('convert-encoding'); 5 | var bindTo = { opt: { encoding: 'utf-8' } }; 6 | 7 | test('irc.Client.convertEncoding old', function(assert) { 8 | var convertEncoding = function(str) { 9 | var self = this; 10 | 11 | if (self.opt.encoding) { 12 | var charsetDetector = require('node-icu-charset-detector'); 13 | var Iconv = require('iconv').Iconv; 14 | var charset = charsetDetector.detectCharset(str).toString(); 15 | var to = new Iconv(charset, self.opt.encoding); 16 | 17 | return to.convert(str); 18 | } else { 19 | return str; 20 | } 21 | }.bind(bindTo); 22 | 23 | checks.causesException.forEach(function iterate(line) { 24 | var causedException = false; 25 | try { 26 | convertEncoding(line); 27 | } catch (e) { 28 | causedException = true; 29 | } 30 | 31 | assert.equal(causedException, true, line + ' caused exception'); 32 | }); 33 | 34 | assert.end(); 35 | }); 36 | 37 | test('irc.Client.convertEncoding', function(assert) { 38 | var convertEncoding = irc.Client.prototype.convertEncoding.bind(bindTo); 39 | 40 | checks.causesException.forEach(function iterate(line) { 41 | var causedException = false; 42 | 43 | try { 44 | convertEncoding(line); 45 | } catch (e) { 46 | causedException = true; 47 | } 48 | 49 | assert.equal(causedException, false, line + ' didn\'t cause exception'); 50 | }); 51 | 52 | assert.end(); 53 | }); 54 | -------------------------------------------------------------------------------- /src/node_modules/irc/test/test-double-crlf.js: -------------------------------------------------------------------------------- 1 | var net = require('net'); 2 | 3 | var irc = require('../lib/irc'); 4 | var test = require('tape'); 5 | 6 | var testHelpers = require('./helpers'); 7 | 8 | test('sent messages ending with double CRLF', function(t) { 9 | var mock = testHelpers.MockIrcd(); 10 | var client = new irc.Client('localhost', 'testbot', { debug: true}); 11 | 12 | var expected = testHelpers.getFixtures('double-CRLF'); 13 | 14 | t.plan(expected.sent.length + expected.received.length); 15 | 16 | mock.server.on('connection', function() { 17 | mock.send(expected.received[0][0]); 18 | }); 19 | 20 | client.on('registered', function() { 21 | t.equal(mock.outgoing[0], expected.received[0][0], expected.received[0][1]); 22 | client.disconnect(); 23 | }); 24 | 25 | mock.on('end', function() { 26 | var msgs = mock.getIncomingMsgs(); 27 | 28 | for (var i = 0; i < msgs.length; i++) { 29 | t.equal(msgs[i], expected.sent[i][0], expected.sent[i][1]); 30 | } 31 | mock.close(); 32 | }); 33 | }); 34 | -------------------------------------------------------------------------------- /src/node_modules/irc/test/test-parse-line.js: -------------------------------------------------------------------------------- 1 | var parseMessage = require('../lib/parse_message'); 2 | var test = require('tape'); 3 | 4 | var testHelpers = require('./helpers'); 5 | 6 | test('irc.parseMessage', function(t) { 7 | var checks = testHelpers.getFixtures('parse-line'); 8 | 9 | Object.keys(checks).forEach(function(line) { 10 | var stripColors = false; 11 | if (checks[line].hasOwnProperty('stripColors')) { 12 | stripColors = checks[line].stripColors; 13 | delete checks[line].stripColors; 14 | } 15 | t.equal( 16 | JSON.stringify(checks[line]), 17 | JSON.stringify(parseMessage(line, stripColors)), 18 | line + ' parses correctly' 19 | ); 20 | }); 21 | t.end(); 22 | }); 23 | -------------------------------------------------------------------------------- /src/node_modules/sql.js/AUTHORS: -------------------------------------------------------------------------------- 1 | Ophir LOJKINE (https://github.com/lovasoa) 2 | @kripken 3 | @hankinsoft 4 | @firien 5 | 6 | -------------------------------------------------------------------------------- /src/node_modules/sql.js/test/all.js: -------------------------------------------------------------------------------- 1 | var fs = require("fs"); 2 | 3 | var target = process.argv[2]; 4 | var file = target ? "../js/sql-"+target+".js" : "../js/sql.js"; 5 | var sql = require(file); 6 | 7 | var files = fs.readdirSync(__dirname); 8 | 9 | for (var i=0; i /tmp/sqljstest 10 | if [ $? = 0 ] 11 | then 12 | echo "Passed." 13 | passed=$((passed+1)) 14 | else 15 | echo -e "\033[31mFail!\e[0m" 16 | cat /tmp/sqljstest 17 | fi 18 | done 19 | 20 | if [ $passed = $total ] 21 | then 22 | echo -e "\033[32mAll $total tests passed\e[0m" 23 | exit 0 24 | else 25 | echo -e "\033[31mWarning\e[0m : $passed tests passed out of $total" 26 | exit 1 27 | fi 28 | -------------------------------------------------------------------------------- /src/node_modules/sql.js/test/sql-requireJS.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | -------------------------------------------------------------------------------- /src/node_modules/sql.js/test/test.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Skhmt/koalabot/b3dc0c5bf7e803c2c7eab5ee08105cc6efeb5286/src/node_modules/sql.js/test/test.sqlite -------------------------------------------------------------------------------- /src/node_modules/sql.js/test/test_blob.js: -------------------------------------------------------------------------------- 1 | exports.test = function(SQL, assert){ 2 | var db = new SQL.Database(); 3 | db.exec("CREATE TABLE test (data); INSERT INTO test VALUES (x'6162ff'),(x'00')"); // Insert binary data. This is invalid UTF8 on purpose 4 | 5 | 6 | console.log("Testing writing BLOBs"); 7 | var stmt = db.prepare("INSERT INTO test VALUES (?)"); 8 | var bigArray = new Uint8Array(1e6); 9 | bigArray[500] = 0x42 10 | stmt.run([ bigArray ]); 11 | 12 | var stmt = db.prepare("SELECT * FROM test ORDER BY length(data) DESC"); 13 | 14 | stmt.step(); 15 | var array = stmt.get()[0]; 16 | assert.equal(array.length, bigArray.length, "BLOB read from the database should be the same size as the one that was inserted"); 17 | for (var i=0; i 2 | 3 | 4 | 10 | 11 | 12 | 13 |
14 |

Loading...

15 |
16 | 17 | 18 | --------------------------------------------------------------------------------