├── node_modules ├── body-parser │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── read.js │ │ └── types │ │ │ ├── json.js │ │ │ ├── raw.js │ │ │ ├── text.js │ │ │ └── urlencoded.js │ ├── node_modules │ │ ├── bytes │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── component.json │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── depd │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ └── compat │ │ │ │ │ ├── buffer-concat.js │ │ │ │ │ ├── callsite-tostring.js │ │ │ │ │ └── index.js │ │ │ └── package.json │ │ ├── iconv-lite │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── Changelog.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── encodings │ │ │ │ ├── dbcs-codec.js │ │ │ │ ├── dbcs-data.js │ │ │ │ ├── index.js │ │ │ │ ├── internal.js │ │ │ │ ├── sbcs-codec.js │ │ │ │ ├── sbcs-data-generated.js │ │ │ │ ├── sbcs-data.js │ │ │ │ ├── tables │ │ │ │ │ ├── big5-added.json │ │ │ │ │ ├── cp936.json │ │ │ │ │ ├── cp949.json │ │ │ │ │ ├── cp950.json │ │ │ │ │ ├── eucjp.json │ │ │ │ │ ├── gb18030-ranges.json │ │ │ │ │ ├── gbk-added.json │ │ │ │ │ └── shiftjis.json │ │ │ │ ├── utf16.js │ │ │ │ └── utf7.js │ │ │ ├── lib │ │ │ │ ├── extend-node.js │ │ │ │ ├── index.js │ │ │ │ └── streams.js │ │ │ └── package.json │ │ ├── media-typer │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── on-finished │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ └── ee-first │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── qs │ │ │ ├── .jshintignore │ │ │ ├── .jshintrc │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── index.js │ │ │ │ ├── parse.js │ │ │ │ ├── stringify.js │ │ │ │ └── utils.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ ├── parse.js │ │ │ │ └── stringify.js │ │ ├── raw-body │ │ │ ├── .npmignore │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ └── type-is │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ └── mime-types │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ ├── node_modules │ │ │ │ └── mime-db │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── db.json │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ └── package.json │ └── package.json ├── body │ ├── .npmignore │ ├── .travis.yml │ ├── LICENCE │ ├── README.md │ ├── any.js │ ├── form.js │ ├── index.js │ ├── json.js │ ├── node_modules │ │ ├── error │ │ │ ├── .npmignore │ │ │ ├── README.md │ │ │ ├── docs.mli │ │ │ ├── node_modules │ │ │ │ └── xtend │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── LICENCE │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README.md │ │ │ │ │ ├── has-keys.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── mutable.js │ │ │ │ │ ├── node_modules │ │ │ │ │ └── object-keys │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── foreach.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── isArguments.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── shim.js │ │ │ │ │ │ └── test │ │ │ │ │ │ ├── foreach.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── isArguments.js │ │ │ │ │ │ └── shim.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── test.js │ │ │ ├── option.js │ │ │ ├── package.json │ │ │ ├── typed.js │ │ │ └── validation.js │ │ ├── raw-body │ │ │ ├── .npmignore │ │ │ ├── HISTORY.md │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ ├── bytes │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── History.md │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── component.json │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ └── string_decoder │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ └── safe-json-parse │ │ │ ├── .npmignore │ │ │ ├── .testem.json │ │ │ ├── .travis.yml │ │ │ ├── LICENCE │ │ │ ├── README.md │ │ │ ├── examples │ │ │ └── simple.js │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test │ │ │ ├── index.js │ │ │ └── static │ │ │ ├── index.html │ │ │ └── test-adapter.js │ ├── package.json │ ├── parse-arguments.js │ └── test │ │ └── integration.js └── 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 │ ├── accepts │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── node_modules │ │ │ ├── mime-types │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ ├── node_modules │ │ │ │ │ └── mime-db │ │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── db.json │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ └── negotiator │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ ├── charset.js │ │ │ │ ├── encoding.js │ │ │ │ ├── language.js │ │ │ │ └── mediaType.js │ │ │ │ └── package.json │ │ └── package.json │ ├── content-disposition │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── cookie-signature │ │ ├── .npmignore │ │ ├── History.md │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── index.js │ │ └── package.json │ ├── cookie │ │ ├── .npmignore │ │ ├── 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 │ │ ├── node_modules │ │ │ └── ms │ │ │ │ ├── .npmignore │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ └── package.json │ ├── depd │ │ ├── History.md │ │ ├── LICENSE │ │ ├── Readme.md │ │ ├── index.js │ │ ├── lib │ │ │ └── compat │ │ │ │ ├── buffer-concat.js │ │ │ │ ├── callsite-tostring.js │ │ │ │ └── index.js │ │ └── package.json │ ├── escape-html │ │ ├── .npmignore │ │ ├── Makefile │ │ ├── Readme.md │ │ ├── component.json │ │ ├── index.js │ │ └── package.json │ ├── etag │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── node_modules │ │ │ └── crc │ │ │ │ ├── .npmignore │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── lib │ │ │ │ ├── crc.js │ │ │ │ ├── crc1.js │ │ │ │ ├── crc16.js │ │ │ │ ├── crc16_ccitt.js │ │ │ │ ├── crc16_modbus.js │ │ │ │ ├── crc24.js │ │ │ │ ├── crc32.js │ │ │ │ ├── crc8.js │ │ │ │ ├── crc8_1wire.js │ │ │ │ ├── create.js │ │ │ │ ├── hex.js │ │ │ │ └── index.js │ │ │ │ └── package.json │ │ └── package.json │ ├── finalhandler │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── fresh │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── media-typer │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── merge-descriptors │ │ ├── .npmignore │ │ ├── README.md │ │ ├── component.json │ │ ├── index.js │ │ └── package.json │ ├── methods │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── on-finished │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── node_modules │ │ │ └── ee-first │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ └── package.json │ ├── parseurl │ │ ├── .npmignore │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── path-to-regexp │ │ ├── .npmignore │ │ ├── History.md │ │ ├── Readme.md │ │ ├── component.json │ │ ├── index.js │ │ ├── package.json │ │ └── test.js │ ├── proxy-addr │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── node_modules │ │ │ ├── forwarded │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ └── ipaddr.js │ │ │ │ ├── .npmignore │ │ │ │ ├── Cakefile │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── ipaddr.min.js │ │ │ │ ├── lib │ │ │ │ └── ipaddr.js │ │ │ │ ├── package.json │ │ │ │ ├── src │ │ │ │ └── ipaddr.coffee │ │ │ │ └── test │ │ │ │ └── ipaddr.test.coffee │ │ └── package.json │ ├── qs │ │ ├── .jshintignore │ │ ├── .jshintrc │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── index.js │ │ ├── lib │ │ │ ├── index.js │ │ │ ├── parse.js │ │ │ ├── stringify.js │ │ │ └── utils.js │ │ ├── package.json │ │ └── test │ │ │ ├── parse.js │ │ │ └── stringify.js │ ├── range-parser │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── send │ │ ├── History.md │ │ ├── LICENSE │ │ ├── Readme.md │ │ ├── index.js │ │ ├── node_modules │ │ │ ├── destroy │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── mime │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── mime.js │ │ │ │ ├── package.json │ │ │ │ ├── test.js │ │ │ │ └── types │ │ │ │ │ ├── mime.types │ │ │ │ │ └── node.types │ │ │ └── ms │ │ │ │ ├── .npmignore │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ └── package.json │ ├── serve-static │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── type-is │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── node_modules │ │ │ └── mime-types │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ ├── node_modules │ │ │ │ └── mime-db │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── db.json │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ └── package.json │ ├── utils-merge │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ └── vary │ │ ├── .npmignore │ │ ├── History.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ └── package.json ├── public ├── app.js ├── index.html └── lib │ ├── backbone │ ├── .bower.json │ ├── .gitignore │ ├── .npmignore │ ├── CNAME │ ├── CONTRIBUTING.md │ ├── LICENSE │ ├── README.md │ ├── backbone.js │ ├── bower.json │ ├── component.json │ ├── index.html │ ├── index.js │ └── package.json │ ├── jquery │ ├── .bower.json │ ├── MIT-LICENSE.txt │ ├── bower.json │ ├── dist │ │ ├── jquery.js │ │ ├── jquery.min.js │ │ └── jquery.min.map │ └── src │ │ ├── ajax.js │ │ ├── ajax │ │ ├── jsonp.js │ │ ├── load.js │ │ ├── parseJSON.js │ │ ├── parseXML.js │ │ ├── script.js │ │ ├── var │ │ │ ├── nonce.js │ │ │ └── rquery.js │ │ └── xhr.js │ │ ├── attributes.js │ │ ├── attributes │ │ ├── attr.js │ │ ├── classes.js │ │ ├── prop.js │ │ ├── support.js │ │ └── val.js │ │ ├── callbacks.js │ │ ├── core.js │ │ ├── core │ │ ├── access.js │ │ ├── init.js │ │ ├── parseHTML.js │ │ ├── ready.js │ │ └── var │ │ │ └── rsingleTag.js │ │ ├── css.js │ │ ├── css │ │ ├── addGetHookIf.js │ │ ├── curCSS.js │ │ ├── defaultDisplay.js │ │ ├── hiddenVisibleSelectors.js │ │ ├── support.js │ │ ├── swap.js │ │ └── var │ │ │ ├── cssExpand.js │ │ │ ├── getStyles.js │ │ │ ├── isHidden.js │ │ │ ├── rmargin.js │ │ │ └── rnumnonpx.js │ │ ├── data.js │ │ ├── data │ │ ├── Data.js │ │ ├── accepts.js │ │ └── var │ │ │ ├── data_priv.js │ │ │ └── data_user.js │ │ ├── deferred.js │ │ ├── deprecated.js │ │ ├── dimensions.js │ │ ├── effects.js │ │ ├── effects │ │ ├── Tween.js │ │ └── animatedSelector.js │ │ ├── event.js │ │ ├── event │ │ ├── ajax.js │ │ ├── alias.js │ │ └── support.js │ │ ├── exports │ │ ├── amd.js │ │ └── global.js │ │ ├── intro.js │ │ ├── jquery.js │ │ ├── manipulation.js │ │ ├── manipulation │ │ ├── _evalUrl.js │ │ ├── support.js │ │ └── var │ │ │ └── rcheckableType.js │ │ ├── offset.js │ │ ├── outro.js │ │ ├── queue.js │ │ ├── queue │ │ └── delay.js │ │ ├── selector-native.js │ │ ├── selector-sizzle.js │ │ ├── selector.js │ │ ├── serialize.js │ │ ├── sizzle │ │ └── dist │ │ │ ├── sizzle.js │ │ │ ├── sizzle.min.js │ │ │ └── sizzle.min.map │ │ ├── traversing.js │ │ ├── traversing │ │ ├── findFilter.js │ │ └── var │ │ │ └── rneedsContext.js │ │ ├── var │ │ ├── arr.js │ │ ├── class2type.js │ │ ├── concat.js │ │ ├── hasOwn.js │ │ ├── indexOf.js │ │ ├── pnum.js │ │ ├── push.js │ │ ├── rnotwhite.js │ │ ├── slice.js │ │ ├── strundefined.js │ │ ├── support.js │ │ └── toString.js │ │ └── wrap.js │ └── underscore │ ├── .bower.json │ ├── .eslintrc │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── component.json │ ├── package.json │ ├── underscore-min.js │ ├── underscore-min.map │ └── underscore.js ├── readme.md └── server.js /node_modules/body-parser/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 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 | -------------------------------------------------------------------------------- /node_modules/body-parser/lib/types/raw.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * body-parser 3 | * Copyright(c) 2014 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module dependencies. 9 | */ 10 | 11 | var bytes = require('bytes') 12 | var read = require('../read') 13 | var typeis = require('type-is') 14 | 15 | /** 16 | * Module exports. 17 | */ 18 | 19 | module.exports = raw 20 | 21 | /** 22 | * Create a middleware to parse raw bodies. 23 | * 24 | * @param {object} [options] 25 | * @return {function} 26 | * @api public 27 | */ 28 | 29 | function raw(options) { 30 | options = options || {}; 31 | 32 | var inflate = options.inflate !== false 33 | var limit = typeof options.limit !== 'number' 34 | ? bytes(options.limit || '100kb') 35 | : options.limit 36 | var type = options.type || 'application/octet-stream' 37 | var verify = options.verify || false 38 | 39 | if (verify !== false && typeof verify !== 'function') { 40 | throw new TypeError('option verify must be function') 41 | } 42 | 43 | function parse(buf) { 44 | return buf 45 | } 46 | 47 | return function rawParser(req, res, next) { 48 | if (req._body) return next() 49 | req.body = req.body || {} 50 | 51 | if (!typeis(req, type)) return next() 52 | 53 | // read 54 | read(req, res, next, parse, { 55 | encoding: null, 56 | inflate: inflate, 57 | limit: limit, 58 | verify: verify 59 | }) 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /node_modules/body-parser/lib/types/text.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * body-parser 3 | * Copyright(c) 2014 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module dependencies. 9 | */ 10 | 11 | var bytes = require('bytes') 12 | var read = require('../read') 13 | var typeis = require('type-is') 14 | var typer = require('media-typer') 15 | 16 | /** 17 | * Module exports. 18 | */ 19 | 20 | module.exports = text 21 | 22 | /** 23 | * Create a middleware to parse text bodies. 24 | * 25 | * @param {object} [options] 26 | * @return {function} 27 | * @api public 28 | */ 29 | 30 | function text(options) { 31 | options = options || {}; 32 | 33 | var defaultCharset = options.defaultCharset || 'utf-8' 34 | var inflate = options.inflate !== false 35 | var limit = typeof options.limit !== 'number' 36 | ? bytes(options.limit || '100kb') 37 | : options.limit 38 | var type = options.type || 'text/plain' 39 | var verify = options.verify || false 40 | 41 | if (verify !== false && typeof verify !== 'function') { 42 | throw new TypeError('option verify must be function') 43 | } 44 | 45 | function parse(buf) { 46 | return buf 47 | } 48 | 49 | return function textParser(req, res, next) { 50 | if (req._body) return next() 51 | req.body = req.body || {} 52 | 53 | if (!typeis(req, type)) return next() 54 | 55 | // get charset 56 | var charset = typer.parse(req).parameters.charset || defaultCharset 57 | 58 | // read 59 | read(req, res, next, parse, { 60 | encoding: charset, 61 | inflate: inflate, 62 | limit: limit, 63 | verify: verify 64 | }) 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/bytes/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/bytes/History.md: -------------------------------------------------------------------------------- 1 | 2 | 1.0.0 / 2014-05-05 3 | ================== 4 | 5 | * add negative support. fixes #6 6 | 7 | 0.3.0 / 2014-03-19 8 | ================== 9 | 10 | * added terabyte support 11 | 12 | 0.2.1 / 2013-04-01 13 | ================== 14 | 15 | * add .component 16 | 17 | 0.2.0 / 2012-10-28 18 | ================== 19 | 20 | * bytes(200).should.eql('200b') 21 | 22 | 0.1.0 / 2012-07-04 23 | ================== 24 | 25 | * add bytes to string conversion [yields] 26 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/bytes/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --reporter spec \ 5 | --require should 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/bytes/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bytes", 3 | "description": "byte size string parser / serializer", 4 | "keywords": ["bytes", "utility"], 5 | "version": "0.2.1", 6 | "scripts": ["index.js"] 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/bytes/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Parse byte `size` string. 4 | * 5 | * @param {String} size 6 | * @return {Number} 7 | * @api public 8 | */ 9 | 10 | module.exports = function(size) { 11 | if ('number' == typeof size) return convert(size); 12 | var parts = size.match(/^(\d+(?:\.\d+)?) *(kb|mb|gb|tb)$/) 13 | , n = parseFloat(parts[1]) 14 | , type = parts[2]; 15 | 16 | var map = { 17 | kb: 1 << 10 18 | , mb: 1 << 20 19 | , gb: 1 << 30 20 | , tb: ((1 << 30) * 1024) 21 | }; 22 | 23 | return map[type] * n; 24 | }; 25 | 26 | /** 27 | * convert bytes into string. 28 | * 29 | * @param {Number} b - bytes to convert 30 | * @return {String} 31 | * @api public 32 | */ 33 | 34 | function convert (b) { 35 | var tb = ((1 << 30) * 1024), gb = 1 << 30, mb = 1 << 20, kb = 1 << 10, abs = Math.abs(b); 36 | if (abs >= tb) return (Math.round(b / tb * 100) / 100) + 'tb'; 37 | if (abs >= gb) return (Math.round(b / gb * 100) / 100) + 'gb'; 38 | if (abs >= mb) return (Math.round(b / mb * 100) / 100) + 'mb'; 39 | if (abs >= kb) return (Math.round(b / kb * 100) / 100) + 'kb'; 40 | return b + 'b'; 41 | } 42 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/bytes/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bytes", 3 | "author": { 4 | "name": "TJ Holowaychuk", 5 | "email": "tj@vision-media.ca", 6 | "url": "http://tjholowaychuk.com" 7 | }, 8 | "description": "byte size string parser / serializer", 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/visionmedia/bytes.js.git" 12 | }, 13 | "version": "1.0.0", 14 | "main": "index.js", 15 | "dependencies": {}, 16 | "devDependencies": { 17 | "mocha": "*", 18 | "should": "*" 19 | }, 20 | "component": { 21 | "scripts": { 22 | "bytes/index.js": "index.js" 23 | } 24 | }, 25 | "bugs": { 26 | "url": "https://github.com/visionmedia/bytes.js/issues" 27 | }, 28 | "homepage": "https://github.com/visionmedia/bytes.js", 29 | "_id": "bytes@1.0.0", 30 | "dist": { 31 | "shasum": "3569ede8ba34315fab99c3e92cb04c7220de1fa8", 32 | "tarball": "http://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz" 33 | }, 34 | "_from": "bytes@1.0.0", 35 | "_npmVersion": "1.4.3", 36 | "_npmUser": { 37 | "name": "tjholowaychuk", 38 | "email": "tj@vision-media.ca" 39 | }, 40 | "maintainers": [ 41 | { 42 | "name": "tjholowaychuk", 43 | "email": "tj@vision-media.ca" 44 | } 45 | ], 46 | "directories": {}, 47 | "_shasum": "3569ede8ba34315fab99c3e92cb04c7220de1fa8", 48 | "_resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", 49 | "readme": "ERROR: No README data found!" 50 | } 51 | -------------------------------------------------------------------------------- /node_modules/body-parser/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 | -------------------------------------------------------------------------------- /node_modules/body-parser/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 | -------------------------------------------------------------------------------- /node_modules/body-parser/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 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/iconv-lite/.npmignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *sublime-* 3 | generation 4 | test 5 | wiki 6 | coverage 7 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/iconv-lite/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | - "0.11" 6 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/iconv-lite/Changelog.md: -------------------------------------------------------------------------------- 1 | 2 | # 0.4.5 / 2014-11-20 3 | 4 | * fix windows-31j and x-sjis encoding support (@nleush) 5 | * minor fix: undefined variable reference when internal error happens 6 | 7 | # 0.4.4 / 2014-07-16 8 | 9 | * added encodings UTF-7 (RFC2152) and UTF-7-IMAP (RFC3501 Section 5.1.3) 10 | * fixed streaming base64 encoding 11 | 12 | # 0.4.3 / 2014-06-14 13 | 14 | * added encodings UTF-16BE and UTF-16 with BOM 15 | 16 | # 0.4.2 / 2014-06-12 17 | 18 | * don't throw exception if `extendNodeEncodings()` is called more than once 19 | 20 | # 0.4.1 / 2014-06-11 21 | 22 | * codepage 808 added 23 | 24 | 25 | # 0.4.0 / 2014-06-10 26 | 27 | * code is rewritten from scratch 28 | * all widespread encodings are supported 29 | * streaming interface added 30 | * browserify compatibility added 31 | * (optional) extend core primitive encodings to make usage even simpler 32 | * moved from vows to mocha as the testing framework 33 | 34 | 35 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/iconv-lite/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Alexander Shtuchkin 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/iconv-lite/encodings/index.js: -------------------------------------------------------------------------------- 1 | 2 | // Update this array if you add/rename/remove files in this directory. 3 | // We support Browserify by skipping automatic module discovery and requiring modules directly. 4 | var modules = [ 5 | require("./internal"), 6 | require("./utf16"), 7 | require("./utf7"), 8 | require("./sbcs-codec"), 9 | require("./sbcs-data"), 10 | require("./sbcs-data-generated"), 11 | require("./dbcs-codec"), 12 | require("./dbcs-data"), 13 | ]; 14 | 15 | // Put all encoding/alias/codec definitions to single object and export it. 16 | for (var i = 0; i < modules.length; i++) { 17 | var module = modules[i]; 18 | for (var enc in module) 19 | exports[enc] = module[enc]; 20 | } 21 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/iconv-lite/encodings/tables/gbk-added.json: -------------------------------------------------------------------------------- 1 | [ 2 | ["a140","",62], 3 | ["a180","",32], 4 | ["a240","",62], 5 | ["a280","",32], 6 | ["a2ab","",5], 7 | ["a2e3","€"], 8 | ["a2ef",""], 9 | ["a2fd",""], 10 | ["a340","",62], 11 | ["a380","",31," "], 12 | ["a440","",62], 13 | ["a480","",32], 14 | ["a4f4","",10], 15 | ["a540","",62], 16 | ["a580","",32], 17 | ["a5f7","",7], 18 | ["a640","",62], 19 | ["a680","",32], 20 | ["a6b9","",7], 21 | ["a6d9","",6], 22 | ["a6ec",""], 23 | ["a6f3",""], 24 | ["a6f6","",8], 25 | ["a740","",62], 26 | ["a780","",32], 27 | ["a7c2","",14], 28 | ["a7f2","",12], 29 | ["a896","",10], 30 | ["a8bc",""], 31 | ["a8bf","ǹ"], 32 | ["a8c1",""], 33 | ["a8ea","",20], 34 | ["a958",""], 35 | ["a95b",""], 36 | ["a95d",""], 37 | ["a989","〾⿰",11], 38 | ["a997","",12], 39 | ["a9f0","",14], 40 | ["aaa1","",93], 41 | ["aba1","",93], 42 | ["aca1","",93], 43 | ["ada1","",93], 44 | ["aea1","",93], 45 | ["afa1","",93], 46 | ["d7fa","",4], 47 | ["f8a1","",93], 48 | ["f9a1","",93], 49 | ["faa1","",93], 50 | ["fba1","",93], 51 | ["fca1","",93], 52 | ["fda1","",93], 53 | ["fe50","⺁⺄㑳㑇⺈⺋㖞㘚㘎⺌⺗㥮㤘㧏㧟㩳㧐㭎㱮㳠⺧⺪䁖䅟⺮䌷⺳⺶⺷䎱䎬⺻䏝䓖䙡䙌"], 54 | ["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93] 55 | ] 56 | -------------------------------------------------------------------------------- /node_modules/body-parser/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 | -------------------------------------------------------------------------------- /node_modules/body-parser/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 | -------------------------------------------------------------------------------- /node_modules/body-parser/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 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/on-finished/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 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/qs/.jshintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/qs/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "node": true, 3 | 4 | "curly": true, 5 | "latedef": true, 6 | "quotmark": true, 7 | "undef": true, 8 | "unused": true, 9 | "trailing": true 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/body-parser/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 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/qs/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - 0.10 -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/qs/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Please view our [hapijs contributing guide](https://github.com/hapijs/hapi/blob/master/CONTRIBUTING.md). 2 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/qs/Makefile: -------------------------------------------------------------------------------- 1 | test: 2 | @node node_modules/lab/bin/lab -a code -L 3 | test-cov: 4 | @node node_modules/lab/bin/lab -a code -t 100 -L 5 | test-cov-html: 6 | @node node_modules/lab/bin/lab -a code -L -r html -o coverage.html 7 | 8 | .PHONY: test test-cov test-cov-html 9 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/qs/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/'); 2 | -------------------------------------------------------------------------------- /node_modules/body-parser/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 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/qs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "qs", 3 | "version": "2.3.3", 4 | "description": "A querystring parser that supports nesting and arrays, with a depth limit", 5 | "homepage": "https://github.com/hapijs/qs", 6 | "main": "index.js", 7 | "dependencies": {}, 8 | "devDependencies": { 9 | "code": "1.x.x", 10 | "lab": "5.x.x" 11 | }, 12 | "scripts": { 13 | "test": "make test-cov" 14 | }, 15 | "repository": { 16 | "type": "git", 17 | "url": "https://github.com/hapijs/qs.git" 18 | }, 19 | "keywords": [ 20 | "querystring", 21 | "qs" 22 | ], 23 | "licenses": [ 24 | { 25 | "type": "BSD", 26 | "url": "http://github.com/hapijs/qs/raw/master/LICENSE" 27 | } 28 | ], 29 | "gitHead": "9250c4cda5102fcf72441445816e6d311fc6813d", 30 | "bugs": { 31 | "url": "https://github.com/hapijs/qs/issues" 32 | }, 33 | "_id": "qs@2.3.3", 34 | "_shasum": "e9e85adbe75da0bbe4c8e0476a086290f863b404", 35 | "_from": "qs@2.3.3", 36 | "_npmVersion": "2.1.6", 37 | "_nodeVersion": "0.10.32", 38 | "_npmUser": { 39 | "name": "nlf", 40 | "email": "quitlahok@gmail.com" 41 | }, 42 | "maintainers": [ 43 | { 44 | "name": "nlf", 45 | "email": "quitlahok@gmail.com" 46 | }, 47 | { 48 | "name": "hueniverse", 49 | "email": "eran@hueniverse.com" 50 | } 51 | ], 52 | "dist": { 53 | "shasum": "e9e85adbe75da0bbe4c8e0476a086290f863b404", 54 | "tarball": "http://registry.npmjs.org/qs/-/qs-2.3.3.tgz" 55 | }, 56 | "directories": {}, 57 | "_resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz", 58 | "readme": "ERROR: No README data found!" 59 | } 60 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/raw-body/.npmignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | test/ 3 | .travis.yml 4 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/raw-body/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 Jonathan Ong me@jongleberry.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 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/type-is/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Jonathan Ong me@jongleberry.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 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/type-is/node_modules/mime-types/HISTORY.md: -------------------------------------------------------------------------------- 1 | 2.0.7 / 2014-12-30 2 | ================== 3 | 4 | * deps: mime-db@~1.5.0 5 | - Add new mime types 6 | - Fix various invalid MIME type entries 7 | 8 | 2.0.6 / 2014-12-30 9 | ================== 10 | 11 | * deps: mime-db@~1.4.0 12 | - Add new mime types 13 | - Fix various invalid MIME type entries 14 | - Remove example template MIME types 15 | 16 | 2.0.5 / 2014-12-29 17 | ================== 18 | 19 | * deps: mime-db@~1.3.1 20 | - Fix missing extensions 21 | 22 | 2.0.4 / 2014-12-10 23 | ================== 24 | 25 | * deps: mime-db@~1.3.0 26 | - Add new mime types 27 | 28 | 2.0.3 / 2014-11-09 29 | ================== 30 | 31 | * deps: mime-db@~1.2.0 32 | - Add new mime types 33 | 34 | 2.0.2 / 2014-09-28 35 | ================== 36 | 37 | * deps: mime-db@~1.1.0 38 | - Add new mime types 39 | - Add additional compressible 40 | - Update charsets 41 | 42 | 2.0.1 / 2014-09-07 43 | ================== 44 | 45 | * Support Node.js 0.6 46 | 47 | 2.0.0 / 2014-09-02 48 | ================== 49 | 50 | * Use `mime-db` 51 | * Remove `.define()` 52 | 53 | 1.0.2 / 2014-08-04 54 | ================== 55 | 56 | * Set charset=utf-8 for `text/javascript` 57 | 58 | 1.0.1 / 2014-06-24 59 | ================== 60 | 61 | * Add `text/jsx` type 62 | 63 | 1.0.0 / 2014-05-12 64 | ================== 65 | 66 | * Return `false` for unknown types 67 | * Set charset=utf-8 for `application/json` 68 | 69 | 0.1.0 / 2014-05-02 70 | ================== 71 | 72 | * Initial release 73 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/type-is/node_modules/mime-types/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 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/type-is/node_modules/mime-types/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 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/type-is/node_modules/mime-types/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 | -------------------------------------------------------------------------------- /node_modules/body/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.log 3 | *.err -------------------------------------------------------------------------------- /node_modules/body/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.8 -------------------------------------------------------------------------------- /node_modules/body/LICENCE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Raynos. 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. -------------------------------------------------------------------------------- /node_modules/body/any.js: -------------------------------------------------------------------------------- 1 | var TypedError = require("error/typed") 2 | 3 | var parseArguments = require("./parse-arguments.js") 4 | var jsonBody = require("./json.js") 5 | var formBody = require("./form.js") 6 | 7 | var jsonType = "application/json" 8 | var formType = "application/x-www-form-urlencoded" 9 | var INVALID_CONTENT_TYPE = TypedError({ 10 | message: "Could not parse content type header: %s", 11 | type: "invalid.content.type", 12 | statusCode: 415 13 | }) 14 | 15 | module.exports = anyBody 16 | 17 | function anyBody(req, res, opts, callback) { 18 | var args = parseArguments(req, res, opts, callback) 19 | req = args.req 20 | res = args.res 21 | opts = args.opts 22 | callback = args.callback 23 | 24 | if (!callback) { 25 | return anyBody.bind(null, req, res, opts) 26 | } 27 | 28 | var contentType = req.headers["content-type"] || "" 29 | 30 | if (contentType.indexOf(jsonType) !== -1) { 31 | jsonBody(req, res, opts, callback) 32 | } else if (contentType.indexOf(formType) !== -1) { 33 | formBody(req, res, opts, callback) 34 | } else { 35 | callback(INVALID_CONTENT_TYPE(contentType)) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /node_modules/body/form.js: -------------------------------------------------------------------------------- 1 | var querystringParse = require("querystring").parse 2 | 3 | var body = require("./index.js") 4 | var parseArguments = require("./parse-arguments.js") 5 | 6 | module.exports = formBody 7 | 8 | function formBody(req, res, opts, callback) { 9 | var args = parseArguments(req, res, opts, callback) 10 | req = args.req 11 | res = args.res 12 | opts = args.opts 13 | callback = args.callback 14 | 15 | if (!callback) { 16 | return formBody.bind(null, req, res, opts) 17 | } 18 | 19 | var parse = opts.querystring ? 20 | opts.querystring.parse : defaultQueryStringParse 21 | 22 | body(req, res, opts, function (err, body) { 23 | if (err) { 24 | return callback(err) 25 | } 26 | 27 | parse(body, callback) 28 | }) 29 | } 30 | 31 | function defaultQueryStringParse(str, callback) { 32 | callback(null, querystringParse(str)) 33 | } 34 | -------------------------------------------------------------------------------- /node_modules/body/index.js: -------------------------------------------------------------------------------- 1 | var rawBody = require("raw-body") 2 | 3 | var parseArguments = require("./parse-arguments.js") 4 | 5 | var ONE_MB = 1024 * 1024 6 | 7 | module.exports = body 8 | 9 | function body(req, res, opts, callback) { 10 | var args = parseArguments(req, res, opts, callback) 11 | req = args.req 12 | res = args.res 13 | opts = args.opts 14 | callback = args.callback 15 | 16 | if (!callback) { 17 | return body.bind(null, req, res, opts) 18 | } 19 | 20 | var limit = "limit" in opts ? opts.limit : ONE_MB 21 | var contentLength = req.headers ? 22 | Number(req.headers["content-length"]) : null; 23 | 24 | rawBody(req, { 25 | limit: limit, 26 | length: contentLength, 27 | encoding: "encoding" in opts ? opts.encoding : true 28 | }, callback) 29 | } 30 | -------------------------------------------------------------------------------- /node_modules/body/json.js: -------------------------------------------------------------------------------- 1 | var jsonParse = require("safe-json-parse") 2 | 3 | var body = require("./index.js") 4 | var parseArguments = require("./parse-arguments.js") 5 | 6 | module.exports = jsonBody 7 | 8 | function jsonBody(req, res, opts, callback) { 9 | var args = parseArguments(req, res, opts, callback) 10 | req = args.req 11 | res = args.res 12 | opts = args.opts 13 | callback = args.callback 14 | 15 | if (!callback) { 16 | return jsonBody.bind(null, req, res, opts) 17 | } 18 | 19 | var parse = opts.JSON ? opts.JSON.parse : jsonParse 20 | var reviver = opts.reviver || null 21 | 22 | body(req, res, opts, function (err, body) { 23 | if (err) { 24 | return callback(err) 25 | } 26 | 27 | parse(body, reviver, callback) 28 | }) 29 | } 30 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .monitor 3 | .*.swp 4 | .nodemonignore 5 | releases 6 | *.log 7 | *.err 8 | fleet.json 9 | public/browserify 10 | bin/*.json 11 | .bin 12 | build 13 | compile 14 | .lock-wscript 15 | node_modules 16 | coverage 17 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/README.md: -------------------------------------------------------------------------------- 1 | # error 2 | 3 | 10 | 11 | 12 | 13 | Custom errors 14 | 15 | ## Example 16 | 17 | ```js 18 | var ValidationError = require("error/validation") 19 | var OptionError = require("error/option") 20 | 21 | var error = ValidationError([{ 22 | message: "Please enter required field", 23 | attribute: "name" 24 | }, { 25 | message: "Password must be at least 10 characters", 26 | attribute: "password" 27 | }]) 28 | 29 | console.log("error.errors", error.errors) 30 | 31 | var error = OptionError("Something went wrong", metaData) 32 | 33 | console.log("error.option", error.option) 34 | ``` 35 | 36 | ## Installation 37 | 38 | `npm install error` 39 | 40 | ## Contributors 41 | 42 | - Raynos 43 | 44 | ## MIT Licenced 45 | 46 | [1]: https://secure.travis-ci.org/Raynos/error.png 47 | [2]: https://travis-ci.org/Raynos/error 48 | [3]: https://badge.fury.io/js/error.png 49 | [4]: https://badge.fury.io/js/error 50 | [5]: https://coveralls.io/repos/Raynos/error/badge.png 51 | [6]: https://coveralls.io/r/Raynos/error 52 | [7]: https://gemnasium.com/Raynos/error.png 53 | [8]: https://gemnasium.com/Raynos/error 54 | [9]: https://david-dm.org/Raynos/error.png 55 | [10]: https://david-dm.org/Raynos/error 56 | [11]: https://ci.testling.com/Raynos/error.png 57 | [12]: https://ci.testling.com/Raynos/error 58 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/docs.mli: -------------------------------------------------------------------------------- 1 | type OptionError := { 2 | option?: T, 3 | message: String, 4 | type: "OptionError" 5 | } 6 | 7 | type TypedError := { 8 | message: String, 9 | type: T 10 | } 11 | 12 | type ValidationError := { 13 | errors: Array, 14 | message: String, 15 | type: "ValidationError" 16 | } 17 | 18 | error/option := (String, T) => OptionError 19 | error/typed := ({ 20 | message: String, 21 | type: String 22 | }) => (...args: Any) => TypedError 23 | error/validation := (Array) => ValidationError 24 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/node_modules/xtend/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/node_modules/xtend/LICENCE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Raynos. 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. -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/node_modules/xtend/Makefile: -------------------------------------------------------------------------------- 1 | browser: 2 | node ./support/compile 3 | 4 | .PHONY: browser -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/node_modules/xtend/README.md: -------------------------------------------------------------------------------- 1 | # xtend 2 | 3 | [![browser support][3]][4] 4 | 5 | Extend like a boss 6 | 7 | xtend is a basic utility library which allows you to extend an object by appending all of the properties from each object in a list. When there are identical properties, the right-most property takes presedence. 8 | 9 | ## Examples 10 | 11 | ```js 12 | var extend = require("xtend") 13 | 14 | var combination = extend({ 15 | a: "a" 16 | }, { 17 | b: "b" 18 | }) 19 | // { a: "a", b: "b" } 20 | ``` 21 | 22 | 23 | ## MIT Licenced 24 | 25 | 26 | [3]: http://ci.testling.com/Raynos/xtend.png 27 | [4]: http://ci.testling.com/Raynos/xtend 28 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/node_modules/xtend/has-keys.js: -------------------------------------------------------------------------------- 1 | module.exports = hasKeys 2 | 3 | function hasKeys(source) { 4 | return source !== null && 5 | (typeof source === "object" || 6 | typeof source === "function") 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/node_modules/xtend/index.js: -------------------------------------------------------------------------------- 1 | var Keys = require("object-keys") 2 | var hasKeys = require("./has-keys") 3 | 4 | module.exports = extend 5 | 6 | function extend() { 7 | var target = {} 8 | 9 | for (var i = 0; i < arguments.length; i++) { 10 | var source = arguments[i] 11 | 12 | if (!hasKeys(source)) { 13 | continue 14 | } 15 | 16 | var keys = Keys(source) 17 | 18 | for (var j = 0; j < keys.length; j++) { 19 | var name = keys[j] 20 | target[name] = source[name] 21 | } 22 | } 23 | 24 | return target 25 | } 26 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/node_modules/xtend/mutable.js: -------------------------------------------------------------------------------- 1 | var Keys = require("object-keys") 2 | var hasKeys = require("./has-keys") 3 | 4 | module.exports = extend 5 | 6 | function extend(target) { 7 | var sources = [].slice.call(arguments, 1) 8 | 9 | for (var i = 0; i < sources.length; i++) { 10 | var source = sources[i] 11 | 12 | if (!hasKeys(source)) { 13 | continue 14 | } 15 | 16 | var keys = Keys(source) 17 | 18 | for (var j = 0; j < keys.length; j++) { 19 | var name = keys[j] 20 | target[name] = source[name] 21 | } 22 | } 23 | 24 | return target 25 | } 26 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/node_modules/xtend/node_modules/object-keys/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/node_modules/xtend/node_modules/object-keys/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - "0.8" 5 | - "0.6" 6 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/node_modules/xtend/node_modules/object-keys/README.md: -------------------------------------------------------------------------------- 1 | #object-keys [![Version Badge][2]][1] 2 | 3 | [![Build Status][3]][4] [![dependency status][5]][6] 4 | 5 | [![browser support][7]][8] 6 | 7 | An Object.keys shim. Uses Object.keys if available. 8 | 9 | ## Example 10 | 11 | ```js 12 | var keys = require('object-keys'); 13 | var assert = require('assert'); 14 | var obj = { 15 | a: true, 16 | b: true, 17 | c: true 18 | }; 19 | 20 | assert.equal(keys(obj), ['a', 'b', 'c']); 21 | ``` 22 | 23 | ## Source 24 | Implementation taken directly from [es5-shim]([9]), with modifications, including from [lodash]([10]). 25 | 26 | ## Tests 27 | Simply clone the repo, `npm install`, and run `npm test` 28 | 29 | [1]: https://npmjs.org/package/object-keys 30 | [2]: http://vb.teelaun.ch/ljharb/object-keys.svg 31 | [3]: https://travis-ci.org/ljharb/object-keys.png 32 | [4]: https://travis-ci.org/ljharb/object-keys 33 | [5]: https://david-dm.org/ljharb/object-keys.png 34 | [6]: https://david-dm.org/ljharb/object-keys 35 | [7]: https://ci.testling.com/ljharb/object-keys.png 36 | [8]: https://ci.testling.com/ljharb/object-keys 37 | [9]: https://github.com/kriskowal/es5-shim/blob/master/es5-shim.js#L542-589 38 | [10]: https://github.com/bestiejs/lodash 39 | 40 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/node_modules/xtend/node_modules/object-keys/foreach.js: -------------------------------------------------------------------------------- 1 | var hasOwn = Object.prototype.hasOwnProperty; 2 | var toString = Object.prototype.toString; 3 | 4 | var isFunction = function (fn) { 5 | var isFunc = (typeof fn === 'function' && !(fn instanceof RegExp)) || toString.call(fn) === '[object Function]'; 6 | if (!isFunc && typeof window !== 'undefined') { 7 | isFunc = fn === window.setTimeout || fn === window.alert || fn === window.confirm || fn === window.prompt; 8 | } 9 | return isFunc; 10 | }; 11 | 12 | module.exports = function forEach(obj, fn) { 13 | if (!isFunction(fn)) { 14 | throw new TypeError('iterator must be a function'); 15 | } 16 | var i, k, 17 | isString = typeof obj === 'string', 18 | l = obj.length, 19 | context = arguments.length > 2 ? arguments[2] : null; 20 | if (l === +l) { 21 | for (i = 0; i < l; i++) { 22 | if (context === null) { 23 | fn(isString ? obj.charAt(i) : obj[i], i, obj); 24 | } else { 25 | fn.call(context, isString ? obj.charAt(i) : obj[i], i, obj); 26 | } 27 | } 28 | } else { 29 | for (k in obj) { 30 | if (hasOwn.call(obj, k)) { 31 | if (context === null) { 32 | fn(obj[k], k, obj); 33 | } else { 34 | fn.call(context, obj[k], k, obj); 35 | } 36 | } 37 | } 38 | } 39 | }; 40 | 41 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/node_modules/xtend/node_modules/object-keys/index.js: -------------------------------------------------------------------------------- 1 | module.exports = Object.keys || require('./shim'); 2 | 3 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/node_modules/xtend/node_modules/object-keys/isArguments.js: -------------------------------------------------------------------------------- 1 | var toString = Object.prototype.toString; 2 | 3 | module.exports = function isArguments(value) { 4 | var str = toString.call(value); 5 | var isArguments = str === '[object Arguments]'; 6 | if (!isArguments) { 7 | isArguments = str !== '[object Array]' 8 | && value !== null 9 | && typeof value === 'object' 10 | && typeof value.length === 'number' 11 | && value.length >= 0 12 | && toString.call(value.callee) === '[object Function]'; 13 | } 14 | return isArguments; 15 | }; 16 | 17 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/node_modules/xtend/node_modules/object-keys/test/index.js: -------------------------------------------------------------------------------- 1 | 2 | require('./foreach'); 3 | require('./isArguments'); 4 | 5 | require('./shim'); 6 | 7 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/node_modules/xtend/node_modules/object-keys/test/isArguments.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var isArguments = require('../isArguments'); 3 | 4 | test('is.arguments', function (t) { 5 | t.notOk(isArguments([]), 'array is not arguments'); 6 | (function () { t.ok(isArguments(arguments), 'arguments is arguments'); }()); 7 | (function () { t.notOk(isArguments(Array.prototype.slice.call(arguments)), 'sliced arguments is not arguments'); }()); 8 | t.end(); 9 | }); 10 | 11 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/node_modules/xtend/test.js: -------------------------------------------------------------------------------- 1 | var test = require("tape") 2 | var extend = require("./") 3 | var mutableExtend = require("./mutable") 4 | 5 | test("merge", function(assert) { 6 | var a = { a: "foo" } 7 | var b = { b: "bar" } 8 | 9 | assert.deepEqual(extend(a, b), { a: "foo", b: "bar" }) 10 | assert.end() 11 | }) 12 | 13 | test("replace", function(assert) { 14 | var a = { a: "foo" } 15 | var b = { a: "bar" } 16 | 17 | assert.deepEqual(extend(a, b), { a: "bar" }) 18 | assert.end() 19 | }) 20 | 21 | test("undefined", function(assert) { 22 | var a = { a: undefined } 23 | var b = { b: "foo" } 24 | 25 | assert.deepEqual(extend(a, b), { a: undefined, b: "foo" }) 26 | assert.deepEqual(extend(b, a), { a: undefined, b: "foo" }) 27 | assert.end() 28 | }) 29 | 30 | test("handle 0", function(assert) { 31 | var a = { a: "default" } 32 | var b = { a: 0 } 33 | 34 | assert.deepEqual(extend(a, b), { a: 0 }) 35 | assert.deepEqual(extend(b, a), { a: "default" }) 36 | assert.end() 37 | }) 38 | 39 | test("is immutable", function (assert) { 40 | var record = {} 41 | 42 | extend(record, { foo: "bar" }) 43 | assert.equal(record.foo, undefined) 44 | assert.end() 45 | }) 46 | 47 | test("null as argument", function (assert) { 48 | var a = { foo: "bar" } 49 | var b = null 50 | var c = void 0 51 | 52 | assert.deepEqual(extend(b, a, c), { foo: "bar" }) 53 | assert.end() 54 | }) 55 | 56 | test("mutable", function (assert) { 57 | var a = { foo: "bar" } 58 | 59 | mutableExtend(a, { bar: "baz" }) 60 | 61 | assert.equal(a.bar, "baz") 62 | assert.end() 63 | }) 64 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/option.js: -------------------------------------------------------------------------------- 1 | module.exports = OptionError 2 | 3 | function OptionError(message, options) { 4 | var result = new Error() 5 | 6 | Object.defineProperty(result, "type", { 7 | value: result.type, 8 | enumerable: true, 9 | writable: true, 10 | configurable: true 11 | }) 12 | 13 | result.option = options || null 14 | result.message = message 15 | result.type = "OptionError" 16 | 17 | return result 18 | } 19 | 20 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/typed.js: -------------------------------------------------------------------------------- 1 | var format = require("util").format 2 | var extend = require("xtend/mutable") 3 | 4 | var slice = Array.prototype.slice 5 | 6 | module.exports = TypedError 7 | 8 | function TypedError(opts) { 9 | var message = opts.message 10 | 11 | return function createError() { 12 | var result = new Error() 13 | var args = slice.call(arguments) 14 | args.unshift(message) 15 | 16 | Object.defineProperty(result, "type", { 17 | value: result.type, 18 | enumerable: true, 19 | writable: true, 20 | configurable: true 21 | }) 22 | 23 | extend(result, opts) 24 | result.message = format.apply(null, args) 25 | 26 | return result 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/error/validation.js: -------------------------------------------------------------------------------- 1 | module.exports = ValidationError 2 | 3 | function ValidationError(errors) { 4 | var result = new Error() 5 | 6 | Object.defineProperty(result, "type", { 7 | value: result.type, 8 | enumerable: true, 9 | writable: true, 10 | configurable: true 11 | }) 12 | 13 | result.errors = errors 14 | result.message = errors[0].message 15 | result.type = "ValidationError" 16 | 17 | return result 18 | } 19 | 20 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/raw-body/.npmignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | test/ 3 | .travis.yml 4 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/raw-body/node_modules/bytes/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/raw-body/node_modules/bytes/History.md: -------------------------------------------------------------------------------- 1 | 2 | 1.0.0 / 2014-05-05 3 | ================== 4 | 5 | * add negative support. fixes #6 6 | 7 | 0.3.0 / 2014-03-19 8 | ================== 9 | 10 | * added terabyte support 11 | 12 | 0.2.1 / 2013-04-01 13 | ================== 14 | 15 | * add .component 16 | 17 | 0.2.0 / 2012-10-28 18 | ================== 19 | 20 | * bytes(200).should.eql('200b') 21 | 22 | 0.1.0 / 2012-07-04 23 | ================== 24 | 25 | * add bytes to string conversion [yields] 26 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/raw-body/node_modules/bytes/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --reporter spec \ 5 | --require should 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/body/node_modules/raw-body/node_modules/bytes/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bytes", 3 | "description": "byte size string parser / serializer", 4 | "keywords": ["bytes", "utility"], 5 | "version": "0.2.1", 6 | "scripts": ["index.js"] 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/raw-body/node_modules/bytes/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Parse byte `size` string. 4 | * 5 | * @param {String} size 6 | * @return {Number} 7 | * @api public 8 | */ 9 | 10 | module.exports = function(size) { 11 | if ('number' == typeof size) return convert(size); 12 | var parts = size.match(/^(\d+(?:\.\d+)?) *(kb|mb|gb|tb)$/) 13 | , n = parseFloat(parts[1]) 14 | , type = parts[2]; 15 | 16 | var map = { 17 | kb: 1 << 10 18 | , mb: 1 << 20 19 | , gb: 1 << 30 20 | , tb: ((1 << 30) * 1024) 21 | }; 22 | 23 | return map[type] * n; 24 | }; 25 | 26 | /** 27 | * convert bytes into string. 28 | * 29 | * @param {Number} b - bytes to convert 30 | * @return {String} 31 | * @api public 32 | */ 33 | 34 | function convert (b) { 35 | var tb = ((1 << 30) * 1024), gb = 1 << 30, mb = 1 << 20, kb = 1 << 10, abs = Math.abs(b); 36 | if (abs >= tb) return (Math.round(b / tb * 100) / 100) + 'tb'; 37 | if (abs >= gb) return (Math.round(b / gb * 100) / 100) + 'gb'; 38 | if (abs >= mb) return (Math.round(b / mb * 100) / 100) + 'mb'; 39 | if (abs >= kb) return (Math.round(b / kb * 100) / 100) + 'kb'; 40 | return b + 'b'; 41 | } 42 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/raw-body/node_modules/bytes/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bytes", 3 | "author": { 4 | "name": "TJ Holowaychuk", 5 | "email": "tj@vision-media.ca", 6 | "url": "http://tjholowaychuk.com" 7 | }, 8 | "description": "byte size string parser / serializer", 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/visionmedia/bytes.js.git" 12 | }, 13 | "version": "1.0.0", 14 | "main": "index.js", 15 | "dependencies": {}, 16 | "devDependencies": { 17 | "mocha": "*", 18 | "should": "*" 19 | }, 20 | "component": { 21 | "scripts": { 22 | "bytes/index.js": "index.js" 23 | } 24 | }, 25 | "bugs": { 26 | "url": "https://github.com/visionmedia/bytes.js/issues" 27 | }, 28 | "homepage": "https://github.com/visionmedia/bytes.js", 29 | "_id": "bytes@1.0.0", 30 | "dist": { 31 | "shasum": "3569ede8ba34315fab99c3e92cb04c7220de1fa8", 32 | "tarball": "http://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz" 33 | }, 34 | "_from": "bytes@1", 35 | "_npmVersion": "1.4.3", 36 | "_npmUser": { 37 | "name": "tjholowaychuk", 38 | "email": "tj@vision-media.ca" 39 | }, 40 | "maintainers": [ 41 | { 42 | "name": "tjholowaychuk", 43 | "email": "tj@vision-media.ca" 44 | } 45 | ], 46 | "directories": {}, 47 | "_shasum": "3569ede8ba34315fab99c3e92cb04c7220de1fa8", 48 | "_resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", 49 | "readme": "ERROR: No README data found!" 50 | } 51 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/raw-body/node_modules/string_decoder/.npmignore: -------------------------------------------------------------------------------- 1 | build 2 | test 3 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/raw-body/node_modules/string_decoder/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright Joyent, Inc. and other Node contributors. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a 4 | copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to permit 8 | persons to whom the Software is furnished to do so, subject to the 9 | following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included 12 | in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 17 | NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 18 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 19 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 20 | USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/raw-body/node_modules/string_decoder/README.md: -------------------------------------------------------------------------------- 1 | **string_decoder.js** (`require('string_decoder')`) from Node.js core 2 | 3 | Copyright Joyent, Inc. and other Node contributors. See LICENCE file for details. 4 | 5 | Version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.** 6 | 7 | The *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version. -------------------------------------------------------------------------------- /node_modules/body/node_modules/raw-body/node_modules/string_decoder/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "string_decoder", 3 | "version": "0.10.31", 4 | "description": "The string_decoder module from Node core", 5 | "main": "index.js", 6 | "dependencies": {}, 7 | "devDependencies": { 8 | "tap": "~0.4.8" 9 | }, 10 | "scripts": { 11 | "test": "tap test/simple/*.js" 12 | }, 13 | "repository": { 14 | "type": "git", 15 | "url": "git://github.com/rvagg/string_decoder.git" 16 | }, 17 | "homepage": "https://github.com/rvagg/string_decoder", 18 | "keywords": [ 19 | "string", 20 | "decoder", 21 | "browser", 22 | "browserify" 23 | ], 24 | "license": "MIT", 25 | "gitHead": "d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0", 26 | "bugs": { 27 | "url": "https://github.com/rvagg/string_decoder/issues" 28 | }, 29 | "_id": "string_decoder@0.10.31", 30 | "_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94", 31 | "_from": "string_decoder@0.10", 32 | "_npmVersion": "1.4.23", 33 | "_npmUser": { 34 | "name": "rvagg", 35 | "email": "rod@vagg.org" 36 | }, 37 | "maintainers": [ 38 | { 39 | "name": "substack", 40 | "email": "mail@substack.net" 41 | }, 42 | { 43 | "name": "rvagg", 44 | "email": "rod@vagg.org" 45 | } 46 | ], 47 | "dist": { 48 | "shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94", 49 | "tarball": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" 50 | }, 51 | "directories": {}, 52 | "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 53 | "readme": "ERROR: No README data found!" 54 | } 55 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/safe-json-parse/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .monitor 3 | .*.swp 4 | .nodemonignore 5 | releases 6 | *.log 7 | *.err 8 | fleet.json 9 | public/browserify 10 | bin/*.json 11 | .bin 12 | build 13 | compile 14 | .lock-wscript 15 | node_modules 16 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/safe-json-parse/.testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "launchers": { 3 | "node": { 4 | "command": "node ./test" 5 | } 6 | }, 7 | "src_files": [ 8 | "./**/*.js" 9 | ], 10 | "before_tests": "npm run build-test", 11 | "on_exit": "rm test/static/bundle.js", 12 | "test_page": "test/static/index.html", 13 | "launch_in_dev": ["node", "phantomjs"] 14 | } 15 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/safe-json-parse/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | - 0.9 5 | - 0.10 6 | script: node ./test/index.js 7 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/safe-json-parse/LICENCE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Raynos. 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 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/safe-json-parse/README.md: -------------------------------------------------------------------------------- 1 | # safe-json-parse 2 | 3 | [![build status][1]][2] [![dependency status][3]][4] 4 | 5 | 6 | 7 | Parse JSON safely without throwing 8 | 9 | ## Example 10 | 11 | ```js 12 | var safeParse = require("safe-json-parse") 13 | 14 | safeParse("{}", function (err, json) { 15 | /* we have json */ 16 | }) 17 | 18 | safeparse("WRONG", function (err) { 19 | /* we have err! */ 20 | }) 21 | ``` 22 | 23 | ## Installation 24 | 25 | `npm install safe-json-parse` 26 | 27 | ## Contributors 28 | 29 | - Raynos 30 | 31 | ## MIT Licenced 32 | 33 | 34 | [1]: https://secure.travis-ci.org/Raynos/safe-json-parse.png 35 | [2]: https://travis-ci.org/Raynos/safe-json-parse 36 | [3]: https://david-dm.org/Raynos/safe-json-parse.png 37 | [4]: https://david-dm.org/Raynos/safe-json-parse 38 | [5]: https://ci.testling.com/Raynos/safe-json-parse.png 39 | [6]: https://ci.testling.com/Raynos/safe-json-parse 40 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/safe-json-parse/examples/simple.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tutsplus/Getting-Started-With-Backbone/c10e758af7338181138891e819ce361ed86f429d/node_modules/body/node_modules/safe-json-parse/examples/simple.js -------------------------------------------------------------------------------- /node_modules/body/node_modules/safe-json-parse/index.js: -------------------------------------------------------------------------------- 1 | module.exports = SafeParse 2 | 3 | function SafeParse(obj, reviver, callback) { 4 | if (arguments.length === 2) { 5 | callback = reviver 6 | reviver = null 7 | } 8 | 9 | var json 10 | 11 | try { 12 | json = JSON.parse(obj, reviver) 13 | } catch (err) { 14 | return callback(err) 15 | } 16 | 17 | callback(null, json) 18 | } 19 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/safe-json-parse/test/index.js: -------------------------------------------------------------------------------- 1 | var test = require("tape") 2 | 3 | var safeParse = require("../index") 4 | 5 | test("safeParse is a function", function (assert) { 6 | assert.equal(typeof safeParse, "function") 7 | assert.end() 8 | }) 9 | 10 | test("safeParse valid json", function (assert) { 11 | safeParse("{ \"foo\": true }", function (err, json) { 12 | assert.ifError(err) 13 | assert.equal(json.foo, true) 14 | 15 | assert.end() 16 | }) 17 | }) 18 | 19 | test("safeParse faulty", function (assert) { 20 | safeParse("WRONG", function (err) { 21 | assert.ok(err) 22 | assert.equal(err.message, "Unexpected token W") 23 | 24 | assert.end() 25 | }) 26 | }) 27 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/safe-json-parse/test/static/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | TAPE Example 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /node_modules/body/node_modules/safe-json-parse/test/static/test-adapter.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | var Testem = window.Testem 3 | var regex = /^((?:not )?ok) (\d+) (.+)$/ 4 | 5 | Testem.useCustomAdapter(tapAdapter) 6 | 7 | function tapAdapter(socket){ 8 | var results = { 9 | failed: 0 10 | , passed: 0 11 | , total: 0 12 | , tests: [] 13 | } 14 | 15 | socket.emit('tests-start') 16 | 17 | Testem.handleConsoleMessage = function(msg){ 18 | var m = msg.match(regex) 19 | if (m) { 20 | var passed = m[1] === 'ok' 21 | var test = { 22 | passed: passed ? 1 : 0, 23 | failed: passed ? 0 : 1, 24 | total: 1, 25 | id: m[2], 26 | name: m[3], 27 | items: [] 28 | } 29 | 30 | if (passed) { 31 | results.passed++ 32 | } else { 33 | results.failed++ 34 | } 35 | 36 | results.total++ 37 | 38 | socket.emit('test-result', test) 39 | results.tests.push(test) 40 | } else if (msg === '# ok' || msg.match(/^# tests \d+/)){ 41 | socket.emit('all-test-results', results) 42 | } 43 | 44 | // return false if you want to prevent the console message from 45 | // going to the console 46 | // return false 47 | } 48 | } 49 | }()) 50 | -------------------------------------------------------------------------------- /node_modules/body/parse-arguments.js: -------------------------------------------------------------------------------- 1 | module.exports = parseArguments 2 | 3 | function isWritable(stream) { 4 | return typeof stream.write === "function" && 5 | typeof stream.end === "function" 6 | } 7 | 8 | function parseArguments(req, res, opts, callback) { 9 | // (req, cb) 10 | if (typeof res === "function") { 11 | callback = res 12 | opts = {} 13 | res = null 14 | } 15 | 16 | // (req, res, cb) 17 | if (typeof opts === "function") { 18 | callback = opts 19 | opts = {} 20 | } 21 | 22 | // (req, opts, cb) 23 | if (res && !isWritable(res)) { 24 | opts = res 25 | res = null 26 | } 27 | 28 | // default (req, res, opts, cb) 29 | return { req: req, res: res, opts: opts, callback: callback } 30 | } 31 | -------------------------------------------------------------------------------- /node_modules/express/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2009-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 | -------------------------------------------------------------------------------- /node_modules/express/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/express'); 3 | -------------------------------------------------------------------------------- /node_modules/express/lib/middleware/init.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Initialization middleware, exposing the 3 | * request and response to each other, as well 4 | * as defaulting the X-Powered-By header field. 5 | * 6 | * @param {Function} app 7 | * @return {Function} 8 | * @api private 9 | */ 10 | 11 | exports.init = function(app){ 12 | return function expressInit(req, res, next){ 13 | if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express'); 14 | req.res = res; 15 | res.req = req; 16 | req.next = next; 17 | 18 | req.__proto__ = app.request; 19 | res.__proto__ = app.response; 20 | 21 | res.locals = res.locals || Object.create(null); 22 | 23 | next(); 24 | }; 25 | }; 26 | 27 | -------------------------------------------------------------------------------- /node_modules/express/lib/middleware/query.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Module dependencies. 3 | */ 4 | 5 | var parseUrl = require('parseurl'); 6 | var qs = require('qs'); 7 | 8 | /** 9 | * @param {Object} options 10 | * @return {Function} 11 | * @api public 12 | */ 13 | 14 | module.exports = function query(options) { 15 | var queryparse = qs.parse; 16 | 17 | if (typeof options === 'function') { 18 | queryparse = options; 19 | options = undefined; 20 | } 21 | 22 | return function query(req, res, next){ 23 | if (!req.query) { 24 | var val = parseUrl(req).query; 25 | req.query = queryparse(val, options); 26 | } 27 | 28 | next(); 29 | }; 30 | }; 31 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/mime-types/HISTORY.md: -------------------------------------------------------------------------------- 1 | 2.0.7 / 2014-12-30 2 | ================== 3 | 4 | * deps: mime-db@~1.5.0 5 | - Add new mime types 6 | - Fix various invalid MIME type entries 7 | 8 | 2.0.6 / 2014-12-30 9 | ================== 10 | 11 | * deps: mime-db@~1.4.0 12 | - Add new mime types 13 | - Fix various invalid MIME type entries 14 | - Remove example template MIME types 15 | 16 | 2.0.5 / 2014-12-29 17 | ================== 18 | 19 | * deps: mime-db@~1.3.1 20 | - Fix missing extensions 21 | 22 | 2.0.4 / 2014-12-10 23 | ================== 24 | 25 | * deps: mime-db@~1.3.0 26 | - Add new mime types 27 | 28 | 2.0.3 / 2014-11-09 29 | ================== 30 | 31 | * deps: mime-db@~1.2.0 32 | - Add new mime types 33 | 34 | 2.0.2 / 2014-09-28 35 | ================== 36 | 37 | * deps: mime-db@~1.1.0 38 | - Add new mime types 39 | - Add additional compressible 40 | - Update charsets 41 | 42 | 2.0.1 / 2014-09-07 43 | ================== 44 | 45 | * Support Node.js 0.6 46 | 47 | 2.0.0 / 2014-09-02 48 | ================== 49 | 50 | * Use `mime-db` 51 | * Remove `.define()` 52 | 53 | 1.0.2 / 2014-08-04 54 | ================== 55 | 56 | * Set charset=utf-8 for `text/javascript` 57 | 58 | 1.0.1 / 2014-06-24 59 | ================== 60 | 61 | * Add `text/jsx` type 62 | 63 | 1.0.0 / 2014-05-12 64 | ================== 65 | 66 | * Return `false` for unknown types 67 | * Set charset=utf-8 for `application/json` 68 | 69 | 0.1.0 / 2014-05-02 70 | ================== 71 | 72 | * Initial release 73 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/mime-types/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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/mime-types/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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/mime-types/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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/negotiator/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.5.0 / 2014-12-18 2 | ================== 3 | 4 | * Fix list return order when large accepted list 5 | * Fix missing identity encoding when q=0 exists 6 | * Remove dynamic building of Negotiator class 7 | 8 | 0.4.9 / 2014-10-14 9 | ================== 10 | 11 | * Fix error when media type has invalid parameter 12 | 13 | 0.4.8 / 2014-09-28 14 | ================== 15 | 16 | * Fix all negotiations to be case-insensitive 17 | * Stable sort preferences of same quality according to client order 18 | * Support Node.js 0.6 19 | 20 | 0.4.7 / 2014-06-24 21 | ================== 22 | 23 | * Handle invalid provided languages 24 | * Handle invalid provided media types 25 | 26 | 0.4.6 / 2014-06-11 27 | ================== 28 | 29 | * Order by specificity when quality is the same 30 | 31 | 0.4.5 / 2014-05-29 32 | ================== 33 | 34 | * Fix regression in empty header handling 35 | 36 | 0.4.4 / 2014-05-29 37 | ================== 38 | 39 | * Fix behaviors when headers are not present 40 | 41 | 0.4.3 / 2014-04-16 42 | ================== 43 | 44 | * Handle slashes on media params correctly 45 | 46 | 0.4.2 / 2014-02-28 47 | ================== 48 | 49 | * Fix media type sorting 50 | * Handle media types params strictly 51 | 52 | 0.4.1 / 2014-01-16 53 | ================== 54 | 55 | * Use most specific matches 56 | 57 | 0.4.0 / 2014-01-09 58 | ================== 59 | 60 | * Remove preferred prefix from methods 61 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/negotiator/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012 Federico Romero 4 | Copyright (c) 2012-2014 Isaac Z. Schlueter 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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie-signature/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie-signature/History.md: -------------------------------------------------------------------------------- 1 | 1.0.4 / 2014-06-25 2 | ================== 3 | 4 | * corrected avoidance of timing attacks (thanks @tenbits!) 5 | 6 | 7 | 1.0.3 / 2014-01-28 8 | ================== 9 | 10 | * [incorrect] fix for timing attacks 11 | 12 | 1.0.2 / 2014-01-28 13 | ================== 14 | 15 | * fix missing repository warning 16 | * fix typo in test 17 | 18 | 1.0.1 / 2013-04-15 19 | ================== 20 | 21 | * Revert "Changed underlying HMAC algo. to sha512." 22 | * Revert "Fix for timing attacks on MAC verification." 23 | 24 | 0.0.1 / 2010-01-03 25 | ================== 26 | 27 | * Initial release 28 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie-signature/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --require should \ 5 | --reporter spec 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /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 required'); 18 | if ('string' != typeof secret) throw new TypeError('secret required'); 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('cookie required'); 38 | if ('string' != typeof secret) throw new TypeError('secret required'); 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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie-signature/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cookie-signature", 3 | "version": "1.0.5", 4 | "description": "Sign and unsign cookies", 5 | "keywords": [ 6 | "cookie", 7 | "sign", 8 | "unsign" 9 | ], 10 | "author": { 11 | "name": "TJ Holowaychuk", 12 | "email": "tj@learnboost.com" 13 | }, 14 | "license": "MIT", 15 | "repository": { 16 | "type": "git", 17 | "url": "https://github.com/visionmedia/node-cookie-signature.git" 18 | }, 19 | "dependencies": {}, 20 | "devDependencies": { 21 | "mocha": "*", 22 | "should": "*" 23 | }, 24 | "main": "index", 25 | "gitHead": "73ed69b511b3ef47555d71b4ed1deea9e5ed6e1f", 26 | "bugs": { 27 | "url": "https://github.com/visionmedia/node-cookie-signature/issues" 28 | }, 29 | "homepage": "https://github.com/visionmedia/node-cookie-signature", 30 | "_id": "cookie-signature@1.0.5", 31 | "scripts": {}, 32 | "_shasum": "a122e3f1503eca0f5355795b0711bb2368d450f9", 33 | "_from": "cookie-signature@1.0.5", 34 | "_npmVersion": "1.4.20", 35 | "_npmUser": { 36 | "name": "natevw", 37 | "email": "natevw@yahoo.com" 38 | }, 39 | "maintainers": [ 40 | { 41 | "name": "tjholowaychuk", 42 | "email": "tj@vision-media.ca" 43 | }, 44 | { 45 | "name": "natevw", 46 | "email": "natevw@yahoo.com" 47 | } 48 | ], 49 | "dist": { 50 | "shasum": "a122e3f1503eca0f5355795b0711bb2368d450f9", 51 | "tarball": "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.5.tgz" 52 | }, 53 | "directories": {}, 54 | "_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.5.tgz" 55 | } 56 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | .travis.yml 3 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie/LICENSE: -------------------------------------------------------------------------------- 1 | // MIT License 2 | 3 | Copyright (C) Roman Shtylman 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie/README.md: -------------------------------------------------------------------------------- 1 | # cookie [![Build Status](https://secure.travis-ci.org/defunctzombie/node-cookie.png?branch=master)](http://travis-ci.org/defunctzombie/node-cookie) # 2 | 3 | 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. 4 | 5 | See [RFC6265](http://tools.ietf.org/html/rfc6265) for details about the http header for cookies. 6 | 7 | ## how? 8 | 9 | ``` 10 | npm install cookie 11 | ``` 12 | 13 | ```javascript 14 | var cookie = require('cookie'); 15 | 16 | var hdr = cookie.serialize('foo', 'bar'); 17 | // hdr = 'foo=bar'; 18 | 19 | var cookies = cookie.parse('foo=bar; cat=meow; dog=ruff'); 20 | // cookies = { foo: 'bar', cat: 'meow', dog: 'ruff' }; 21 | ``` 22 | 23 | ## more 24 | 25 | The serialize function takes a third parameter, an object, to set cookie options. See the RFC for valid values. 26 | 27 | ### path 28 | > cookie path 29 | 30 | ### expires 31 | > absolute expiration date for the cookie (Date object) 32 | 33 | ### maxAge 34 | > relative max age of the cookie from when the client receives it (seconds) 35 | 36 | ### domain 37 | > domain for the cookie 38 | 39 | ### secure 40 | > true or false 41 | 42 | ### httpOnly 43 | > true or false 44 | 45 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "name": "Roman Shtylman", 4 | "email": "shtylman@gmail.com" 5 | }, 6 | "name": "cookie", 7 | "description": "cookie parsing and serialization", 8 | "version": "0.1.2", 9 | "repository": { 10 | "type": "git", 11 | "url": "git://github.com/shtylman/node-cookie.git" 12 | }, 13 | "keywords": [ 14 | "cookie", 15 | "cookies" 16 | ], 17 | "main": "index.js", 18 | "scripts": { 19 | "test": "mocha" 20 | }, 21 | "dependencies": {}, 22 | "devDependencies": { 23 | "mocha": "1.x.x" 24 | }, 25 | "optionalDependencies": {}, 26 | "engines": { 27 | "node": "*" 28 | }, 29 | "bugs": { 30 | "url": "https://github.com/shtylman/node-cookie/issues" 31 | }, 32 | "homepage": "https://github.com/shtylman/node-cookie", 33 | "_id": "cookie@0.1.2", 34 | "dist": { 35 | "shasum": "72fec3d24e48a3432073d90c12642005061004b1", 36 | "tarball": "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz" 37 | }, 38 | "_from": "cookie@0.1.2", 39 | "_npmVersion": "1.4.6", 40 | "_npmUser": { 41 | "name": "shtylman", 42 | "email": "shtylman@gmail.com" 43 | }, 44 | "maintainers": [ 45 | { 46 | "name": "shtylman", 47 | "email": "shtylman@gmail.com" 48 | } 49 | ], 50 | "directories": {}, 51 | "_shasum": "72fec3d24e48a3432073d90c12642005061004b1", 52 | "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz" 53 | } 54 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "laxbreak": true 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | -------------------------------------------------------------------------------- /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 node_modules 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 | node_modules: package.json 30 | @NODE_ENV= $(NPM) install 31 | @touch node_modules 32 | 33 | .PHONY: all install clean 34 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "visionmedia/debug", 3 | "main": "dist/debug.js", 4 | "version": "2.1.1", 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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.1.1", 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 | "guille/ms.js": "0.6.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/node_modules/ms/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test 3 | History.md 4 | Makefile 5 | component.json 6 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/node_modules/ms/README.md: -------------------------------------------------------------------------------- 1 | # ms.js: miliseconds conversion utility 2 | 3 | ```js 4 | ms('1d') // 86400000 5 | ms('10h') // 36000000 6 | ms('2h') // 7200000 7 | ms('1m') // 60000 8 | ms('5s') // 5000 9 | ms('100') // 100 10 | ``` 11 | 12 | ```js 13 | ms(60000) // "1m" 14 | ms(2 * 60000) // "2m" 15 | ms(ms('10 hours')) // "10h" 16 | ``` 17 | 18 | ```js 19 | ms(60000, { long: true }) // "1 minute" 20 | ms(2 * 60000, { long: true }) // "2 minutes" 21 | ms(ms('10 hours', { long: true })) // "10 hours" 22 | ``` 23 | 24 | - Node/Browser compatible. Published as `ms` in NPM. 25 | - If a number is supplied to `ms`, a string with a unit is returned. 26 | - If a string that contains the number is supplied, it returns it as 27 | a number (e.g: it returns `100` for `'100'`). 28 | - If you pass a string with a number and a valid unit, the number of 29 | equivalent ms is returned. 30 | 31 | ## License 32 | 33 | MIT -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/node_modules/ms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ms", 3 | "version": "0.6.2", 4 | "description": "Tiny ms conversion utility", 5 | "repository": { 6 | "type": "git", 7 | "url": "git://github.com/guille/ms.js.git" 8 | }, 9 | "main": "./index", 10 | "devDependencies": { 11 | "mocha": "*", 12 | "expect.js": "*", 13 | "serve": "*" 14 | }, 15 | "component": { 16 | "scripts": { 17 | "ms/index.js": "index.js" 18 | } 19 | }, 20 | "bugs": { 21 | "url": "https://github.com/guille/ms.js/issues" 22 | }, 23 | "_id": "ms@0.6.2", 24 | "dist": { 25 | "shasum": "d89c2124c6fdc1353d65a8b77bf1aac4b193708c", 26 | "tarball": "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz" 27 | }, 28 | "_from": "ms@0.6.2", 29 | "_npmVersion": "1.2.30", 30 | "_npmUser": { 31 | "name": "rauchg", 32 | "email": "rauchg@gmail.com" 33 | }, 34 | "maintainers": [ 35 | { 36 | "name": "rauchg", 37 | "email": "rauchg@gmail.com" 38 | } 39 | ], 40 | "directories": {}, 41 | "_shasum": "d89c2124c6fdc1353d65a8b77bf1aac4b193708c", 42 | "_resolved": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz" 43 | } 44 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/escape-html/.npmignore: -------------------------------------------------------------------------------- 1 | components 2 | build 3 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/escape-html/Makefile: -------------------------------------------------------------------------------- 1 | 2 | build: components index.js 3 | @component build 4 | 5 | components: 6 | @Component install 7 | 8 | clean: 9 | rm -fr build components template.js 10 | 11 | .PHONY: clean 12 | -------------------------------------------------------------------------------- /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 -------------------------------------------------------------------------------- /node_modules/express/node_modules/escape-html/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "escape-html", 3 | "description": "Escape HTML entities", 4 | "version": "1.0.1", 5 | "keywords": ["escape", "html", "utility"], 6 | "dependencies": {}, 7 | "scripts": [ 8 | "index.js" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/escape-html/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Escape special characters in the given string of html. 3 | * 4 | * @param {String} html 5 | * @return {String} 6 | * @api private 7 | */ 8 | 9 | module.exports = function(html) { 10 | return String(html) 11 | .replace(/&/g, '&') 12 | .replace(/"/g, '"') 13 | .replace(/'/g, ''') 14 | .replace(//g, '>'); 16 | } 17 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/escape-html/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "escape-html", 3 | "description": "Escape HTML entities", 4 | "version": "1.0.1", 5 | "keywords": [ 6 | "escape", 7 | "html", 8 | "utility" 9 | ], 10 | "dependencies": {}, 11 | "main": "index.js", 12 | "component": { 13 | "scripts": { 14 | "escape-html/index.js": "index.js" 15 | } 16 | }, 17 | "repository": { 18 | "type": "git", 19 | "url": "https://github.com/component/escape-html.git" 20 | }, 21 | "readme": "\n# escape-html\n\n Escape HTML entities\n\n## Example\n\n```js\nvar escape = require('escape-html');\nescape(str);\n```\n\n## License\n\n MIT", 22 | "readmeFilename": "Readme.md", 23 | "bugs": { 24 | "url": "https://github.com/component/escape-html/issues" 25 | }, 26 | "homepage": "https://github.com/component/escape-html", 27 | "_id": "escape-html@1.0.1", 28 | "dist": { 29 | "shasum": "181a286ead397a39a92857cfb1d43052e356bff0", 30 | "tarball": "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz" 31 | }, 32 | "_from": "escape-html@1.0.1", 33 | "_npmVersion": "1.3.15", 34 | "_npmUser": { 35 | "name": "tjholowaychuk", 36 | "email": "tj@vision-media.ca" 37 | }, 38 | "maintainers": [ 39 | { 40 | "name": "tjholowaychuk", 41 | "email": "tj@vision-media.ca" 42 | } 43 | ], 44 | "directories": {}, 45 | "_shasum": "181a286ead397a39a92857cfb1d43052e356bff0", 46 | "_resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz" 47 | } 48 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/etag/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.5.1 / 2014-11-19 2 | ================== 3 | 4 | * deps: crc@3.2.1 5 | - Minor fixes 6 | 7 | 1.5.0 / 2014-10-14 8 | ================== 9 | 10 | * Improve string performance 11 | * Slightly improve speed for weak ETags over 1KB 12 | 13 | 1.4.0 / 2014-09-21 14 | ================== 15 | 16 | * Support "fake" stats objects 17 | * Support Node.js 0.6 18 | 19 | 1.3.1 / 2014-09-14 20 | ================== 21 | 22 | * Use the (new and improved) `crc` for crc32 23 | 24 | 1.3.0 / 2014-08-29 25 | ================== 26 | 27 | * Default strings to strong ETags 28 | * Improve speed for weak ETags over 1KB 29 | 30 | 1.2.1 / 2014-08-29 31 | ================== 32 | 33 | * Use the (much faster) `buffer-crc32` for crc32 34 | 35 | 1.2.0 / 2014-08-24 36 | ================== 37 | 38 | * Add support for file stat objects 39 | 40 | 1.1.0 / 2014-08-24 41 | ================== 42 | 43 | * Add fast-path for empty entity 44 | * Add weak ETag generation 45 | * Shrink size of generated ETags 46 | 47 | 1.0.1 / 2014-08-24 48 | ================== 49 | 50 | * Fix behavior of string containing Unicode 51 | 52 | 1.0.0 / 2014-05-18 53 | ================== 54 | 55 | * Initial release 56 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/etag/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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/etag/node_modules/crc/.npmignore: -------------------------------------------------------------------------------- 1 | benchmark 2 | src 3 | test 4 | .travis.yml 5 | bitcoin.png 6 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/etag/node_modules/crc/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2014 Alex Gorbatchev 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 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/etag/node_modules/crc/lib/crc1.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.7.1 2 | var Buffer, create; 3 | 4 | Buffer = require('buffer').Buffer; 5 | 6 | create = require('./create'); 7 | 8 | module.exports = create('crc1', function(buf, previous) { 9 | var accum, byte, crc, _i, _len; 10 | if (!Buffer.isBuffer(buf)) { 11 | buf = Buffer(buf); 12 | } 13 | crc = ~~previous; 14 | accum = 0; 15 | for (_i = 0, _len = buf.length; _i < _len; _i++) { 16 | byte = buf[_i]; 17 | accum += byte; 18 | } 19 | crc += accum % 256; 20 | return crc % 256; 21 | }); 22 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/etag/node_modules/crc/lib/create.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.7.1 2 | module.exports = function(model, calc) { 3 | var fn; 4 | fn = function(buf, previous) { 5 | return calc(buf, previous) >>> 0; 6 | }; 7 | fn.signed = calc; 8 | fn.unsigned = fn; 9 | fn.model = model; 10 | return fn; 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/etag/node_modules/crc/lib/hex.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.7.1 2 | module.exports = function(number) { 3 | var result; 4 | result = number.toString(16); 5 | while (result.length % 2) { 6 | result = "0" + result; 7 | } 8 | return result; 9 | }; 10 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/etag/node_modules/crc/lib/index.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.7.1 2 | module.exports = { 3 | crc1: require('./crc1'), 4 | crc8: require('./crc8'), 5 | crc81wire: require('./crc8_1wire'), 6 | crc16: require('./crc16'), 7 | crc16ccitt: require('./crc16_ccitt'), 8 | crc16modbus: require('./crc16_modbus'), 9 | crc24: require('./crc24'), 10 | crc32: require('./crc32') 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/finalhandler/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.3.3 / 2015-01-01 2 | ================== 3 | 4 | * deps: debug@~2.1.1 5 | * deps: on-finished@~2.2.0 6 | 7 | 0.3.2 / 2014-10-22 8 | ================== 9 | 10 | * deps: on-finished@~2.1.1 11 | - Fix handling of pipelined requests 12 | 13 | 0.3.1 / 2014-10-16 14 | ================== 15 | 16 | * deps: debug@~2.1.0 17 | - Implement `DEBUG_FD` env variable support 18 | 19 | 0.3.0 / 2014-09-17 20 | ================== 21 | 22 | * Terminate in progress response only on error 23 | * Use `on-finished` to determine request status 24 | 25 | 0.2.0 / 2014-09-03 26 | ================== 27 | 28 | * Set `X-Content-Type-Options: nosniff` header 29 | * deps: debug@~2.0.0 30 | 31 | 0.1.0 / 2014-07-16 32 | ================== 33 | 34 | * Respond after request fully read 35 | - prevents hung responses and socket hang ups 36 | * deps: debug@1.0.4 37 | 38 | 0.0.3 / 2014-07-11 39 | ================== 40 | 41 | * deps: debug@1.0.3 42 | - Add support for multiple wildcards in namespaces 43 | 44 | 0.0.2 / 2014-06-19 45 | ================== 46 | 47 | * Handle invalid status codes 48 | 49 | 0.0.1 / 2014-06-05 50 | ================== 51 | 52 | * deps: debug@1.0.2 53 | 54 | 0.0.0 / 2014-06-05 55 | ================== 56 | 57 | * Extracted from connect/express 58 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/finalhandler/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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/fresh/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.2.4 / 2014-09-07 2 | ================== 3 | 4 | * Support Node.js 0.6 5 | 6 | 0.2.3 / 2014-09-07 7 | ================== 8 | 9 | * Move repository to jshttp 10 | 11 | 0.2.2 / 2014-02-19 12 | ================== 13 | 14 | * Revert "Fix for blank page on Safari reload" 15 | 16 | 0.2.1 / 2014-01-29 17 | ================== 18 | 19 | * fix: support max-age=0 for end-to-end revalidation 20 | 21 | 0.2.0 / 2013-08-11 22 | ================== 23 | 24 | * fix: return false for no-cache 25 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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) etagMatches = ~noneMatch.indexOf(etag) || '*' == noneMatch[0]; 44 | 45 | // if-modified-since 46 | if (modifiedSince) { 47 | modifiedSince = new Date(modifiedSince); 48 | lastModified = new Date(lastModified); 49 | notModified = lastModified <= modifiedSince; 50 | } 51 | 52 | return !! (etagMatches && notModified); 53 | } -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/merge-descriptors/.npmignore: -------------------------------------------------------------------------------- 1 | # Compiled source # 2 | ################### 3 | *.com 4 | *.class 5 | *.dll 6 | *.exe 7 | *.o 8 | *.so 9 | 10 | # Packages # 11 | ############ 12 | # it's better to unpack these files and commit the raw source 13 | # git has its own built in compression methods 14 | *.7z 15 | *.dmg 16 | *.gz 17 | *.iso 18 | *.jar 19 | *.rar 20 | *.tar 21 | *.zip 22 | 23 | # Logs and databases # 24 | ###################### 25 | *.log 26 | *.sql 27 | *.sqlite 28 | 29 | # OS generated files # 30 | ###################### 31 | .DS_Store* 32 | ehthumbs.db 33 | Icon? 34 | Thumbs.db 35 | 36 | # Node.js # 37 | ########### 38 | lib-cov 39 | *.seed 40 | *.log 41 | *.csv 42 | *.dat 43 | *.out 44 | *.pid 45 | *.gz 46 | 47 | pids 48 | logs 49 | results 50 | 51 | node_modules 52 | npm-debug.log 53 | 54 | # Components # 55 | ############## 56 | 57 | /build 58 | /components 59 | /vendors -------------------------------------------------------------------------------- /node_modules/express/node_modules/merge-descriptors/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "merge-descriptors", 3 | "description": "Merge objects using descriptors", 4 | "version": "0.0.2", 5 | "scripts": [ 6 | "index.js" 7 | ], 8 | "repo": "component/merge-descriptors", 9 | "license": "MIT" 10 | } -------------------------------------------------------------------------------- /node_modules/express/node_modules/merge-descriptors/index.js: -------------------------------------------------------------------------------- 1 | module.exports = function (dest, src) { 2 | Object.getOwnPropertyNames(src).forEach(function (name) { 3 | var descriptor = Object.getOwnPropertyDescriptor(src, name) 4 | Object.defineProperty(dest, name, descriptor) 5 | }) 6 | 7 | return dest 8 | } -------------------------------------------------------------------------------- /node_modules/express/node_modules/merge-descriptors/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "merge-descriptors", 3 | "description": "Merge objects using descriptors", 4 | "version": "0.0.2", 5 | "author": { 6 | "name": "Jonathan Ong", 7 | "email": "me@jongleberry.com", 8 | "url": "http://jongleberry.com" 9 | }, 10 | "license": "MIT", 11 | "repository": { 12 | "type": "git", 13 | "url": "https://github.com/component/merge-descriptors.git" 14 | }, 15 | "bugs": { 16 | "url": "https://github.com/component/merge-descriptors/issues" 17 | }, 18 | "scripts": { 19 | "test": "make test;" 20 | }, 21 | "homepage": "https://github.com/component/merge-descriptors", 22 | "_id": "merge-descriptors@0.0.2", 23 | "dist": { 24 | "shasum": "c36a52a781437513c57275f39dd9d317514ac8c7", 25 | "tarball": "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz" 26 | }, 27 | "_from": "merge-descriptors@0.0.2", 28 | "_npmVersion": "1.3.17", 29 | "_npmUser": { 30 | "name": "jongleberry", 31 | "email": "jonathanrichardong@gmail.com" 32 | }, 33 | "maintainers": [ 34 | { 35 | "name": "jongleberry", 36 | "email": "jonathanrichardong@gmail.com" 37 | } 38 | ], 39 | "directories": {}, 40 | "_shasum": "c36a52a781437513c57275f39dd9d317514ac8c7", 41 | "_resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz" 42 | } 43 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/on-finished/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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/parseurl/.npmignore: -------------------------------------------------------------------------------- 1 | benchmark/ 2 | coverage/ 3 | test/ 4 | .travis.yml 5 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/path-to-regexp/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/path-to-regexp/History.md: -------------------------------------------------------------------------------- 1 | 0.1.3 / 2014-07-06 2 | ================== 3 | 4 | * Better array support 5 | * Improved support for trailing slash in non-ending mode 6 | 7 | 0.1.0 / 2014-03-06 8 | ================== 9 | 10 | * add options.end 11 | 12 | 0.0.2 / 2013-02-10 13 | ================== 14 | 15 | * Update to match current express 16 | * add .license property to component.json 17 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/path-to-regexp/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # Path-to-RegExp 3 | 4 | Turn an Express-style path string such as `/user/:name` into a regular expression. 5 | 6 | ## Usage 7 | 8 | ```javascript 9 | var pathToRegexp = require('path-to-regexp'); 10 | ``` 11 | ### pathToRegexp(path, keys, options) 12 | 13 | - **path** A string in the express format, an array of such strings, or a regular expression 14 | - **keys** An array to be populated with the keys present in the url. Once the function completes, this will be an array of strings. 15 | - **options** 16 | - **options.sensitive** Defaults to false, set this to true to make routes case sensitive 17 | - **options.strict** Defaults to false, set this to true to make the trailing slash matter. 18 | - **options.end** Defaults to true, set this to false to only match the prefix of the URL. 19 | 20 | ```javascript 21 | var keys = []; 22 | var exp = pathToRegexp('/foo/:bar', keys); 23 | //keys = ['bar'] 24 | //exp = /^\/foo\/(?:([^\/]+?))\/?$/i 25 | ``` 26 | 27 | ## Live Demo 28 | 29 | You can see a live demo of this library in use at [express-route-tester](http://forbeslindesay.github.com/express-route-tester/). 30 | 31 | ## License 32 | 33 | MIT -------------------------------------------------------------------------------- /node_modules/express/node_modules/path-to-regexp/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "path-to-regexp", 3 | "description": "Express style path to RegExp utility", 4 | "version": "0.1.3", 5 | "keywords": [ 6 | "express", 7 | "regexp", 8 | "route", 9 | "routing" 10 | ], 11 | "scripts": [ 12 | "index.js" 13 | ], 14 | "license": "MIT" 15 | } 16 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/proxy-addr/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.5 / 2015-01-08 2 | ================== 3 | 4 | * deps: ipaddr.js@0.1.6 5 | 6 | 1.0.4 / 2014-11-23 7 | ================== 8 | 9 | * deps: ipaddr.js@0.1.5 10 | - Fix edge cases with `isValid` 11 | 12 | 1.0.3 / 2014-09-21 13 | ================== 14 | 15 | * Use `forwarded` npm module 16 | 17 | 1.0.2 / 2014-09-18 18 | ================== 19 | 20 | * Fix a global leak when multiple subnets are trusted 21 | * Support Node.js 0.6 22 | * deps: ipaddr.js@0.1.3 23 | 24 | 1.0.1 / 2014-06-03 25 | ================== 26 | 27 | * Fix links in npm package 28 | 29 | 1.0.0 / 2014-05-08 30 | ================== 31 | 32 | * Add `trust` argument to determine proxy trust on 33 | * Accepts custom function 34 | * Accepts IPv4/IPv6 address(es) 35 | * Accepts subnets 36 | * Accepts pre-defined names 37 | * Add optional `trust` argument to `proxyaddr.all` to 38 | stop at first untrusted 39 | * Add `proxyaddr.compile` to pre-compile `trust` function 40 | to make subsequent calls faster 41 | 42 | 0.0.1 / 2014-05-04 43 | ================== 44 | 45 | * Fix bad npm publish 46 | 47 | 0.0.0 / 2014-05-04 48 | ================== 49 | 50 | * Initial release 51 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/proxy-addr/node_modules/forwarded/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.1.0 / 2014-09-21 2 | ================== 3 | 4 | * Initial release 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/proxy-addr/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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/proxy-addr/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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/.npmignore: -------------------------------------------------------------------------------- 1 | .idea 2 | node_modules 3 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/proxy-addr/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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/proxy-addr/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. -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/.jshintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "node": true, 3 | 4 | "curly": true, 5 | "latedef": true, 6 | "quotmark": true, 7 | "undef": true, 8 | "unused": true, 9 | "trailing": true 10 | } 11 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - 0.10 -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/Makefile: -------------------------------------------------------------------------------- 1 | test: 2 | @node node_modules/lab/bin/lab -a code -L 3 | test-cov: 4 | @node node_modules/lab/bin/lab -a code -t 100 -L 5 | test-cov-html: 6 | @node node_modules/lab/bin/lab -a code -L -r html -o coverage.html 7 | 8 | .PHONY: test test-cov test-cov-html 9 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/'); 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "qs", 3 | "version": "2.3.3", 4 | "description": "A querystring parser that supports nesting and arrays, with a depth limit", 5 | "homepage": "https://github.com/hapijs/qs", 6 | "main": "index.js", 7 | "dependencies": {}, 8 | "devDependencies": { 9 | "code": "1.x.x", 10 | "lab": "5.x.x" 11 | }, 12 | "scripts": { 13 | "test": "make test-cov" 14 | }, 15 | "repository": { 16 | "type": "git", 17 | "url": "https://github.com/hapijs/qs.git" 18 | }, 19 | "keywords": [ 20 | "querystring", 21 | "qs" 22 | ], 23 | "licenses": [ 24 | { 25 | "type": "BSD", 26 | "url": "http://github.com/hapijs/qs/raw/master/LICENSE" 27 | } 28 | ], 29 | "gitHead": "9250c4cda5102fcf72441445816e6d311fc6813d", 30 | "bugs": { 31 | "url": "https://github.com/hapijs/qs/issues" 32 | }, 33 | "_id": "qs@2.3.3", 34 | "_shasum": "e9e85adbe75da0bbe4c8e0476a086290f863b404", 35 | "_from": "qs@2.3.3", 36 | "_npmVersion": "2.1.6", 37 | "_nodeVersion": "0.10.32", 38 | "_npmUser": { 39 | "name": "nlf", 40 | "email": "quitlahok@gmail.com" 41 | }, 42 | "maintainers": [ 43 | { 44 | "name": "nlf", 45 | "email": "quitlahok@gmail.com" 46 | }, 47 | { 48 | "name": "hueniverse", 49 | "email": "eran@hueniverse.com" 50 | } 51 | ], 52 | "dist": { 53 | "shasum": "e9e85adbe75da0bbe4c8e0476a086290f863b404", 54 | "tarball": "http://registry.npmjs.org/qs/-/qs-2.3.3.tgz" 55 | }, 56 | "directories": {}, 57 | "_resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz" 58 | } 59 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/range-parser/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.2 / 2014-09-08 2 | ================== 3 | 4 | * Support Node.js 0.6 5 | 6 | 1.0.1 / 2014-09-07 7 | ================== 8 | 9 | * Move repository to jshttp 10 | 11 | 1.0.0 / 2013-12-11 12 | ================== 13 | 14 | * Add repository to package.json 15 | * Add MIT license 16 | 17 | 0.0.4 / 2012-06-17 18 | ================== 19 | 20 | * Change ret -1 for unsatisfiable and -2 when invalid 21 | 22 | 0.0.3 / 2012-06-17 23 | ================== 24 | 25 | * Fix last-byte-pos default to len - 1 26 | 27 | 0.0.2 / 2012-06-14 28 | ================== 29 | 30 | * Add `.type` 31 | 32 | 0.0.1 / 2012-06-11 33 | ================== 34 | 35 | * Initial release 36 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/range-parser/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Parse "Range" header `str` relative to the given file `size`. 4 | * 5 | * @param {Number} size 6 | * @param {String} str 7 | * @return {Array} 8 | * @api public 9 | */ 10 | 11 | module.exports = function(size, str){ 12 | var valid = true; 13 | var i = str.indexOf('='); 14 | 15 | if (-1 == i) return -2; 16 | 17 | var arr = str.slice(i + 1).split(',').map(function(range){ 18 | var range = range.split('-') 19 | , start = parseInt(range[0], 10) 20 | , end = parseInt(range[1], 10); 21 | 22 | // -nnn 23 | if (isNaN(start)) { 24 | start = size - end; 25 | end = size - 1; 26 | // nnn- 27 | } else if (isNaN(end)) { 28 | end = size - 1; 29 | } 30 | 31 | // limit last-byte-pos to current length 32 | if (end > size - 1) end = size - 1; 33 | 34 | // invalid 35 | if (isNaN(start) 36 | || isNaN(end) 37 | || start > end 38 | || start < 0) valid = false; 39 | 40 | return { 41 | start: start, 42 | end: end 43 | }; 44 | }); 45 | 46 | arr.type = str.slice(0, i); 47 | 48 | return valid ? arr : -1; 49 | }; 50 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012 TJ Holowaychuk 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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/mime/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "name": "Robert Kieffer", 4 | "email": "robert@broofa.com", 5 | "url": "http://github.com/broofa" 6 | }, 7 | "contributors": [ 8 | { 9 | "name": "Benjamin Thomas", 10 | "email": "benjamin@benjaminthomas.org", 11 | "url": "http://github.com/bentomas" 12 | } 13 | ], 14 | "dependencies": {}, 15 | "description": "A comprehensive library for mime-type mapping", 16 | "devDependencies": {}, 17 | "keywords": [ 18 | "util", 19 | "mime" 20 | ], 21 | "main": "mime.js", 22 | "name": "mime", 23 | "repository": { 24 | "url": "https://github.com/broofa/node-mime", 25 | "type": "git" 26 | }, 27 | "version": "1.2.11", 28 | "bugs": { 29 | "url": "https://github.com/broofa/node-mime/issues" 30 | }, 31 | "_id": "mime@1.2.11", 32 | "dist": { 33 | "shasum": "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10", 34 | "tarball": "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz" 35 | }, 36 | "_from": "mime@1.2.11", 37 | "_npmVersion": "1.3.6", 38 | "_npmUser": { 39 | "name": "broofa", 40 | "email": "robert@broofa.com" 41 | }, 42 | "maintainers": [ 43 | { 44 | "name": "broofa", 45 | "email": "robert@broofa.com" 46 | }, 47 | { 48 | "name": "bentomas", 49 | "email": "benjamin@benjaminthomas.org" 50 | } 51 | ], 52 | "directories": {}, 53 | "_shasum": "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10", 54 | "_resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" 55 | } 56 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/ms/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test 3 | History.md 4 | Makefile 5 | component.json 6 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/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](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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/ms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ms", 3 | "version": "0.7.0", 4 | "description": "Tiny ms conversion utility", 5 | "repository": { 6 | "type": "git", 7 | "url": "git://github.com/guille/ms.js.git" 8 | }, 9 | "main": "./index", 10 | "devDependencies": { 11 | "mocha": "*", 12 | "expect.js": "*", 13 | "serve": "*" 14 | }, 15 | "component": { 16 | "scripts": { 17 | "ms/index.js": "index.js" 18 | } 19 | }, 20 | "gitHead": "1e9cd9b05ef0dc26f765434d2bfee42394376e52", 21 | "bugs": { 22 | "url": "https://github.com/guille/ms.js/issues" 23 | }, 24 | "homepage": "https://github.com/guille/ms.js", 25 | "_id": "ms@0.7.0", 26 | "scripts": {}, 27 | "_shasum": "865be94c2e7397ad8a57da6a633a6e2f30798b83", 28 | "_from": "ms@0.7.0", 29 | "_npmVersion": "1.4.21", 30 | "_npmUser": { 31 | "name": "rauchg", 32 | "email": "rauchg@gmail.com" 33 | }, 34 | "maintainers": [ 35 | { 36 | "name": "rauchg", 37 | "email": "rauchg@gmail.com" 38 | } 39 | ], 40 | "dist": { 41 | "shasum": "865be94c2e7397ad8a57da6a633a6e2f30798b83", 42 | "tarball": "http://registry.npmjs.org/ms/-/ms-0.7.0.tgz" 43 | }, 44 | "directories": {}, 45 | "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.0.tgz" 46 | } 47 | -------------------------------------------------------------------------------- /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 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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/type-is/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Jonathan Ong me@jongleberry.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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/type-is/node_modules/mime-types/HISTORY.md: -------------------------------------------------------------------------------- 1 | 2.0.7 / 2014-12-30 2 | ================== 3 | 4 | * deps: mime-db@~1.5.0 5 | - Add new mime types 6 | - Fix various invalid MIME type entries 7 | 8 | 2.0.6 / 2014-12-30 9 | ================== 10 | 11 | * deps: mime-db@~1.4.0 12 | - Add new mime types 13 | - Fix various invalid MIME type entries 14 | - Remove example template MIME types 15 | 16 | 2.0.5 / 2014-12-29 17 | ================== 18 | 19 | * deps: mime-db@~1.3.1 20 | - Fix missing extensions 21 | 22 | 2.0.4 / 2014-12-10 23 | ================== 24 | 25 | * deps: mime-db@~1.3.0 26 | - Add new mime types 27 | 28 | 2.0.3 / 2014-11-09 29 | ================== 30 | 31 | * deps: mime-db@~1.2.0 32 | - Add new mime types 33 | 34 | 2.0.2 / 2014-09-28 35 | ================== 36 | 37 | * deps: mime-db@~1.1.0 38 | - Add new mime types 39 | - Add additional compressible 40 | - Update charsets 41 | 42 | 2.0.1 / 2014-09-07 43 | ================== 44 | 45 | * Support Node.js 0.6 46 | 47 | 2.0.0 / 2014-09-02 48 | ================== 49 | 50 | * Use `mime-db` 51 | * Remove `.define()` 52 | 53 | 1.0.2 / 2014-08-04 54 | ================== 55 | 56 | * Set charset=utf-8 for `text/javascript` 57 | 58 | 1.0.1 / 2014-06-24 59 | ================== 60 | 61 | * Add `text/jsx` type 62 | 63 | 1.0.0 / 2014-05-12 64 | ================== 65 | 66 | * Return `false` for unknown types 67 | * Set charset=utf-8 for `application/json` 68 | 69 | 0.1.0 / 2014-05-02 70 | ================== 71 | 72 | * Initial release 73 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/type-is/node_modules/mime-types/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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/type-is/node_modules/mime-types/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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/type-is/node_modules/mime-types/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/vary/.npmignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | test/ 3 | .travis.yml 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/vary/History.md: -------------------------------------------------------------------------------- 1 | 1.0.0 / 2014-08-10 2 | ================== 3 | 4 | * Accept valid `Vary` header string as `field` 5 | * Add `vary.append` for low-level string manipulation 6 | * Move to `jshttp` orgainzation 7 | 8 | 0.1.0 / 2014-06-05 9 | ================== 10 | 11 | * Support array of fields to set 12 | 13 | 0.0.0 / 2014-06-04 14 | ================== 15 | 16 | * Initial release 17 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/vary/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 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Book List 5 | 6 | 7 |
8 | 9 | 10 | 18 | 19 | 26 | 27 | 33 | 34 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /public/lib/backbone/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "backbone", 3 | "version": "1.1.2", 4 | "main": "backbone.js", 5 | "dependencies": { 6 | "underscore": ">=1.5.0" 7 | }, 8 | "ignore": [ 9 | "backbone-min.js", 10 | "docs", 11 | "examples", 12 | "test", 13 | "*.yml", 14 | "*.map", 15 | ".html", 16 | "*.ico" 17 | ], 18 | "homepage": "https://github.com/jashkenas/backbone", 19 | "_release": "1.1.2", 20 | "_resolution": { 21 | "type": "version", 22 | "tag": "1.1.2", 23 | "commit": "53f77901a4ea9c7cf75d3db93ddddf491998d90f" 24 | }, 25 | "_source": "git://github.com/jashkenas/backbone.git", 26 | "_target": "~1.1.2", 27 | "_originalSource": "backbone", 28 | "_direct": true 29 | } -------------------------------------------------------------------------------- /public/lib/backbone/.gitignore: -------------------------------------------------------------------------------- 1 | raw 2 | *.sw? 3 | .DS_Store 4 | node_modules 5 | bower_components 6 | -------------------------------------------------------------------------------- /public/lib/backbone/.npmignore: -------------------------------------------------------------------------------- 1 | test/ 2 | Rakefile 3 | docs/ 4 | raw/ 5 | examples/ 6 | index.html 7 | .jshintrc 8 | -------------------------------------------------------------------------------- /public/lib/backbone/CNAME: -------------------------------------------------------------------------------- 1 | backbonejs.org 2 | 3 | -------------------------------------------------------------------------------- /public/lib/backbone/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## How to Open a Backbone.js Ticket 2 | 3 | * Do not use tickets to ask for help with (debugging) your application. Ask on 4 | the [mailing list](https://groups.google.com/forum/#!forum/backbonejs), 5 | in the IRC channel (`#documentcloud` on Freenode), or if you understand your 6 | specific problem, on [StackOverflow](http://stackoverflow.com/questions/tagged/backbone.js). 7 | 8 | * Before you open a ticket or send a pull request, 9 | [search](https://github.com/jashkenas/backbone/issues) for previous 10 | discussions about the same feature or issue. Add to the earlier ticket if you 11 | find one. 12 | 13 | * Before sending a pull request for a feature or bug fix, be sure to have 14 | [tests](http://backbonejs.org/test/). 15 | 16 | * Use the same coding style as the rest of the 17 | [codebase](https://github.com/jashkenas/backbone/blob/master/backbone.js). 18 | 19 | * In your pull request, do not add documentation or rebuild the minified 20 | `backbone-min.js` file. We'll do that before cutting a new release. 21 | 22 | * All pull requests should be made to the `master` branch. 23 | -------------------------------------------------------------------------------- /public/lib/backbone/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2014 Jeremy Ashkenas, DocumentCloud 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /public/lib/backbone/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "backbone", 3 | "version" : "1.1.2", 4 | "main" : "backbone.js", 5 | "dependencies" : { 6 | "underscore" : ">=1.5.0" 7 | }, 8 | "ignore" : ["backbone-min.js", "docs", "examples", "test", "*.yml", "*.map", ".html", "*.ico"] 9 | } 10 | -------------------------------------------------------------------------------- /public/lib/backbone/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "backbone", 3 | "version" : "1.1.2", 4 | "description" : "Give your JS App some Backbone with Models, Views, Collections, and Events.", 5 | "keywords" : ["model", "view", "controller", "router", "server", "client", "browser"], 6 | "repo" : "jashkenas/backbone", 7 | "dependencies" : { 8 | "jashkenas/underscore" : "*" 9 | }, 10 | "main" : "backbone.js", 11 | "scripts" : ["backbone.js"], 12 | "license" : "MIT" 13 | } 14 | -------------------------------------------------------------------------------- /public/lib/backbone/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./backbone'); 2 | -------------------------------------------------------------------------------- /public/lib/backbone/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "backbone", 3 | "description" : "Give your JS App some Backbone with Models, Views, Collections, and Events.", 4 | "url" : "http://backbonejs.org", 5 | "keywords" : ["model", "view", "controller", "router", "server", "client", "browser"], 6 | "author" : "Jeremy Ashkenas ", 7 | "dependencies" : { 8 | "underscore" : ">=1.5.0" 9 | }, 10 | "devDependencies": { 11 | "phantomjs": "1.9.0-1", 12 | "docco": "0.6.1", 13 | "coffee-script": "1.6.1" 14 | }, 15 | "scripts": { 16 | "test": "phantomjs test/vendor/runner.js test/index.html?noglobals=true && coffee test/model.coffee", 17 | "build": "uglifyjs backbone.js --mangle --source-map backbone-min.map -o backbone-min.js", 18 | "doc": "docco backbone.js && docco examples/todos/todos.js examples/backbone.localstorage.js", 19 | "lint": "jsl -nofilelisting -nologo -conf docs/jsl.conf -process backbone.js" 20 | }, 21 | "main" : "backbone.js", 22 | "version" : "1.1.2", 23 | "license" : "MIT", 24 | "repository": { 25 | "type": "git", 26 | "url": "https://github.com/jashkenas/backbone.git" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /public/lib/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "version": "2.1.3", 4 | "main": "dist/jquery.js", 5 | "license": "MIT", 6 | "ignore": [ 7 | "**/.*", 8 | "build", 9 | "speed", 10 | "test", 11 | "*.md", 12 | "AUTHORS.txt", 13 | "Gruntfile.js", 14 | "package.json" 15 | ], 16 | "devDependencies": { 17 | "sizzle": "2.1.1-jquery.2.1.2", 18 | "requirejs": "2.1.10", 19 | "qunit": "1.14.0", 20 | "sinon": "1.8.1" 21 | }, 22 | "keywords": [ 23 | "jquery", 24 | "javascript", 25 | "library" 26 | ], 27 | "homepage": "https://github.com/jquery/jquery", 28 | "_release": "2.1.3", 29 | "_resolution": { 30 | "type": "version", 31 | "tag": "2.1.3", 32 | "commit": "8f2a9d9272d6ed7f32d3a484740ab342c02541e0" 33 | }, 34 | "_source": "git://github.com/jquery/jquery.git", 35 | "_target": "~2.1.3", 36 | "_originalSource": "jquery", 37 | "_direct": true 38 | } -------------------------------------------------------------------------------- /public/lib/jquery/MIT-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2014 jQuery Foundation and other contributors 2 | http://jquery.com/ 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining 5 | a copy of this software and associated documentation files (the 6 | "Software"), to deal in the Software without restriction, including 7 | without limitation the rights to use, copy, modify, merge, publish, 8 | distribute, sublicense, and/or sell copies of the Software, and to 9 | permit persons to whom the Software is furnished to do so, subject to 10 | the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 19 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 20 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /public/lib/jquery/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "version": "2.1.3", 4 | "main": "dist/jquery.js", 5 | "license": "MIT", 6 | "ignore": [ 7 | "**/.*", 8 | "build", 9 | "speed", 10 | "test", 11 | "*.md", 12 | "AUTHORS.txt", 13 | "Gruntfile.js", 14 | "package.json" 15 | ], 16 | "devDependencies": { 17 | "sizzle": "2.1.1-jquery.2.1.2", 18 | "requirejs": "2.1.10", 19 | "qunit": "1.14.0", 20 | "sinon": "1.8.1" 21 | }, 22 | "keywords": [ 23 | "jquery", 24 | "javascript", 25 | "library" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /public/lib/jquery/src/ajax/parseJSON.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Support: Android 2.3 6 | // Workaround failure to string-cast null input 7 | jQuery.parseJSON = function( data ) { 8 | return JSON.parse( data + "" ); 9 | }; 10 | 11 | return jQuery.parseJSON; 12 | 13 | }); 14 | -------------------------------------------------------------------------------- /public/lib/jquery/src/ajax/parseXML.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Cross-browser xml parsing 6 | jQuery.parseXML = function( data ) { 7 | var xml, tmp; 8 | if ( !data || typeof data !== "string" ) { 9 | return null; 10 | } 11 | 12 | // Support: IE9 13 | try { 14 | tmp = new DOMParser(); 15 | xml = tmp.parseFromString( data, "text/xml" ); 16 | } catch ( e ) { 17 | xml = undefined; 18 | } 19 | 20 | if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { 21 | jQuery.error( "Invalid XML: " + data ); 22 | } 23 | return xml; 24 | }; 25 | 26 | return jQuery.parseXML; 27 | 28 | }); 29 | -------------------------------------------------------------------------------- /public/lib/jquery/src/ajax/script.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../ajax" 4 | ], function( jQuery ) { 5 | 6 | // Install script dataType 7 | jQuery.ajaxSetup({ 8 | accepts: { 9 | script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" 10 | }, 11 | contents: { 12 | script: /(?:java|ecma)script/ 13 | }, 14 | converters: { 15 | "text script": function( text ) { 16 | jQuery.globalEval( text ); 17 | return text; 18 | } 19 | } 20 | }); 21 | 22 | // Handle cache's special case and crossDomain 23 | jQuery.ajaxPrefilter( "script", function( s ) { 24 | if ( s.cache === undefined ) { 25 | s.cache = false; 26 | } 27 | if ( s.crossDomain ) { 28 | s.type = "GET"; 29 | } 30 | }); 31 | 32 | // Bind script tag hack transport 33 | jQuery.ajaxTransport( "script", function( s ) { 34 | // This transport only deals with cross domain requests 35 | if ( s.crossDomain ) { 36 | var script, callback; 37 | return { 38 | send: function( _, complete ) { 39 | script = jQuery("