├── 14030130040+第三次作业.pdf ├── README.md ├── app.js ├── bin └── www ├── 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 │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── content-type │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── debug │ │ │ ├── .coveralls.yml │ │ │ ├── .eslintrc │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── bower.json │ │ │ ├── component.json │ │ │ ├── karma.conf.js │ │ │ ├── node.js │ │ │ ├── node_modules │ │ │ │ └── ms │ │ │ │ │ ├── LICENSE.md │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ ├── package.json │ │ │ └── src │ │ │ │ ├── browser.js │ │ │ │ ├── debug.js │ │ │ │ ├── index.js │ │ │ │ └── node.js │ │ ├── depd │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── browser │ │ │ │ │ └── index.js │ │ │ │ └── compat │ │ │ │ │ ├── buffer-concat.js │ │ │ │ │ ├── callsite-tostring.js │ │ │ │ │ ├── event-listener-count.js │ │ │ │ │ └── index.js │ │ │ └── package.json │ │ ├── http-errors │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ ├── inherits │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── inherits.js │ │ │ │ │ ├── inherits_browser.js │ │ │ │ │ └── package.json │ │ │ │ ├── setprototypeof │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ └── statuses │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── codes.json │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ └── 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 │ │ │ │ ├── bom-handling.js │ │ │ │ ├── extend-node.js │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ └── streams.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 │ │ │ ├── .eslintignore │ │ │ ├── .eslintrc │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── dist │ │ │ │ └── qs.js │ │ │ ├── lib │ │ │ │ ├── index.js │ │ │ │ ├── parse.js │ │ │ │ ├── stringify.js │ │ │ │ └── utils.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ ├── index.js │ │ │ │ ├── parse.js │ │ │ │ ├── stringify.js │ │ │ │ └── utils.js │ │ ├── raw-body │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ └── unpipe │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ └── type-is │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ ├── media-typer │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ └── 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 ├── carhartl-jquery-cookie-92b7715 │ ├── .gitignore │ ├── .jshintrc │ ├── .tm_properties │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Gruntfile.js │ ├── MIT-LICENSE.txt │ ├── README.md │ ├── bower.json │ ├── component.json │ ├── cookie.jquery.json │ ├── jquery.cookie.js │ ├── package.json │ └── test │ │ ├── index.html │ │ ├── malformed_cookie.html │ │ ├── server.js │ │ └── tests.js ├── cookie-parser │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── node_modules │ │ ├── cookie-signature │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ └── package.json │ │ └── cookie │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ └── package.json ├── debug │ ├── .coveralls.yml │ ├── .eslintrc │ ├── .npmignore │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── bower.json │ ├── component.json │ ├── karma.conf.js │ ├── node.js │ ├── node_modules │ │ └── ms │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ ├── package.json │ └── src │ │ ├── browser.js │ │ ├── debug.js │ │ ├── index.js │ │ └── node.js ├── ejs │ ├── Jakefile │ ├── LICENSE │ ├── README.md │ ├── ejs.js │ ├── ejs.min.js │ ├── lib │ │ ├── ejs.js │ │ └── utils.js │ ├── package.json │ └── test │ │ ├── ejs.js │ │ ├── fixtures │ │ ├── backslash.ejs │ │ ├── backslash.html │ │ ├── comments.ejs │ │ ├── comments.html │ │ ├── consecutive-tags.ejs │ │ ├── consecutive-tags.html │ │ ├── double-quote.ejs │ │ ├── double-quote.html │ │ ├── error.ejs │ │ ├── error.out │ │ ├── fail.ejs │ │ ├── hello-world.ejs │ │ ├── include-abspath.ejs │ │ ├── include-root.ejs │ │ ├── include-simple.ejs │ │ ├── include-simple.html │ │ ├── include.css.ejs │ │ ├── include.css.html │ │ ├── include.ejs │ │ ├── include.html │ │ ├── include_cache.ejs │ │ ├── include_cache.html │ │ ├── include_preprocessor.css.ejs │ │ ├── include_preprocessor.css.html │ │ ├── include_preprocessor.ejs │ │ ├── include_preprocessor.html │ │ ├── include_preprocessor_cache.ejs │ │ ├── include_preprocessor_cache.html │ │ ├── include_preprocessor_line_slurp.ejs │ │ ├── include_preprocessor_line_slurp.html │ │ ├── include_preprocessor_line_slurp_child.ejs │ │ ├── includes │ │ │ ├── bom.ejs │ │ │ ├── menu-item.ejs │ │ │ └── menu │ │ │ │ └── item.ejs │ │ ├── literal.ejs │ │ ├── literal.html │ │ ├── menu.ejs │ │ ├── menu.html │ │ ├── menu_preprocessor.ejs │ │ ├── menu_preprocessor.html │ │ ├── menu_var.ejs │ │ ├── messed.ejs │ │ ├── messed.html │ │ ├── newlines.ejs │ │ ├── newlines.html │ │ ├── newlines.mixed.ejs │ │ ├── newlines.mixed.html │ │ ├── no.newlines.ejs │ │ ├── no.newlines.error.ejs │ │ ├── no.newlines.html │ │ ├── no.semicolons.ejs │ │ ├── no.semicolons.html │ │ ├── para.ejs │ │ ├── pet.ejs │ │ ├── rmWhitespace.ejs │ │ ├── rmWhitespace.html │ │ ├── single-quote.ejs │ │ ├── single-quote.html │ │ ├── space-and-tab-slurp.ejs │ │ ├── space-and-tab-slurp.html │ │ ├── strict.ejs │ │ ├── style.css │ │ ├── user-no-with.ejs │ │ ├── user.ejs │ │ └── with-context.ejs │ │ ├── mocha.opts │ │ └── tmp │ │ ├── include.ejs │ │ ├── include_preprocessor.ejs │ │ └── renderFile.ejs ├── 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 │ │ ├── array-flatten │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── array-flatten.js │ │ │ └── package.json │ │ ├── content-disposition │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── content-type │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── cookie-signature │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── cookie │ │ │ ├── HISTORY.md │ │ │ ├── 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 │ │ │ │ │ ├── History.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── depd │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── browser │ │ │ │ │ └── index.js │ │ │ │ └── compat │ │ │ │ │ ├── buffer-concat.js │ │ │ │ │ ├── callsite-tostring.js │ │ │ │ │ ├── event-listener-count.js │ │ │ │ │ └── index.js │ │ │ └── package.json │ │ ├── encodeurl │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── escape-html │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── etag │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── finalhandler │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ ├── statuses │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── codes.json │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ └── unpipe │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── fresh │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── merge-descriptors │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── 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 │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── path-to-regexp │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── proxy-addr │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ ├── forwarded │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ └── ipaddr.js │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── Cakefile │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── bower.json │ │ │ │ │ ├── ipaddr.min.js │ │ │ │ │ ├── lib │ │ │ │ │ └── ipaddr.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src │ │ │ │ │ └── ipaddr.coffee │ │ │ │ │ └── test │ │ │ │ │ └── ipaddr.test.coffee │ │ │ └── package.json │ │ ├── qs │ │ │ ├── .eslintignore │ │ │ ├── .eslintrc │ │ │ ├── .jscs.json │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── dist │ │ │ │ └── qs.js │ │ │ ├── lib │ │ │ │ ├── index.js │ │ │ │ ├── parse.js │ │ │ │ ├── stringify.js │ │ │ │ └── utils.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ ├── index.js │ │ │ │ ├── parse.js │ │ │ │ ├── stringify.js │ │ │ │ └── utils.js │ │ ├── range-parser │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── send │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ ├── .bin │ │ │ │ │ ├── mime │ │ │ │ │ └── mime.cmd │ │ │ │ ├── destroy │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ ├── http-errors │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ ├── inherits │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── inherits.js │ │ │ │ │ │ │ ├── inherits_browser.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── setprototypeof │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ │ ├── mime │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── build │ │ │ │ │ │ ├── build.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── cli.js │ │ │ │ │ ├── mime.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── types.json │ │ │ │ ├── ms │ │ │ │ │ ├── LICENSE.md │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ └── statuses │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── codes.json │ │ │ │ │ ├── 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 │ │ │ │ ├── media-typer │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ └── 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 │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ └── package.json ├── formidable │ ├── .npmignore │ ├── .travis.yml │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ ├── lib │ │ ├── file.js │ │ ├── incoming_form.js │ │ ├── index.js │ │ ├── json_parser.js │ │ ├── multipart_parser.js │ │ ├── octet_parser.js │ │ └── querystring_parser.js │ └── package.json ├── fs │ ├── README.md │ └── package.json ├── morgan │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── node_modules │ │ ├── basic-auth │ │ │ ├── HISTORY.md │ │ │ ├── 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 │ │ │ │ │ ├── History.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── depd │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── browser │ │ │ │ │ └── index.js │ │ │ │ └── compat │ │ │ │ │ ├── buffer-concat.js │ │ │ │ │ ├── callsite-tostring.js │ │ │ │ │ ├── event-listener-count.js │ │ │ │ │ └── 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 │ │ └── on-headers │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ └── package.json ├── mysql │ ├── Changes.md │ ├── License │ ├── Readme.md │ ├── index.js │ ├── lib │ │ ├── Connection.js │ │ ├── ConnectionConfig.js │ │ ├── Pool.js │ │ ├── PoolCluster.js │ │ ├── PoolConfig.js │ │ ├── PoolConnection.js │ │ ├── PoolNamespace.js │ │ ├── PoolSelector.js │ │ └── protocol │ │ │ ├── Auth.js │ │ │ ├── BufferList.js │ │ │ ├── PacketHeader.js │ │ │ ├── PacketWriter.js │ │ │ ├── Parser.js │ │ │ ├── Protocol.js │ │ │ ├── ResultSet.js │ │ │ ├── SqlString.js │ │ │ ├── constants │ │ │ ├── charsets.js │ │ │ ├── client.js │ │ │ ├── errors.js │ │ │ ├── field_flags.js │ │ │ ├── server_status.js │ │ │ ├── ssl_profiles.js │ │ │ └── types.js │ │ │ ├── packets │ │ │ ├── ClientAuthenticationPacket.js │ │ │ ├── ComChangeUserPacket.js │ │ │ ├── ComPingPacket.js │ │ │ ├── ComQueryPacket.js │ │ │ ├── ComQuitPacket.js │ │ │ ├── ComStatisticsPacket.js │ │ │ ├── EmptyPacket.js │ │ │ ├── EofPacket.js │ │ │ ├── ErrorPacket.js │ │ │ ├── Field.js │ │ │ ├── FieldPacket.js │ │ │ ├── HandshakeInitializationPacket.js │ │ │ ├── LocalDataFilePacket.js │ │ │ ├── OkPacket.js │ │ │ ├── OldPasswordPacket.js │ │ │ ├── ResultSetHeaderPacket.js │ │ │ ├── RowDataPacket.js │ │ │ ├── SSLRequestPacket.js │ │ │ ├── StatisticsPacket.js │ │ │ ├── UseOldPasswordPacket.js │ │ │ └── index.js │ │ │ └── sequences │ │ │ ├── ChangeUser.js │ │ │ ├── Handshake.js │ │ │ ├── Ping.js │ │ │ ├── Query.js │ │ │ ├── Quit.js │ │ │ ├── Sequence.js │ │ │ ├── Statistics.js │ │ │ └── index.js │ ├── node_modules │ │ ├── bignumber.js │ │ │ ├── LICENCE │ │ │ ├── README.md │ │ │ ├── bignumber.js │ │ │ ├── bignumber.js.map │ │ │ ├── bignumber.min.js │ │ │ ├── bower.json │ │ │ ├── doc │ │ │ │ └── API.html │ │ │ └── package.json │ │ ├── readable-stream │ │ │ ├── .npmignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── duplex.js │ │ │ ├── float.patch │ │ │ ├── lib │ │ │ │ ├── _stream_duplex.js │ │ │ │ ├── _stream_passthrough.js │ │ │ │ ├── _stream_readable.js │ │ │ │ ├── _stream_transform.js │ │ │ │ └── _stream_writable.js │ │ │ ├── node_modules │ │ │ │ ├── core-util-is │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── float.patch │ │ │ │ │ ├── lib │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── test.js │ │ │ │ ├── inherits │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── inherits.js │ │ │ │ │ ├── inherits_browser.js │ │ │ │ │ └── package.json │ │ │ │ ├── isarray │ │ │ │ │ ├── README.md │ │ │ │ │ ├── build │ │ │ │ │ │ └── build.js │ │ │ │ │ ├── component.json │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ └── string_decoder │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ ├── package.json │ │ │ ├── passthrough.js │ │ │ ├── readable.js │ │ │ ├── transform.js │ │ │ └── writable.js │ │ └── sqlstring │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ └── SqlString.js │ │ │ └── package.json │ └── package.json └── serve-favicon │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── node_modules │ ├── etag │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── fresh │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── ms │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ └── parseurl │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ └── package.json ├── package.json ├── public ├── bootstrap │ ├── CHANGELOG.md │ ├── Gruntfile.js │ ├── HelpE_addtable.js │ ├── LICENSE │ ├── README.md │ ├── dist │ │ ├── css │ │ │ ├── bootstrap-theme.css │ │ │ ├── bootstrap-theme.css.map │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap-theme.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ └── bootstrap.min.css.map │ │ ├── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ │ └── js │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.min.js │ │ │ └── npm.js │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ ├── grunt │ │ ├── .jshintrc │ │ ├── bs-commonjs-generator.js │ │ ├── bs-glyphicons-data-generator.js │ │ ├── bs-lessdoc-parser.js │ │ ├── bs-raw-files-generator.js │ │ ├── change-version.js │ │ ├── configBridge.json │ │ ├── npm-shrinkwrap.json │ │ └── sauce_browsers.yml │ ├── helpdeliver.html │ ├── js │ │ ├── affix.js │ │ ├── alert.js │ │ ├── button.js │ │ ├── carousel.js │ │ ├── collapse.js │ │ ├── dropdown.js │ │ ├── modal.js │ │ ├── popover.js │ │ ├── scrollspy.js │ │ ├── tab.js │ │ ├── tooltip.js │ │ └── transition.js │ ├── less │ │ ├── alerts.less │ │ ├── badges.less │ │ ├── bootstrap.less │ │ ├── breadcrumbs.less │ │ ├── button-groups.less │ │ ├── buttons.less │ │ ├── carousel.less │ │ ├── close.less │ │ ├── code.less │ │ ├── component-animations.less │ │ ├── dropdowns.less │ │ ├── forms.less │ │ ├── glyphicons.less │ │ ├── grid.less │ │ ├── input-groups.less │ │ ├── jumbotron.less │ │ ├── labels.less │ │ ├── list-group.less │ │ ├── media.less │ │ ├── mixins.less │ │ ├── mixins │ │ │ ├── alerts.less │ │ │ ├── background-variant.less │ │ │ ├── border-radius.less │ │ │ ├── buttons.less │ │ │ ├── center-block.less │ │ │ ├── clearfix.less │ │ │ ├── forms.less │ │ │ ├── gradients.less │ │ │ ├── grid-framework.less │ │ │ ├── grid.less │ │ │ ├── hide-text.less │ │ │ ├── image.less │ │ │ ├── labels.less │ │ │ ├── list-group.less │ │ │ ├── nav-divider.less │ │ │ ├── nav-vertical-align.less │ │ │ ├── opacity.less │ │ │ ├── pagination.less │ │ │ ├── panels.less │ │ │ ├── progress-bar.less │ │ │ ├── reset-filter.less │ │ │ ├── reset-text.less │ │ │ ├── resize.less │ │ │ ├── responsive-visibility.less │ │ │ ├── size.less │ │ │ ├── tab-focus.less │ │ │ ├── table-row.less │ │ │ ├── text-emphasis.less │ │ │ ├── text-overflow.less │ │ │ └── vendor-prefixes.less │ │ ├── modals.less │ │ ├── navbar.less │ │ ├── navs.less │ │ ├── normalize.less │ │ ├── pager.less │ │ ├── pagination.less │ │ ├── panels.less │ │ ├── popovers.less │ │ ├── print.less │ │ ├── progress-bars.less │ │ ├── responsive-embed.less │ │ ├── responsive-utilities.less │ │ ├── scaffolding.less │ │ ├── tables.less │ │ ├── theme.less │ │ ├── thumbnails.less │ │ ├── tooltip.less │ │ ├── type.less │ │ ├── utilities.less │ │ ├── variables.less │ │ └── wells.less │ ├── package.json │ └── personal.html ├── bootstrapvalidator-master │ ├── .gitignore │ ├── CHANGELOG.md │ ├── CONTRIBUTORS.md │ ├── Gruntfile.js │ ├── LICENSE.txt │ ├── README.md │ ├── bootstrapValidator.jquery.json │ ├── bower.json │ ├── demo │ │ ├── ajaxSubmit.html │ │ ├── ajaxSubmit.php │ │ ├── attribute.html │ │ ├── choice.html │ │ ├── collapse.html │ │ ├── container.html │ │ ├── container2.html │ │ ├── container3.html │ │ ├── container4.html │ │ ├── date.html │ │ ├── defaultMessage.html │ │ ├── dynamic.html │ │ ├── dynamic2.html │ │ ├── dynamic3.html │ │ ├── dynamic4.html │ │ ├── enable.html │ │ ├── enable2.html │ │ ├── event.html │ │ ├── event2.html │ │ ├── event3.html │ │ ├── feedbackIcons.html │ │ ├── file.html │ │ ├── group.html │ │ ├── html5.html │ │ ├── i18n.html │ │ ├── index.html │ │ ├── invisible.html │ │ ├── message.html │ │ ├── multiple.html │ │ ├── remote.html │ │ ├── remote.php │ │ ├── remote2.php │ │ ├── reset.html │ │ ├── selector.html │ │ ├── selector2.html │ │ ├── specialName.html │ │ ├── submitHandler.html │ │ ├── tab.html │ │ ├── target.php │ │ ├── tooltip.html │ │ └── validators.html │ ├── dist │ │ ├── css │ │ │ ├── bootstrapValidator.css │ │ │ └── bootstrapValidator.min.css │ │ └── js │ │ │ ├── bootstrapValidator.js │ │ │ ├── bootstrapValidator.min.js │ │ │ └── language │ │ │ ├── ar_MA.js │ │ │ ├── be_FR.js │ │ │ ├── be_NL.js │ │ │ ├── bg_BG.js │ │ │ ├── cs_CZ.js │ │ │ ├── da_DK.js │ │ │ ├── de_DE.js │ │ │ ├── en_US.js │ │ │ ├── es_CL.js │ │ │ ├── es_ES.js │ │ │ ├── fa_IR.js │ │ │ ├── fr_FR.js │ │ │ ├── gr_EL.js │ │ │ ├── he_IL.js │ │ │ ├── hu_HU.js │ │ │ ├── id_ID.js │ │ │ ├── it_IT.js │ │ │ ├── ja_JP.js │ │ │ ├── nl_NL.js │ │ │ ├── no_NO.js │ │ │ ├── pl_PL.js │ │ │ ├── pt_BR.js │ │ │ ├── pt_PT.js │ │ │ ├── ro_RO.js │ │ │ ├── ru_RU.js │ │ │ ├── sq_AL.js │ │ │ ├── sr_RS.js │ │ │ ├── sv_SE.js │ │ │ ├── th_TH.js │ │ │ ├── tr_TR.js │ │ │ ├── ua_UA.js │ │ │ ├── vi_VN.js │ │ │ ├── zh_CN.js │ │ │ └── zh_TW.js │ ├── package.json │ ├── screenshots │ │ └── demo.gif │ ├── src │ │ ├── css │ │ │ └── bootstrapValidator.css │ │ └── js │ │ │ ├── bootstrapValidator.js │ │ │ ├── language │ │ │ ├── ar_MA.js │ │ │ ├── be_FR.js │ │ │ ├── be_NL.js │ │ │ ├── bg_BG.js │ │ │ ├── cs_CZ.js │ │ │ ├── da_DK.js │ │ │ ├── de_DE.js │ │ │ ├── en_US.js │ │ │ ├── es_CL.js │ │ │ ├── es_ES.js │ │ │ ├── fa_IR.js │ │ │ ├── fr_FR.js │ │ │ ├── gr_EL.js │ │ │ ├── he_IL.js │ │ │ ├── hu_HU.js │ │ │ ├── id_ID.js │ │ │ ├── it_IT.js │ │ │ ├── ja_JP.js │ │ │ ├── nl_NL.js │ │ │ ├── no_NO.js │ │ │ ├── pl_PL.js │ │ │ ├── pt_BR.js │ │ │ ├── pt_PT.js │ │ │ ├── ro_RO.js │ │ │ ├── ru_RU.js │ │ │ ├── sq_AL.js │ │ │ ├── sr_RS.js │ │ │ ├── sv_SE.js │ │ │ ├── th_TH.js │ │ │ ├── tr_TR.js │ │ │ ├── ua_UA.js │ │ │ ├── vi_VN.js │ │ │ ├── zh_CN.js │ │ │ └── zh_TW.js │ │ │ └── validator │ │ │ ├── base64.js │ │ │ ├── between.js │ │ │ ├── blank.js │ │ │ ├── callback.js │ │ │ ├── choice.js │ │ │ ├── color.js │ │ │ ├── creditCard.js │ │ │ ├── cusip.js │ │ │ ├── cvv.js │ │ │ ├── date.js │ │ │ ├── different.js │ │ │ ├── digits.js │ │ │ ├── ean.js │ │ │ ├── emailAddress.js │ │ │ ├── file.js │ │ │ ├── greaterThan.js │ │ │ ├── grid.js │ │ │ ├── hex.js │ │ │ ├── hexColor.js │ │ │ ├── iban.js │ │ │ ├── id.js │ │ │ ├── identical.js │ │ │ ├── imei.js │ │ │ ├── imo.js │ │ │ ├── integer.js │ │ │ ├── ip.js │ │ │ ├── isbn.js │ │ │ ├── isin.js │ │ │ ├── ismn.js │ │ │ ├── issn.js │ │ │ ├── lessThan.js │ │ │ ├── mac.js │ │ │ ├── meid.js │ │ │ ├── notEmpty.js │ │ │ ├── numeric.js │ │ │ ├── phone.js │ │ │ ├── regexp.js │ │ │ ├── remote.js │ │ │ ├── rtn.js │ │ │ ├── sedol.js │ │ │ ├── siren.js │ │ │ ├── siret.js │ │ │ ├── step.js │ │ │ ├── stringCase.js │ │ │ ├── stringLength.js │ │ │ ├── uri.js │ │ │ ├── uuid.js │ │ │ ├── vat.js │ │ │ ├── vin.js │ │ │ └── zipCode.js │ ├── test │ │ ├── index.html │ │ ├── spec.js │ │ └── spec │ │ │ ├── api.js │ │ │ ├── autoFocus.js │ │ │ ├── container.js │ │ │ ├── dynamic.js │ │ │ ├── enable.js │ │ │ ├── event.js │ │ │ ├── excluded.js │ │ │ ├── group.js │ │ │ ├── i18n.js │ │ │ ├── message.js │ │ │ ├── submit.js │ │ │ ├── validator │ │ │ ├── between.js │ │ │ ├── callback.js │ │ │ ├── color.js │ │ │ ├── creditCard.js │ │ │ ├── date.js │ │ │ ├── ean.js │ │ │ ├── emailAddress.js │ │ │ ├── greaterThan.js │ │ │ ├── iban.js │ │ │ ├── id.js │ │ │ ├── imo.js │ │ │ ├── ip.js │ │ │ ├── isbn.js │ │ │ ├── isin.js │ │ │ ├── ismn.js │ │ │ ├── issn.js │ │ │ ├── lessThan.js │ │ │ ├── meid.js │ │ │ ├── phone.js │ │ │ ├── stringLength.js │ │ │ ├── uri.js │ │ │ ├── vat.js │ │ │ └── zipCode.js │ │ │ └── verbose.js │ └── vendor │ │ ├── bootstrap │ │ ├── css │ │ │ ├── bootstrap-theme.css │ │ │ ├── bootstrap-theme.css.map │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ └── bootstrap.min.css │ │ ├── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ └── glyphicons-halflings-regular.woff │ │ └── js │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.min.js │ │ │ └── npm.js │ │ ├── jasmine │ │ ├── boot.js │ │ ├── console.js │ │ ├── jasmine-html.js │ │ ├── jasmine.css │ │ ├── jasmine.js │ │ └── jasmine_favicon.png │ │ └── jquery │ │ └── jquery.min.js ├── carhartl-jquery-cookie-92b7715 │ ├── .gitignore │ ├── .jshintrc │ ├── .tm_properties │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Gruntfile.js │ ├── MIT-LICENSE.txt │ ├── README.md │ ├── bower.json │ ├── component.json │ ├── cookie.jquery.json │ ├── jquery.cookie.js │ ├── package.json │ └── test │ │ ├── index.html │ │ ├── malformed_cookie.html │ │ ├── server.js │ │ └── tests.js ├── images │ ├── helpme.jpg │ ├── loading.gif │ ├── not found.jpg │ ├── upload_07a4f72293fae75a2256b1fbe7b749e2.jpg │ ├── upload_0c4500e5e33b5993bb82706b5786e52e.jpg │ ├── upload_1b4b900b6d77591771e0343426eb27e5.jpg │ ├── upload_251bd336d1b1d3e03159c00623445f33.jpg │ ├── upload_32350e6c330c14d827bca8cb05db15cf.jpg │ ├── upload_36a375fee87b4b2f784b699bdef8328c.jpg │ ├── upload_3aa9d7df99f47400076e6d38fe428583.jpg │ ├── upload_45184c2d962ed784636f5615586eb086.png │ ├── upload_5392b54fc8d7f950ad273e350c823640.jpg │ ├── upload_6260a5a9e0a75491dca74d808039d18d.jpg │ ├── upload_63ead403edf81ddbfea78b53c91db9a5.jpg │ ├── upload_6df2ed778634ccae90841a77be1676de.jpg │ ├── upload_6e57465801aaec8df51ebf93bb769617.png │ ├── upload_7b4ba48651c3172df01c1cdcbdcd19c8.jpg │ ├── upload_7b86174aa799c3453314ca516eaf9f82.jpg │ ├── upload_7e7e0e53da46da976888c3f8d6160dcf.jpg │ ├── upload_9bf5658e520f1ac1939bf0d4befe54e1.jpg │ ├── upload_9ed373b2eb5d5d64a04b5164a8988e3d.jpg │ ├── upload_a2030eba219a0f4b7f10f254889ed725.jpg │ ├── upload_a6e18568d6248fced1ea551ead96341c.jpg │ ├── upload_acaa5df866796f424e1980c821088829.jpg │ ├── upload_b749339ccff4fc184eea89bdda2ab4e5.jpg │ ├── upload_c3e3e8e1e5efed1575242ef75861800d.png │ ├── upload_ef0239ba5a991db420830036bdf938ee.png │ ├── upload_eff2afd2c1a440a2f04cbdd651ddcd6a.jpg │ └── upload_fa97a45e43a64f469c3fe623b16554dc.png ├── javascripts │ ├── Notnull.js │ ├── fromcheck.js │ ├── jQuery.js │ └── 备份.txt └── stylesheets │ └── style.css ├── routes ├── Homepage.js ├── dealFriend.js ├── dongtai.js ├── index.js ├── loginroute.js ├── loginuproute.js ├── mycenter.js ├── mycenterajax.js ├── myword.js ├── phpath.js ├── searchFriend.js └── users.js ├── show_images ├── 关注和取关.png ├── 动态.png ├── 好友推荐.png ├── 查看更多.png └── 注册成功.png ├── views ├── Homepage.ejs ├── error.ejs ├── index.ejs └── searchFriend.ejs └── 微博.sql /14030130040+第三次作业.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/14030130040+第三次作业.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # XD_JavaWeb_Microblog 2 | 西电Javaweb大作业,实现微博系统 3 | 该程序要求用户电脑装有Node.js,下载该程序,cd 到app.js所在文件夹后,在cmd中执行命令 npm start,出现www.标志后代表服务器开启,然后再浏览器中输入http://localhost:3000即可进入index界面,因后端有数据库,故需在连接数据库的地方将账号密码换成你的账号密码,连数据库的操作一般在逻辑部分,即在app.js文件中和routes文件夹中的文件中出现,修改即可,数据库建表的所有应建的表格均在“14030130040-第三次作业”这个报告中有详解。 4 | 5 | “14030130040-第三次作业”这个报告中有详解。 6 | 7 | 结果截图: 8 | 9 | ![image](https://github.com/guangying123/XD_JavaWeb_Microblog/blob/master/show_images/注册成功.png) 10 | 11 | ![image](https://github.com/guangying123/XD_JavaWeb_Microblog/blob/master/show_images/查看更多.png) 12 | 13 | ![image](https://github.com/guangying123/XD_JavaWeb_Microblog/blob/master/show_images/动态.png) 14 | 15 | ![image](https://github.com/guangying123/XD_JavaWeb_Microblog/blob/master/show_images/关注和取关.png) 16 | 17 | ![image](https://github.com/guangying123/XD_JavaWeb_Microblog/blob/master/show_images/好友推荐.png) 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/content-type/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.2 / 2016-05-09 2 | ================== 3 | 4 | * perf: enable strict mode 5 | 6 | 1.0.1 / 2015-02-13 7 | ================== 8 | 9 | * Improve missing `Content-Type` header error message 10 | 11 | 1.0.0 / 2015-02-01 12 | ================== 13 | 14 | * Initial implementation, derived from `media-typer@0.3.0` 15 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/debug/.coveralls.yml: -------------------------------------------------------------------------------- 1 | repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve 2 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/debug/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "node": true 5 | }, 6 | "rules": { 7 | "no-console": 0, 8 | "no-empty": [1, { "allowEmptyCatch": true }] 9 | }, 10 | "extends": "eslint:recommended" 11 | } 12 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | yarn.lock 8 | coverage 9 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/debug/.travis.yml: -------------------------------------------------------------------------------- 1 | 2 | language: node_js 3 | node_js: 4 | - "6" 5 | - "5" 6 | - "4" 7 | 8 | install: 9 | - make node_modules 10 | 11 | script: 12 | - make lint 13 | - make test 14 | - make coveralls 15 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/debug/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "visionmedia-debug", 3 | "main": "./src/browser.js", 4 | "homepage": "https://github.com/visionmedia/debug", 5 | "authors": [ 6 | "TJ Holowaychuk ", 7 | "Nathan Rajlich (http://n8.io)", 8 | "Andrew Rhyne " 9 | ], 10 | "description": "visionmedia-debug", 11 | "moduleType": [ 12 | "amd", 13 | "es6", 14 | "globals", 15 | "node" 16 | ], 17 | "keywords": [ 18 | "visionmedia", 19 | "debug" 20 | ], 21 | "license": "MIT", 22 | "ignore": [ 23 | "**/.*", 24 | "node_modules", 25 | "bower_components", 26 | "test", 27 | "tests" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.6.1", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "src/browser.js", 12 | "scripts": [ 13 | "src/browser.js", 14 | "src/debug.js" 15 | ], 16 | "dependencies": { 17 | "rauchg/ms.js": "0.7.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/debug/node.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./src/node'); 2 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/debug/node_modules/ms/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Zeit, Inc. 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 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, 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 THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/debug/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Detect Electron renderer process, which is node, but we should 3 | * treat as a browser. 4 | */ 5 | 6 | if (typeof process !== 'undefined' && process.type === 'renderer') { 7 | module.exports = require('./browser.js'); 8 | } else { 9 | module.exports = require('./node.js'); 10 | } 11 | -------------------------------------------------------------------------------- /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 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | */ 12 | 13 | module.exports = bufferConcat 14 | 15 | /** 16 | * Concatenate an array of Buffers. 17 | */ 18 | 19 | function bufferConcat(bufs) { 20 | var length = 0 21 | 22 | for (var i = 0, len = bufs.length; i < len; i++) { 23 | length += bufs[i].length 24 | } 25 | 26 | var buf = new Buffer(length) 27 | var pos = 0 28 | 29 | for (var i = 0, len = bufs.length; i < len; i++) { 30 | bufs[i].copy(buf, pos) 31 | pos += bufs[i].length 32 | } 33 | 34 | return buf 35 | } 36 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/depd/lib/compat/event-listener-count.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = eventListenerCount 15 | 16 | /** 17 | * Get the count of listeners on an event emitter of a specific type. 18 | */ 19 | 20 | function eventListenerCount(emitter, type) { 21 | return emitter.listeners(type).length 22 | } 23 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/http-errors/node_modules/inherits/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | 17 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/http-errors/node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | try { 2 | var util = require('util'); 3 | if (typeof util.inherits !== 'function') throw ''; 4 | module.exports = util.inherits; 5 | } catch (e) { 6 | module.exports = require('./inherits_browser.js'); 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/http-errors/node_modules/inherits/inherits_browser.js: -------------------------------------------------------------------------------- 1 | if (typeof Object.create === 'function') { 2 | // implementation from standard node.js 'util' module 3 | module.exports = function inherits(ctor, superCtor) { 4 | ctor.super_ = superCtor 5 | ctor.prototype = Object.create(superCtor.prototype, { 6 | constructor: { 7 | value: ctor, 8 | enumerable: false, 9 | writable: true, 10 | configurable: true 11 | } 12 | }); 13 | }; 14 | } else { 15 | // old school shim for old browsers 16 | module.exports = function inherits(ctor, superCtor) { 17 | ctor.super_ = superCtor 18 | var TempCtor = function () {} 19 | TempCtor.prototype = superCtor.prototype 20 | ctor.prototype = new TempCtor() 21 | ctor.prototype.constructor = ctor 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/http-errors/node_modules/setprototypeof/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Wes Todd 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 10 | SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 12 | OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 13 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/http-errors/node_modules/setprototypeof/README.md: -------------------------------------------------------------------------------- 1 | # Polyfill for `Object.setPrototypeOf` 2 | 3 | A simple cross platform implementation to set the prototype of an instianted object. Supports all modern browsers and at least back to IE8. 4 | 5 | ## Usage: 6 | 7 | ``` 8 | $ npm install --save setprototypeof 9 | ``` 10 | 11 | ```javascript 12 | var setPrototypeOf = require('setprototypeof'); 13 | 14 | var obj = {}; 15 | setPrototypeOf(obj, { 16 | foo: function() { 17 | return 'bar'; 18 | } 19 | }); 20 | obj.foo(); // bar 21 | ``` 22 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/http-errors/node_modules/setprototypeof/index.js: -------------------------------------------------------------------------------- 1 | module.exports = Object.setPrototypeOf || ({__proto__:[]} instanceof Array ? setProtoOf : mixinProperties); 2 | 3 | function setProtoOf(obj, proto) { 4 | obj.__proto__ = proto; 5 | return obj; 6 | } 7 | 8 | function mixinProperties(obj, proto) { 9 | for (var prop in proto) { 10 | obj[prop] = proto[prop]; 11 | } 12 | return obj; 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/http-errors/node_modules/statuses/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.3.1 / 2016-11-11 2 | ================== 3 | 4 | * Fix return type in JSDoc 5 | 6 | 1.3.0 / 2016-05-17 7 | ================== 8 | 9 | * Add `421 Misdirected Request` 10 | * perf: enable strict mode 11 | 12 | 1.2.1 / 2015-02-01 13 | ================== 14 | 15 | * Fix message for status 451 16 | - `451 Unavailable For Legal Reasons` 17 | 18 | 1.2.0 / 2014-09-28 19 | ================== 20 | 21 | * Add `208 Already Repored` 22 | * Add `226 IM Used` 23 | * Add `306 (Unused)` 24 | * Add `415 Unable For Legal Reasons` 25 | * Add `508 Loop Detected` 26 | 27 | 1.1.1 / 2014-09-24 28 | ================== 29 | 30 | * Add missing 308 to `codes.json` 31 | 32 | 1.1.0 / 2014-09-21 33 | ================== 34 | 35 | * Add `codes.json` for universal support 36 | 37 | 1.0.4 / 2014-08-20 38 | ================== 39 | 40 | * Package cleanup 41 | 42 | 1.0.3 / 2014-06-08 43 | ================== 44 | 45 | * Add 308 to `.redirect` category 46 | 47 | 1.0.2 / 2014-03-13 48 | ================== 49 | 50 | * Add `.retry` category 51 | 52 | 1.0.1 / 2014-03-12 53 | ================== 54 | 55 | * Initial release 56 | -------------------------------------------------------------------------------- /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 | sudo: false 2 | language: node_js 3 | node_js: 4 | - "0.10" 5 | - "0.11" 6 | - "0.12" 7 | - "iojs" 8 | - "4" 9 | - "6" 10 | - "node" 11 | 12 | 13 | env: 14 | - CXX=g++-4.8 15 | addons: 16 | apt: 17 | sources: 18 | - ubuntu-toolchain-r-test 19 | packages: 20 | - gcc-4.8 21 | - g++-4.8 22 | 23 | -------------------------------------------------------------------------------- /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 | "use strict" 2 | 3 | // Update this array if you add/rename/remove files in this directory. 4 | // We support Browserify by skipping automatic module discovery and requiring modules directly. 5 | var modules = [ 6 | require("./internal"), 7 | require("./utf16"), 8 | require("./utf7"), 9 | require("./sbcs-codec"), 10 | require("./sbcs-data"), 11 | require("./sbcs-data-generated"), 12 | require("./dbcs-codec"), 13 | require("./dbcs-data"), 14 | ]; 15 | 16 | // Put all encoding/alias/codec definitions to single object and export it. 17 | for (var i = 0; i < modules.length; i++) { 18 | var module = modules[i]; 19 | for (var enc in module) 20 | if (Object.prototype.hasOwnProperty.call(module, enc)) 21 | exports[enc] = module[enc]; 22 | } 23 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/qs/.eslintignore: -------------------------------------------------------------------------------- 1 | dist 2 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/qs/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "complexity": [2, 22], 8 | "consistent-return": [1], 9 | "id-length": [2, { "min": 1, "max": 25, "properties": "never" }], 10 | "indent": [2, 4], 11 | "max-params": [2, 9], 12 | "max-statements": [2, 36], 13 | "no-extra-parens": [1], 14 | "no-continue": [1], 15 | "no-magic-numbers": 0, 16 | "no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"], 17 | "operator-linebreak": 1 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /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/lib/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var Stringify = require('./stringify'); 4 | var Parse = require('./parse'); 5 | 6 | module.exports = { 7 | stringify: Stringify, 8 | parse: Parse 9 | }; 10 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/qs/test/index.js: -------------------------------------------------------------------------------- 1 | require('./parse'); 2 | 3 | require('./stringify'); 4 | 5 | require('./utils'); 6 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/qs/test/utils.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var test = require('tape'); 4 | var utils = require('../lib/utils'); 5 | 6 | test('merge()', function (t) { 7 | t.deepEqual(utils.merge({ a: 'b' }, { a: 'c' }), { a: ['b', 'c'] }, 'merges two objects with the same key'); 8 | t.end(); 9 | }); 10 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/raw-body/node_modules/unpipe/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.0 / 2015-06-14 2 | ================== 3 | 4 | * Initial release 5 | -------------------------------------------------------------------------------- /node_modules/body-parser/node_modules/type-is/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/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/carhartl-jquery-cookie-92b7715/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | build 3 | .sizecache.json 4 | *.log -------------------------------------------------------------------------------- /node_modules/carhartl-jquery-cookie-92b7715/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "boss": true, 3 | "browser": true, 4 | "curly": true, 5 | "eqeqeq": true, 6 | "eqnull": true, 7 | "expr": true, 8 | "evil": true, 9 | "newcap": true, 10 | "noarg": true, 11 | "undef": true, 12 | "globals": { 13 | "define": true, 14 | "jQuery": true, 15 | "require": true 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /node_modules/carhartl-jquery-cookie-92b7715/.tm_properties: -------------------------------------------------------------------------------- 1 | softTabs = false 2 | tabSize = 2 3 | 4 | [ text.plain ] 5 | softWrap = true 6 | wrapColumn = "Use Window Frame" 7 | softTabs = true 8 | tabSize = 4 9 | 10 | [ "*.md" ] 11 | fileType = "text.plain" 12 | -------------------------------------------------------------------------------- /node_modules/carhartl-jquery-cookie-92b7715/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | before_script: 5 | - npm install -g grunt-cli 6 | script: grunt ci --verbose 7 | env: 8 | global: 9 | - secure: HRae0kyIDDuhonvMi2SfEl1WJb4K/wX8WmzT9YkxFbmWwLjiOMkmqyuEyi76DbTC1cb9o7WwGVgbP1DhSm6n6m0Lz+PSzpprBN4QZuJc56jcc+tBA6gM81hyUufaTT0yUWz112Bu06kWIAs44w5PtG0FYZR0CuIN8fQvZi8fXCQ= 10 | - secure: c+M5ECIfxDcVrr+ZlqgpGjv8kVM/hxiz3ACMCn4ZkDiaeq4Rw0wWIGZYL6aV5fhsoHgzEQ/XQPca8xKs3Umr7R3b6Vr3AEyFnW+LP67K/1Qbz4Pi3PvhDH/h4rvK7fOoTqTDCVVDEH3v4pefsz2VaKemG4iBKxrcof5aR4Rjopk= 11 | -------------------------------------------------------------------------------- /node_modules/carhartl-jquery-cookie-92b7715/MIT-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2014 Klaus Hartl 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 | -------------------------------------------------------------------------------- /node_modules/carhartl-jquery-cookie-92b7715/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery.cookie", 3 | "version": "1.4.1", 4 | "main": [ 5 | "./jquery.cookie.js" 6 | ], 7 | "dependencies": { 8 | "jquery": ">=1.2" 9 | }, 10 | "ignore": [ 11 | "test", 12 | ".*", 13 | "*.json", 14 | "*.md", 15 | "*.txt", 16 | "Gruntfile.js" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /node_modules/carhartl-jquery-cookie-92b7715/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery.cookie", 3 | "repo": "carhartl/jquery-cookie", 4 | "description": "A simple, lightweight jQuery plugin for reading, writing and deleting cookies", 5 | "version": "1.4.1", 6 | "keywords": [], 7 | "dependencies": {}, 8 | "development": {}, 9 | "license": "MIT", 10 | "main": "jquery.cookie.js", 11 | "scripts": [ 12 | "jquery.cookie.js" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /node_modules/carhartl-jquery-cookie-92b7715/cookie.jquery.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cookie", 3 | "version": "1.4.1", 4 | "title": "jQuery Cookie", 5 | "description": "A simple, lightweight jQuery plugin for reading, writing and deleting cookies.", 6 | "author": { 7 | "name": "Klaus Hartl", 8 | "url": "https://github.com/carhartl" 9 | }, 10 | "maintainers": [ 11 | { 12 | "name": "Klaus Hartl", 13 | "url": "https://github.com/carhartl" 14 | }, 15 | { 16 | "name": "Fagner Martins", 17 | "url": "https://github.com/FagnerMartinsBrack" 18 | } 19 | ], 20 | "licenses": [ 21 | { 22 | "type": "MIT", 23 | "url": "https://raw.github.com/carhartl/jquery-cookie/master/MIT-LICENSE.txt" 24 | } 25 | ], 26 | "dependencies": { 27 | "jquery": ">=1.2" 28 | }, 29 | "bugs": "https://github.com/carhartl/jquery-cookie/issues", 30 | "homepage": "https://github.com/carhartl/jquery-cookie", 31 | "docs": "https://github.com/carhartl/jquery-cookie#readme" 32 | } 33 | -------------------------------------------------------------------------------- /node_modules/carhartl-jquery-cookie-92b7715/test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jquery.cookie Test Suite 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |

jquery.cookie Test Suite

14 |

15 |
16 |

17 |
    18 | 19 | 20 | -------------------------------------------------------------------------------- /node_modules/carhartl-jquery-cookie-92b7715/test/malformed_cookie.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /node_modules/carhartl-jquery-cookie-92b7715/test/server.js: -------------------------------------------------------------------------------- 1 | var http = require('http'); 2 | var url = require('url'); 3 | var path = require('path'); 4 | var fs = require('fs'); 5 | 6 | http.createServer(function(request, response) { 7 | var uri = url.parse(request.url).pathname; 8 | var filename = path.join(process.cwd(), uri); 9 | 10 | fs.readFile(filename, 'binary', function(err, file) { 11 | if (err) { 12 | response.writeHead(500, { 'Content-Type': 'text/plain' }); 13 | response.write(err + '\n'); 14 | response.end(); 15 | return; 16 | } 17 | 18 | response.writeHead(200, filename.match(/\.js$/) ? { 'Content-Type': 'text/javascript' } : {}); 19 | response.write(file, 'utf-8'); 20 | response.end(); 21 | }); 22 | }).listen(8124, '0.0.0.0'); 23 | 24 | console.log('Test suite at http://0.0.0.0:8124/test/index.html'); 25 | -------------------------------------------------------------------------------- /node_modules/cookie-parser/node_modules/cookie-signature/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /node_modules/cookie-parser/node_modules/cookie-signature/History.md: -------------------------------------------------------------------------------- 1 | 1.0.6 / 2015-02-03 2 | ================== 3 | 4 | * use `npm test` instead of `make test` to run tests 5 | * clearer assertion messages when checking input 6 | 7 | 8 | 1.0.5 / 2014-09-05 9 | ================== 10 | 11 | * add license to package.json 12 | 13 | 1.0.4 / 2014-06-25 14 | ================== 15 | 16 | * corrected avoidance of timing attacks (thanks @tenbits!) 17 | 18 | 1.0.3 / 2014-01-28 19 | ================== 20 | 21 | * [incorrect] fix for timing attacks 22 | 23 | 1.0.2 / 2014-01-28 24 | ================== 25 | 26 | * fix missing repository warning 27 | * fix typo in test 28 | 29 | 1.0.1 / 2013-04-15 30 | ================== 31 | 32 | * Revert "Changed underlying HMAC algo. to sha512." 33 | * Revert "Fix for timing attacks on MAC verification." 34 | 35 | 0.0.1 / 2010-01-03 36 | ================== 37 | 38 | * Initial release 39 | -------------------------------------------------------------------------------- /node_modules/debug/.coveralls.yml: -------------------------------------------------------------------------------- 1 | repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve 2 | -------------------------------------------------------------------------------- /node_modules/debug/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "node": true 5 | }, 6 | "rules": { 7 | "no-console": 0, 8 | "no-empty": [1, { "allowEmptyCatch": true }] 9 | }, 10 | "extends": "eslint:recommended" 11 | } 12 | -------------------------------------------------------------------------------- /node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | yarn.lock 8 | coverage 9 | -------------------------------------------------------------------------------- /node_modules/debug/.travis.yml: -------------------------------------------------------------------------------- 1 | 2 | language: node_js 3 | node_js: 4 | - "6" 5 | - "5" 6 | - "4" 7 | 8 | install: 9 | - make node_modules 10 | 11 | script: 12 | - make lint 13 | - make test 14 | - make coveralls 15 | -------------------------------------------------------------------------------- /node_modules/debug/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 TJ Holowaychuk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software 6 | and associated documentation files (the 'Software'), to deal in the Software without restriction, 7 | including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 | and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 9 | subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all copies or substantial 12 | portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 15 | LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 16 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 17 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 18 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | 20 | -------------------------------------------------------------------------------- /node_modules/debug/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "visionmedia-debug", 3 | "main": "./src/browser.js", 4 | "homepage": "https://github.com/visionmedia/debug", 5 | "authors": [ 6 | "TJ Holowaychuk ", 7 | "Nathan Rajlich (http://n8.io)", 8 | "Andrew Rhyne " 9 | ], 10 | "description": "visionmedia-debug", 11 | "moduleType": [ 12 | "amd", 13 | "es6", 14 | "globals", 15 | "node" 16 | ], 17 | "keywords": [ 18 | "visionmedia", 19 | "debug" 20 | ], 21 | "license": "MIT", 22 | "ignore": [ 23 | "**/.*", 24 | "node_modules", 25 | "bower_components", 26 | "test", 27 | "tests" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.6.3", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "src/browser.js", 12 | "scripts": [ 13 | "src/browser.js", 14 | "src/debug.js" 15 | ], 16 | "dependencies": { 17 | "rauchg/ms.js": "0.7.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/debug/node.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./src/node'); 2 | -------------------------------------------------------------------------------- /node_modules/debug/node_modules/ms/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Zeit, Inc. 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 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, 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 THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/debug/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Detect Electron renderer process, which is node, but we should 3 | * treat as a browser. 4 | */ 5 | 6 | if (typeof process !== 'undefined' && process.type === 'renderer') { 7 | module.exports = require('./browser.js'); 8 | } else { 9 | module.exports = require('./node.js'); 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/backslash.ejs: -------------------------------------------------------------------------------- 1 | \foo 2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/backslash.html: -------------------------------------------------------------------------------- 1 | \foo 2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/comments.ejs: -------------------------------------------------------------------------------- 1 |
  1. <% // double-slash comment %>foo
  2. 2 |
  3. <% /* C-style comment */ %>bar
  4. 3 |
  5. <% // double-slash comment with newline 4 | %>baz
  6. 5 |
  7. <% var x = 'qux'; // double-slash comment @ end of line %><%= x %>
  8. 6 |
  9. <%# ERB style comment %>fee
  10. 7 |
  11. <%= 'not a ' + '//' + ' comment' %>
  12. 8 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/comments.html: -------------------------------------------------------------------------------- 1 |
  13. foo
  14. 2 |
  15. bar
  16. 3 |
  17. baz
  18. 4 |
  19. qux
  20. 5 |
  21. fee
  22. 6 |
  23. not a // comment
  24. 7 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/consecutive-tags.ejs: -------------------------------------------------------------------------------- 1 | <% var a = 'foo' %><% var b = 'bar' %><%= a %> 2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/consecutive-tags.html: -------------------------------------------------------------------------------- 1 | foo 2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/double-quote.ejs: -------------------------------------------------------------------------------- 1 |

    <%= "lo" + 'ki' %>'s "wheelchair"

    2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/double-quote.html: -------------------------------------------------------------------------------- 1 |

    loki's "wheelchair"

    2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/error.ejs: -------------------------------------------------------------------------------- 1 |
      2 | <% if (users) { %> 3 |

      Has users

      4 | <% } %> 5 |
    6 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/error.out: -------------------------------------------------------------------------------- 1 | ReferenceError: error.ejs:2 2 | 1|
      3 | >> 2| <% if (users) { %> 4 | 3|

      Has users

      5 | 4| <% } %> 6 | 5|
    7 | 8 | users is not defined -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/fail.ejs: -------------------------------------------------------------------------------- 1 | <% function foo() return 'foo'; %> 2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/hello-world.ejs: -------------------------------------------------------------------------------- 1 |

    Hello world!

    2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include-abspath.ejs: -------------------------------------------------------------------------------- 1 |
      2 | <@ pets.forEach(function(pet){ @> 3 | <@- include(path.join(dir, 'pet'), {pet: pet}); @> 4 | <@ }); @> 5 |
    6 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include-root.ejs: -------------------------------------------------------------------------------- 1 | <@- include('/include'); @> -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include-simple.ejs: -------------------------------------------------------------------------------- 1 |
      2 | <%- include('hello-world'); %> 3 |
    4 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include-simple.html: -------------------------------------------------------------------------------- 1 |
      2 |

      Hello world!

      3 | 4 |
    5 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include.css.ejs: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include.css.html: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include.ejs: -------------------------------------------------------------------------------- 1 |
      2 | <@ pets.forEach(function(pet){ @> 3 | <@- include('pet', {pet: pet}); @> 4 | <@ }); @> 5 |
    6 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include.html: -------------------------------------------------------------------------------- 1 |
      2 | 3 |
    • geddy
    • 4 | 5 | 6 |
    • neil
    • 7 | 8 | 9 |
    • alex
    • 10 | 11 | 12 |
    13 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include_cache.ejs: -------------------------------------------------------------------------------- 1 | <%- include('../tmp/include') %> 2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include_cache.html: -------------------------------------------------------------------------------- 1 |

    Old

    2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include_preprocessor.css.ejs: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include_preprocessor.css.html: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include_preprocessor.ejs: -------------------------------------------------------------------------------- 1 |
      2 | <@ pets.forEach(function(pet){ @> 3 | <@ include pet @> 4 | <@ }) @> 5 |
    6 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include_preprocessor.html: -------------------------------------------------------------------------------- 1 |
      2 | 3 |
    • geddy
    • 4 | 5 | 6 |
    • neil
    • 7 | 8 | 9 |
    • alex
    • 10 | 11 | 12 |
    13 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include_preprocessor_cache.ejs: -------------------------------------------------------------------------------- 1 | <%- include ../tmp/include_preprocessor %> 2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include_preprocessor_cache.html: -------------------------------------------------------------------------------- 1 |

    Old

    2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include_preprocessor_line_slurp.ejs: -------------------------------------------------------------------------------- 1 | <% include include_preprocessor_line_slurp_child %> -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include_preprocessor_line_slurp.html: -------------------------------------------------------------------------------- 1 |
    2 | 12 3 | 3 4 | 45 5 |
    -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/include_preprocessor_line_slurp_child.ejs: -------------------------------------------------------------------------------- 1 |
    2 | 1 <%_ if (true) { _%> 2 3 | 3 4 | 4 <%_ } _%> 5 5 |
    -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/includes/bom.ejs: -------------------------------------------------------------------------------- 1 | 

    This is a file with BOM.

    2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/includes/menu-item.ejs: -------------------------------------------------------------------------------- 1 |
  25. <% include menu/item %>
  26. 2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/includes/menu/item.ejs: -------------------------------------------------------------------------------- 1 | <%= title %> 2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/literal.ejs: -------------------------------------------------------------------------------- 1 |
    There should be a space followed by a less-than sign and then two more
    2 | spaces in the next line:
    3 |  <   .
    4 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/literal.html: -------------------------------------------------------------------------------- 1 |
    There should be a space followed by a less-than sign and then two more
    2 | spaces in the next line:
    3 |  <  .
    4 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/menu.ejs: -------------------------------------------------------------------------------- 1 | <%- include('includes/menu-item', { 2 | url: '/foo' 3 | , title: 'Foo' 4 | }); -%> 5 | 6 | <%- include('includes/menu-item', { 7 | url: '/bar' 8 | , title: 'Bar' 9 | }); -%> 10 | 11 | <%- include('includes/menu-item', { 12 | url: '/baz' 13 | , title: 'Baz' 14 | }); -%> 15 | 16 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/menu.html: -------------------------------------------------------------------------------- 1 |
  27. Foo 2 |
  28. 3 | 4 |
  29. Bar 5 |
  30. 6 | 7 |
  31. Baz 8 |
  32. 9 | 10 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/menu_preprocessor.ejs: -------------------------------------------------------------------------------- 1 | <% var url = '/foo' -%> 2 | <% var title = 'Foo' -%> 3 | <% include includes/menu-item -%> 4 | 5 | <% var url = '/bar' -%> 6 | <% var title = 'Bar' -%> 7 | <% include includes/menu-item -%> 8 | 9 | <% var url = '/baz' -%> 10 | <% var title = 'Baz' -%> 11 | <% include includes/menu-item -%> 12 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/menu_preprocessor.html: -------------------------------------------------------------------------------- 1 |
  33. Foo 2 |
  34. 3 | 4 |
  35. Bar 5 |
  36. 6 | 7 |
  37. Baz 8 |
  38. 9 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/menu_var.ejs: -------------------------------------------------------------------------------- 1 | <%- include(varPath, { 2 | url: '/foo' 3 | , title: 'Foo' 4 | }); -%> 5 | 6 | <%- include(varPath, { 7 | url: '/bar' 8 | , title: 'Bar' 9 | }); -%> 10 | 11 | <%- include(varPath, { 12 | url: '/baz' 13 | , title: 'Baz' 14 | }); -%> 15 | 16 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/messed.ejs: -------------------------------------------------------------------------------- 1 |
      <%users.forEach(function(user){%>
    • <%=user.name%>
    • <%})%>
    2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/messed.html: -------------------------------------------------------------------------------- 1 |
    • geddy
    • neil
    • alex
    2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/newlines.ejs: -------------------------------------------------------------------------------- 1 |
      2 | <% users.forEach(function(user){ %> 3 |
    • <%= user.name %>
    • 4 | <% }) %> 5 |
    6 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/newlines.html: -------------------------------------------------------------------------------- 1 |
      2 | 3 |
    • geddy
    • 4 | 5 |
    • neil
    • 6 | 7 |
    • alex
    • 8 | 9 |
    10 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/newlines.mixed.ejs: -------------------------------------------------------------------------------- 1 |
      2 | <% var unused1 = 'blah' -%> 3 | <% var unused2 = 'bleh' %> 4 | <% var unused3 = 'bloh' -%> 5 | <% var unused4 = 'bluh' %> 6 |
    7 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/newlines.mixed.html: -------------------------------------------------------------------------------- 1 |
      2 | 3 | 4 |
    5 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/no.newlines.ejs: -------------------------------------------------------------------------------- 1 |
      2 | <% users.forEach(function(user){ -%> 3 |
    • <%= user.name %>
    • 4 | <% }) -%> 5 |
    6 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/no.newlines.error.ejs: -------------------------------------------------------------------------------- 1 | AAA 2 | <% var data = "test"; -%> 3 | BBB 4 | <%= qdata %> 5 | CCC 6 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/no.newlines.html: -------------------------------------------------------------------------------- 1 |
      2 |
    • geddy
    • 3 |
    • neil
    • 4 |
    • alex
    • 5 |
    6 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/no.semicolons.ejs: -------------------------------------------------------------------------------- 1 | This document does not use semicolons in scriptlets. 2 | <% 3 | var a = 'b' 4 | var b = 'c' 5 | var c 6 | c = b 7 | %> 8 | The value of c is: <%= c %> 9 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/no.semicolons.html: -------------------------------------------------------------------------------- 1 | This document does not use semicolons in scriptlets. 2 | 3 | The value of c is: c 4 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/para.ejs: -------------------------------------------------------------------------------- 1 |

    hey

    2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/pet.ejs: -------------------------------------------------------------------------------- 1 |
  39. <@= pet.name @>
  40. 2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/rmWhitespace.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | A very long piece of text very long piece of text very long piece of 4 | text very long piece <% var f = 'f' %>of text very long piece of 5 | tex t very long piece of<% %>text very long 6 | adsffadsfadsfad<%= f %> 7 | 8 | piece of text. 9 | <% var a = 'a' %> 10 | Text again. 11 | <% var b = 'b' %> 12 | <% var c = 'c' 13 | var d = 'd' %> 14 | Another text. <%= c %> 15 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/rmWhitespace.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | A very long piece of text very long piece of text very long piece of 4 | text very long piece of text very long piece of 5 | text very long piece oftext very long 6 | adsffadsfadsfadfpiece of text. 7 | Text again. 8 | Another text. c -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/single-quote.ejs: -------------------------------------------------------------------------------- 1 |

    <%= 'loki' %>'s wheelchair

    2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/single-quote.html: -------------------------------------------------------------------------------- 1 |

    loki's wheelchair

    2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/space-and-tab-slurp.ejs: -------------------------------------------------------------------------------- 1 |
      2 | <%_ users.forEach(function(user){ _%> 3 |
    • <%= user.name %>
    • 4 | <%_ }) _%> 5 |
    6 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/space-and-tab-slurp.html: -------------------------------------------------------------------------------- 1 |
      2 |
    • geddy
    • 3 |
    • neil
    • 4 |
    • alex
    • 5 |
    6 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/strict.ejs: -------------------------------------------------------------------------------- 1 | <% 2 | // Unspecified execution context should be `undefined` in strict mode 3 | var isReallyStrict = !((function () { return this; })()) 4 | -%> 5 | <%= isReallyStrict -%> 6 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | foo: '<%= value %>'; 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/user-no-with.ejs: -------------------------------------------------------------------------------- 1 |

    <$= locals.name $>

    2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/user.ejs: -------------------------------------------------------------------------------- 1 |

    <$= name $>

    2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/fixtures/with-context.ejs: -------------------------------------------------------------------------------- 1 | <%= this.foo %> 2 | -------------------------------------------------------------------------------- /node_modules/ejs/test/mocha.opts: -------------------------------------------------------------------------------- 1 | --ui tdd 2 | --reporter spec 3 | --check-leaks 4 | -------------------------------------------------------------------------------- /node_modules/ejs/test/tmp/include.ejs: -------------------------------------------------------------------------------- 1 |

    New

    -------------------------------------------------------------------------------- /node_modules/ejs/test/tmp/include_preprocessor.ejs: -------------------------------------------------------------------------------- 1 |

    New

    -------------------------------------------------------------------------------- /node_modules/ejs/test/tmp/renderFile.ejs: -------------------------------------------------------------------------------- 1 |

    New

    -------------------------------------------------------------------------------- /node_modules/express/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * express 3 | * Copyright(c) 2009-2013 TJ Holowaychuk 4 | * Copyright(c) 2013 Roman Shtylman 5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | module.exports = require('./lib/express'); 12 | -------------------------------------------------------------------------------- /node_modules/express/lib/middleware/init.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * express 3 | * Copyright(c) 2009-2013 TJ Holowaychuk 4 | * Copyright(c) 2013 Roman Shtylman 5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | /** 12 | * Initialization middleware, exposing the 13 | * request and response to each other, as well 14 | * as defaulting the X-Powered-By header field. 15 | * 16 | * @param {Function} app 17 | * @return {Function} 18 | * @api private 19 | */ 20 | 21 | exports.init = function(app){ 22 | return function expressInit(req, res, next){ 23 | if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express'); 24 | req.res = res; 25 | res.req = req; 26 | req.next = next; 27 | 28 | req.__proto__ = app.request; 29 | res.__proto__ = app.response; 30 | 31 | res.locals = res.locals || Object.create(null); 32 | 33 | next(); 34 | }; 35 | }; 36 | 37 | -------------------------------------------------------------------------------- /node_modules/express/lib/middleware/query.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * express 3 | * Copyright(c) 2009-2013 TJ Holowaychuk 4 | * Copyright(c) 2013 Roman Shtylman 5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | /** 12 | * Module dependencies. 13 | */ 14 | 15 | var parseUrl = require('parseurl'); 16 | var qs = require('qs'); 17 | 18 | /** 19 | * @param {Object} options 20 | * @return {Function} 21 | * @api public 22 | */ 23 | 24 | module.exports = function query(options) { 25 | var opts = Object.create(options || null); 26 | var queryparse = qs.parse; 27 | 28 | if (typeof options === 'function') { 29 | queryparse = options; 30 | opts = undefined; 31 | } 32 | 33 | if (opts !== undefined && opts.allowPrototypes === undefined) { 34 | // back-compat for qs module 35 | opts.allowPrototypes = true; 36 | } 37 | 38 | return function query(req, res, next){ 39 | if (!req.query) { 40 | var val = parseUrl(req).query; 41 | req.query = queryparse(val, opts); 42 | } 43 | 44 | next(); 45 | }; 46 | }; 47 | -------------------------------------------------------------------------------- /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/content-disposition/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.5.2 / 2016-12-08 2 | ================== 3 | 4 | * Fix `parse` to accept any linear whitespace character 5 | 6 | 0.5.1 / 2016-01-17 7 | ================== 8 | 9 | * perf: enable strict mode 10 | 11 | 0.5.0 / 2014-10-11 12 | ================== 13 | 14 | * Add `parse` function 15 | 16 | 0.4.0 / 2014-09-21 17 | ================== 18 | 19 | * Expand non-Unicode `filename` to the full ISO-8859-1 charset 20 | 21 | 0.3.0 / 2014-09-20 22 | ================== 23 | 24 | * Add `fallback` option 25 | * Add `type` option 26 | 27 | 0.2.0 / 2014-09-19 28 | ================== 29 | 30 | * Reduce ambiguity of file names with hex escape in buggy browsers 31 | 32 | 0.1.2 / 2014-09-19 33 | ================== 34 | 35 | * Fix periodic invalid Unicode filename header 36 | 37 | 0.1.1 / 2014-09-19 38 | ================== 39 | 40 | * Fix invalid characters appearing in `filename*` parameter 41 | 42 | 0.1.0 / 2014-09-18 43 | ================== 44 | 45 | * Make the `filename` argument optional 46 | 47 | 0.0.0 / 2014-09-18 48 | ================== 49 | 50 | * Initial release 51 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/content-type/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.2 / 2016-05-09 2 | ================== 3 | 4 | * perf: enable strict mode 5 | 6 | 1.0.1 / 2015-02-13 7 | ================== 8 | 9 | * Improve missing `Content-Type` header error message 10 | 11 | 1.0.0 / 2015-02-01 12 | ================== 13 | 14 | * Initial implementation, derived from `media-typer@0.3.0` 15 | -------------------------------------------------------------------------------- /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.6 / 2015-02-03 2 | ================== 3 | 4 | * use `npm test` instead of `make test` to run tests 5 | * clearer assertion messages when checking input 6 | 7 | 8 | 1.0.5 / 2014-09-05 9 | ================== 10 | 11 | * add license to package.json 12 | 13 | 1.0.4 / 2014-06-25 14 | ================== 15 | 16 | * corrected avoidance of timing attacks (thanks @tenbits!) 17 | 18 | 1.0.3 / 2014-01-28 19 | ================== 20 | 21 | * [incorrect] fix for timing attacks 22 | 23 | 1.0.2 / 2014-01-28 24 | ================== 25 | 26 | * fix missing repository warning 27 | * fix typo in test 28 | 29 | 1.0.1 / 2013-04-15 30 | ================== 31 | 32 | * Revert "Changed underlying HMAC algo. to sha512." 33 | * Revert "Fix for timing attacks on MAC verification." 34 | 35 | 0.0.1 / 2010-01-03 36 | ================== 37 | 38 | * Initial release 39 | -------------------------------------------------------------------------------- /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 dist 20 | 21 | dist: 22 | @mkdir -p $@ 23 | 24 | dist/debug.js: node_modules browser.js debug.js dist 25 | @$(BROWSERIFY) \ 26 | --standalone debug \ 27 | . > $@ 28 | 29 | distclean: clean 30 | @rm -rf node_modules 31 | 32 | node_modules: package.json 33 | @NODE_ENV= $(NPM) install 34 | @touch node_modules 35 | 36 | .PHONY: all install clean distclean 37 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "visionmedia-debug", 3 | "main": "dist/debug.js", 4 | "version": "2.2.0", 5 | "homepage": "https://github.com/visionmedia/debug", 6 | "authors": [ 7 | "TJ Holowaychuk " 8 | ], 9 | "description": "visionmedia-debug", 10 | "moduleType": [ 11 | "amd", 12 | "es6", 13 | "globals", 14 | "node" 15 | ], 16 | "keywords": [ 17 | "visionmedia", 18 | "debug" 19 | ], 20 | "license": "MIT", 21 | "ignore": [ 22 | "**/.*", 23 | "node_modules", 24 | "bower_components", 25 | "test", 26 | "tests" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.2.0", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "browser.js", 12 | "scripts": [ 13 | "browser.js", 14 | "debug.js" 15 | ], 16 | "dependencies": { 17 | "rauchg/ms.js": "0.7.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /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('2 days') // 172800000 5 | ms('1d') // 86400000 6 | ms('10h') // 36000000 7 | ms('2.5 hrs') // 9000000 8 | ms('2h') // 7200000 9 | ms('1m') // 60000 10 | ms('5s') // 5000 11 | ms('100') // 100 12 | ``` 13 | 14 | ```js 15 | ms(60000) // "1m" 16 | ms(2 * 60000) // "2m" 17 | ms(ms('10 hours')) // "10h" 18 | ``` 19 | 20 | ```js 21 | ms(60000, { long: true }) // "1 minute" 22 | ms(2 * 60000, { long: true }) // "2 minutes" 23 | ms(ms('10 hours'), { long: true }) // "10 hours" 24 | ``` 25 | 26 | - Node/Browser compatible. Published as [`ms`](https://www.npmjs.org/package/ms) in [NPM](http://nodejs.org/download). 27 | - If a number is supplied to `ms`, a string with a unit is returned. 28 | - If a string that contains the number is supplied, it returns it as 29 | a number (e.g: it returns `100` for `'100'`). 30 | - If you pass a string with a number and a valid unit, the number of 31 | equivalent ms is returned. 32 | 33 | ## License 34 | 35 | MIT 36 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/depd/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2015 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /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 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | */ 12 | 13 | module.exports = bufferConcat 14 | 15 | /** 16 | * Concatenate an array of Buffers. 17 | */ 18 | 19 | function bufferConcat(bufs) { 20 | var length = 0 21 | 22 | for (var i = 0, len = bufs.length; i < len; i++) { 23 | length += bufs[i].length 24 | } 25 | 26 | var buf = new Buffer(length) 27 | var pos = 0 28 | 29 | for (var i = 0, len = bufs.length; i < len; i++) { 30 | bufs[i].copy(buf, pos) 31 | pos += bufs[i].length 32 | } 33 | 34 | return buf 35 | } 36 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/depd/lib/compat/event-listener-count.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = eventListenerCount 15 | 16 | /** 17 | * Get the count of listeners on an event emitter of a specific type. 18 | */ 19 | 20 | function eventListenerCount(emitter, type) { 21 | return emitter.listeners(type).length 22 | } 23 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/encodeurl/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.1 / 2016-06-09 2 | ================== 3 | 4 | * Fix encoding unpaired surrogates at start/end of string 5 | 6 | 1.0.0 / 2016-06-08 7 | ================== 8 | 9 | * Initial release 10 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/encodeurl/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2016 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/escape-html/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # escape-html 3 | 4 | Escape string for use in HTML 5 | 6 | ## Example 7 | 8 | ```js 9 | var escape = require('escape-html'); 10 | var html = escape('foo & bar'); 11 | // -> foo & bar 12 | ``` 13 | 14 | ## Benchmark 15 | 16 | ``` 17 | $ npm run-script bench 18 | 19 | > escape-html@1.0.3 bench nodejs-escape-html 20 | > node benchmark/index.js 21 | 22 | 23 | http_parser@1.0 24 | node@0.10.33 25 | v8@3.14.5.9 26 | ares@1.9.0-DEV 27 | uv@0.10.29 28 | zlib@1.2.3 29 | modules@11 30 | openssl@1.0.1j 31 | 32 | 1 test completed. 33 | 2 tests completed. 34 | 3 tests completed. 35 | 36 | no special characters x 19,435,271 ops/sec ±0.85% (187 runs sampled) 37 | single special character x 6,132,421 ops/sec ±0.67% (194 runs sampled) 38 | many special characters x 3,175,826 ops/sec ±0.65% (193 runs sampled) 39 | ``` 40 | 41 | ## License 42 | 43 | MIT -------------------------------------------------------------------------------- /node_modules/express/node_modules/etag/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2015 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/finalhandler/node_modules/statuses/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.3.1 / 2016-11-11 2 | ================== 3 | 4 | * Fix return type in JSDoc 5 | 6 | 1.3.0 / 2016-05-17 7 | ================== 8 | 9 | * Add `421 Misdirected Request` 10 | * perf: enable strict mode 11 | 12 | 1.2.1 / 2015-02-01 13 | ================== 14 | 15 | * Fix message for status 451 16 | - `451 Unavailable For Legal Reasons` 17 | 18 | 1.2.0 / 2014-09-28 19 | ================== 20 | 21 | * Add `208 Already Repored` 22 | * Add `226 IM Used` 23 | * Add `306 (Unused)` 24 | * Add `415 Unable For Legal Reasons` 25 | * Add `508 Loop Detected` 26 | 27 | 1.1.1 / 2014-09-24 28 | ================== 29 | 30 | * Add missing 308 to `codes.json` 31 | 32 | 1.1.0 / 2014-09-21 33 | ================== 34 | 35 | * Add `codes.json` for universal support 36 | 37 | 1.0.4 / 2014-08-20 38 | ================== 39 | 40 | * Package cleanup 41 | 42 | 1.0.3 / 2014-06-08 43 | ================== 44 | 45 | * Add 308 to `.redirect` category 46 | 47 | 1.0.2 / 2014-03-13 48 | ================== 49 | 50 | * Add `.retry` category 51 | 52 | 1.0.1 / 2014-03-12 53 | ================== 54 | 55 | * Initial release 56 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/finalhandler/node_modules/unpipe/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.0 / 2015-06-14 2 | ================== 3 | 4 | * Initial release 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/fresh/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.3.0 / 2015-05-12 2 | ================== 3 | 4 | * Add weak `ETag` matching support 5 | 6 | 0.2.4 / 2014-09-07 7 | ================== 8 | 9 | * Support Node.js 0.6 10 | 11 | 0.2.3 / 2014-09-07 12 | ================== 13 | 14 | * Move repository to jshttp 15 | 16 | 0.2.2 / 2014-02-19 17 | ================== 18 | 19 | * Revert "Fix for blank page on Safari reload" 20 | 21 | 0.2.1 / 2014-01-29 22 | ================== 23 | 24 | * Fix for blank page on Safari reload 25 | 26 | 0.2.0 / 2013-08-11 27 | ================== 28 | 29 | * Return stale for `Cache-Control: no-cache` 30 | 31 | 0.1.0 / 2012-06-15 32 | ================== 33 | * Add `If-None-Match: *` support 34 | 35 | 0.0.1 / 2012-06-10 36 | ================== 37 | 38 | * Initial release 39 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/merge-descriptors/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.1 / 2016-01-17 2 | ================== 3 | 4 | * perf: enable strict mode 5 | 6 | 1.0.0 / 2015-03-01 7 | ================== 8 | 9 | * Add option to only add new descriptors 10 | * Add simple argument validation 11 | * Add jsdoc to source file 12 | 13 | 0.0.2 / 2013-12-14 14 | ================== 15 | 16 | * Move repository to `component` organization 17 | 18 | 0.0.1 / 2013-10-29 19 | ================== 20 | 21 | * Initial release 22 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/methods/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.1.2 / 2016-01-17 2 | ================== 3 | 4 | * perf: enable strict mode 5 | 6 | 1.1.1 / 2014-12-30 7 | ================== 8 | 9 | * Improve `browserify` support 10 | 11 | 1.1.0 / 2014-07-05 12 | ================== 13 | 14 | * Add `CONNECT` method 15 | 16 | 1.0.1 / 2014-06-02 17 | ================== 18 | 19 | * Fix module to work with harmony transform 20 | 21 | 1.0.0 / 2014-05-08 22 | ================== 23 | 24 | * Add `PURGE` method 25 | 26 | 0.1.0 / 2013-10-28 27 | ================== 28 | 29 | * Add `http.METHODS` support 30 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/parseurl/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.3.1 / 2016-01-17 2 | ================== 3 | 4 | * perf: enable strict mode 5 | 6 | 1.3.0 / 2014-08-09 7 | ================== 8 | 9 | * Add `parseurl.original` for parsing `req.originalUrl` with fallback 10 | * Return `undefined` if `req.url` is `undefined` 11 | 12 | 1.2.0 / 2014-07-21 13 | ================== 14 | 15 | * Cache URLs based on original value 16 | * Remove no-longer-needed URL mis-parse work-around 17 | * Simplify the "fast-path" `RegExp` 18 | 19 | 1.1.3 / 2014-07-08 20 | ================== 21 | 22 | * Fix typo 23 | 24 | 1.1.2 / 2014-07-08 25 | ================== 26 | 27 | * Seriously fix Node.js 0.8 compatibility 28 | 29 | 1.1.1 / 2014-07-08 30 | ================== 31 | 32 | * Fix Node.js 0.8 compatibility 33 | 34 | 1.1.0 / 2014-07-08 35 | ================== 36 | 37 | * Incorporate URL href-only parse fast-path 38 | 39 | 1.0.1 / 2014-03-08 40 | ================== 41 | 42 | * Add missing `require` 43 | 44 | 1.0.0 / 2014-03-08 45 | ================== 46 | 47 | * Genesis from `connect` 48 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/path-to-regexp/History.md: -------------------------------------------------------------------------------- 1 | 0.1.7 / 2015-07-28 2 | ================== 3 | 4 | * Fixed regression with escaped round brackets and matching groups. 5 | 6 | 0.1.6 / 2015-06-19 7 | ================== 8 | 9 | * Replace `index` feature by outputting all parameters, unnamed and named. 10 | 11 | 0.1.5 / 2015-05-08 12 | ================== 13 | 14 | * Add an index property for position in match result. 15 | 16 | 0.1.4 / 2015-03-05 17 | ================== 18 | 19 | * Add license information 20 | 21 | 0.1.3 / 2014-07-06 22 | ================== 23 | 24 | * Better array support 25 | * Improved support for trailing slash in non-ending mode 26 | 27 | 0.1.0 / 2014-03-06 28 | ================== 29 | 30 | * add options.end 31 | 32 | 0.0.2 / 2013-02-10 33 | ================== 34 | 35 | * Update to match current express 36 | * add .license property to component.json 37 | -------------------------------------------------------------------------------- /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/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/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - "0.10" 5 | - "0.11" 6 | - "0.12" 7 | - "4.0" 8 | - "4.1" 9 | - "4.2" 10 | - "5" 11 | -------------------------------------------------------------------------------- /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/proxy-addr/node_modules/ipaddr.js/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ipaddr.js", 3 | "version": "1.3.0", 4 | "homepage": "https://github.com/whitequark/ipaddr.js", 5 | "authors": [ 6 | "whitequark " 7 | ], 8 | "description": "IP address manipulation library in JavaScript (CoffeeScript, actually)", 9 | "main": "lib/ipaddr.js", 10 | "moduleType": [ 11 | "globals", 12 | "node" 13 | ], 14 | "keywords": [ 15 | "javscript", 16 | "ip", 17 | "address", 18 | "ipv4", 19 | "ipv6" 20 | ], 21 | "license": "MIT", 22 | "ignore": [ 23 | "**/.*", 24 | "node_modules", 25 | "bower_components", 26 | "test", 27 | "tests" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/.eslintignore: -------------------------------------------------------------------------------- 1 | dist 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "complexity": [2, 22], 8 | "consistent-return": [1], 9 | "id-length": [2, { "min": 1, "max": 25, "properties": "never" }], 10 | "indent": [2, 4], 11 | "max-params": [2, 9], 12 | "max-statements": [2, 36], 13 | "no-extra-parens": [1], 14 | "no-continue": [1], 15 | "no-magic-numbers": 0, 16 | "no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"], 17 | "operator-linebreak": 1 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /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/lib/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var Stringify = require('./stringify'); 4 | var Parse = require('./parse'); 5 | 6 | module.exports = { 7 | stringify: Stringify, 8 | parse: Parse 9 | }; 10 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/test/index.js: -------------------------------------------------------------------------------- 1 | require('./parse'); 2 | 3 | require('./stringify'); 4 | 5 | require('./utils'); 6 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/test/utils.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var test = require('tape'); 4 | var utils = require('../lib/utils'); 5 | 6 | test('merge()', function (t) { 7 | t.deepEqual(utils.merge({ a: 'b' }, { a: 'c' }), { a: ['b', 'c'] }, 'merges two objects with the same key'); 8 | t.end(); 9 | }); 10 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/range-parser/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.2.0 / 2016-06-01 2 | ================== 3 | 4 | * Add `combine` option to combine overlapping ranges 5 | 6 | 1.1.0 / 2016-05-13 7 | ================== 8 | 9 | * Fix incorrectly returning -1 when there is at least one valid range 10 | * perf: remove internal function 11 | 12 | 1.0.3 / 2015-10-29 13 | ================== 14 | 15 | * perf: enable strict mode 16 | 17 | 1.0.2 / 2014-09-08 18 | ================== 19 | 20 | * Support Node.js 0.6 21 | 22 | 1.0.1 / 2014-09-07 23 | ================== 24 | 25 | * Move repository to jshttp 26 | 27 | 1.0.0 / 2013-12-11 28 | ================== 29 | 30 | * Add repository to package.json 31 | * Add MIT license 32 | 33 | 0.0.4 / 2012-06-17 34 | ================== 35 | 36 | * Change ret -1 for unsatisfiable and -2 when invalid 37 | 38 | 0.0.3 / 2012-06-17 39 | ================== 40 | 41 | * Fix last-byte-pos default to len - 1 42 | 43 | 0.0.2 / 2012-06-14 44 | ================== 45 | 46 | * Add `.type` 47 | 48 | 0.0.1 / 2012-06-11 49 | ================== 50 | 51 | * Initial release 52 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/.bin/mime: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | "$basedir/node" "$basedir/../mime/cli.js" "$@" 10 | ret=$? 11 | else 12 | node "$basedir/../mime/cli.js" "$@" 13 | ret=$? 14 | fi 15 | exit $ret 16 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/.bin/mime.cmd: -------------------------------------------------------------------------------- 1 | @IF EXIST "%~dp0\node.exe" ( 2 | "%~dp0\node.exe" "%~dp0\..\mime\cli.js" %* 3 | ) ELSE ( 4 | @SETLOCAL 5 | @SET PATHEXT=%PATHEXT:;.JS;=;% 6 | node "%~dp0\..\mime\cli.js" %* 7 | ) -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | 17 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | try { 2 | var util = require('util'); 3 | if (typeof util.inherits !== 'function') throw ''; 4 | module.exports = util.inherits; 5 | } catch (e) { 6 | module.exports = require('./inherits_browser.js'); 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/inherits_browser.js: -------------------------------------------------------------------------------- 1 | if (typeof Object.create === 'function') { 2 | // implementation from standard node.js 'util' module 3 | module.exports = function inherits(ctor, superCtor) { 4 | ctor.super_ = superCtor 5 | ctor.prototype = Object.create(superCtor.prototype, { 6 | constructor: { 7 | value: ctor, 8 | enumerable: false, 9 | writable: true, 10 | configurable: true 11 | } 12 | }); 13 | }; 14 | } else { 15 | // old school shim for old browsers 16 | module.exports = function inherits(ctor, superCtor) { 17 | ctor.super_ = superCtor 18 | var TempCtor = function () {} 19 | TempCtor.prototype = superCtor.prototype 20 | ctor.prototype = new TempCtor() 21 | ctor.prototype.constructor = ctor 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/http-errors/node_modules/setprototypeof/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Wes Todd 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 10 | SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 12 | OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 13 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/http-errors/node_modules/setprototypeof/README.md: -------------------------------------------------------------------------------- 1 | # Polyfill for `Object.setPrototypeOf` 2 | 3 | A simple cross platform implementation to set the prototype of an instianted object. Supports all modern browsers and at least back to IE8. 4 | 5 | ## Usage: 6 | 7 | ``` 8 | $ npm install --save setprototypeof 9 | ``` 10 | 11 | ```javascript 12 | var setPrototypeOf = require('setprototypeof'); 13 | 14 | var obj = {}; 15 | setPrototypeOf(obj, { 16 | foo: function() { 17 | return 'bar'; 18 | } 19 | }); 20 | obj.foo(); // bar 21 | ``` 22 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/http-errors/node_modules/setprototypeof/index.js: -------------------------------------------------------------------------------- 1 | module.exports = Object.setPrototypeOf || ({__proto__:[]} instanceof Array ? setProtoOf : mixinProperties); 2 | 3 | function setProtoOf(obj, proto) { 4 | obj.__proto__ = proto; 5 | return obj; 6 | } 7 | 8 | function mixinProperties(obj, proto) { 9 | for (var prop in proto) { 10 | obj[prop] = proto[prop]; 11 | } 12 | return obj; 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/mime/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/node_modules/express/node_modules/send/node_modules/mime/.npmignore -------------------------------------------------------------------------------- /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/build/build.js: -------------------------------------------------------------------------------- 1 | var db = require('mime-db'); 2 | 3 | var mapByType = {}; 4 | Object.keys(db).forEach(function(key) { 5 | var extensions = db[key].extensions; 6 | if (extensions) { 7 | mapByType[key] = extensions; 8 | } 9 | }); 10 | 11 | console.log(JSON.stringify(mapByType)); 12 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/mime/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var mime = require('./mime.js'); 4 | var file = process.argv[2]; 5 | var type = mime.lookup(file); 6 | 7 | process.stdout.write(type + '\n'); 8 | 9 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/ms/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Zeit, Inc. 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 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, 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 THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/statuses/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.3.1 / 2016-11-11 2 | ================== 3 | 4 | * Fix return type in JSDoc 5 | 6 | 1.3.0 / 2016-05-17 7 | ================== 8 | 9 | * Add `421 Misdirected Request` 10 | * perf: enable strict mode 11 | 12 | 1.2.1 / 2015-02-01 13 | ================== 14 | 15 | * Fix message for status 451 16 | - `451 Unavailable For Legal Reasons` 17 | 18 | 1.2.0 / 2014-09-28 19 | ================== 20 | 21 | * Add `208 Already Repored` 22 | * Add `226 IM Used` 23 | * Add `306 (Unused)` 24 | * Add `415 Unable For Legal Reasons` 25 | * Add `508 Loop Detected` 26 | 27 | 1.1.1 / 2014-09-24 28 | ================== 29 | 30 | * Add missing 308 to `codes.json` 31 | 32 | 1.1.0 / 2014-09-21 33 | ================== 34 | 35 | * Add `codes.json` for universal support 36 | 37 | 1.0.4 / 2014-08-20 38 | ================== 39 | 40 | * Package cleanup 41 | 42 | 1.0.3 / 2014-06-08 43 | ================== 44 | 45 | * Add 308 to `.redirect` category 46 | 47 | 1.0.2 / 2014-03-13 48 | ================== 49 | 50 | * Add `.retry` category 51 | 52 | 1.0.1 / 2014-03-12 53 | ================== 54 | 55 | * Initial release 56 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/type-is/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/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/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.1.1 / 2017-03-20 2 | ================== 3 | 4 | * perf: hoist regular expression 5 | 6 | 1.1.0 / 2015-09-29 7 | ================== 8 | 9 | * Only accept valid field names in the `field` argument 10 | - Ensures the resulting string is a valid HTTP header value 11 | 12 | 1.0.1 / 2015-07-08 13 | ================== 14 | 15 | * Fix setting empty header from empty `field` 16 | * perf: enable strict mode 17 | * perf: remove argument reassignments 18 | 19 | 1.0.0 / 2014-08-10 20 | ================== 21 | 22 | * Accept valid `Vary` header string as `field` 23 | * Add `vary.append` for low-level string manipulation 24 | * Move to `jshttp` orgainzation 25 | 26 | 0.1.0 / 2014-06-05 27 | ================== 28 | 29 | * Support array of fields to set 30 | 31 | 0.0.0 / 2014-06-04 32 | ================== 33 | 34 | * Initial release 35 | -------------------------------------------------------------------------------- /node_modules/formidable/.npmignore: -------------------------------------------------------------------------------- 1 | /test 2 | /tool 3 | /example 4 | /benchmark 5 | *.upload 6 | *.un~ 7 | *.http 8 | -------------------------------------------------------------------------------- /node_modules/formidable/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 4 4 | - 6 5 | - 7 6 | -------------------------------------------------------------------------------- /node_modules/formidable/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2011 Felix Geisendörfer 2 | 3 | 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: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | 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. 8 | -------------------------------------------------------------------------------- /node_modules/formidable/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib'); -------------------------------------------------------------------------------- /node_modules/formidable/lib/index.js: -------------------------------------------------------------------------------- 1 | var IncomingForm = require('./incoming_form').IncomingForm; 2 | IncomingForm.IncomingForm = IncomingForm; 3 | module.exports = IncomingForm; 4 | -------------------------------------------------------------------------------- /node_modules/formidable/lib/json_parser.js: -------------------------------------------------------------------------------- 1 | if (global.GENTLY) require = GENTLY.hijack(require); 2 | 3 | var Buffer = require('buffer').Buffer; 4 | 5 | function JSONParser(parent) { 6 | this.parent = parent; 7 | this.data = new Buffer(''); 8 | this.bytesWritten = 0; 9 | } 10 | exports.JSONParser = JSONParser; 11 | 12 | JSONParser.prototype.initWithLength = function(length) { 13 | this.data = new Buffer(length); 14 | }; 15 | 16 | JSONParser.prototype.write = function(buffer) { 17 | if (this.data.length >= this.bytesWritten + buffer.length) { 18 | buffer.copy(this.data, this.bytesWritten); 19 | } else { 20 | this.data = Buffer.concat([this.data, buffer]); 21 | } 22 | this.bytesWritten += buffer.length; 23 | return buffer.length; 24 | }; 25 | 26 | JSONParser.prototype.end = function() { 27 | try { 28 | var fields = JSON.parse(this.data.toString('utf8')); 29 | for (var field in fields) { 30 | this.onField(field, fields[field]); 31 | } 32 | } catch (e) { 33 | this.parent.emit('error', e); 34 | } 35 | this.data = null; 36 | 37 | this.onEnd(); 38 | }; 39 | -------------------------------------------------------------------------------- /node_modules/formidable/lib/octet_parser.js: -------------------------------------------------------------------------------- 1 | var EventEmitter = require('events').EventEmitter 2 | , util = require('util'); 3 | 4 | function OctetParser(options){ 5 | if(!(this instanceof OctetParser)) return new OctetParser(options); 6 | EventEmitter.call(this); 7 | } 8 | 9 | util.inherits(OctetParser, EventEmitter); 10 | 11 | exports.OctetParser = OctetParser; 12 | 13 | OctetParser.prototype.write = function(buffer) { 14 | this.emit('data', buffer); 15 | return buffer.length; 16 | }; 17 | 18 | OctetParser.prototype.end = function() { 19 | this.emit('end'); 20 | }; 21 | -------------------------------------------------------------------------------- /node_modules/formidable/lib/querystring_parser.js: -------------------------------------------------------------------------------- 1 | if (global.GENTLY) require = GENTLY.hijack(require); 2 | 3 | // This is a buffering parser, not quite as nice as the multipart one. 4 | // If I find time I'll rewrite this to be fully streaming as well 5 | var querystring = require('querystring'); 6 | 7 | function QuerystringParser(maxKeys) { 8 | this.maxKeys = maxKeys; 9 | this.buffer = ''; 10 | } 11 | exports.QuerystringParser = QuerystringParser; 12 | 13 | QuerystringParser.prototype.write = function(buffer) { 14 | this.buffer += buffer.toString('ascii'); 15 | return buffer.length; 16 | }; 17 | 18 | QuerystringParser.prototype.end = function() { 19 | var fields = querystring.parse(this.buffer, '&', '=', { maxKeys: this.maxKeys }); 20 | for (var field in fields) { 21 | this.onField(field, fields[field]); 22 | } 23 | this.buffer = ''; 24 | 25 | this.onEnd(); 26 | }; 27 | 28 | -------------------------------------------------------------------------------- /node_modules/fs/README.md: -------------------------------------------------------------------------------- 1 | # Security holding package 2 | 3 | This package name is not currently in use, but was formerly occupied 4 | by another package. To avoid malicious use, npm is hanging on to the 5 | package name, but loosely, and we'll probably give it to you if you 6 | want it. 7 | 8 | You may adopt this package by contacting support@npmjs.com and 9 | requesting the name. 10 | -------------------------------------------------------------------------------- /node_modules/morgan/node_modules/basic-auth/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.4 / 2016-05-10 2 | ================== 3 | 4 | * Improve error message when `req` argument is not an object 5 | * Improve error message when `req` missing `headers` property 6 | 7 | 1.0.3 / 2015-07-01 8 | ================== 9 | 10 | * Fix regression accepting a Koa context 11 | 12 | 1.0.2 / 2015-06-12 13 | ================== 14 | 15 | * Improve error message when `req` argument missing 16 | * perf: enable strict mode 17 | * perf: hoist regular expression 18 | * perf: parse with regular expressions 19 | * perf: remove argument reassignment 20 | 21 | 1.0.1 / 2015-05-04 22 | ================== 23 | 24 | * Update readme 25 | 26 | 1.0.0 / 2014-07-01 27 | ================== 28 | 29 | * Support empty password 30 | * Support empty username 31 | 32 | 0.0.1 / 2013-11-30 33 | ================== 34 | 35 | * Initial release 36 | -------------------------------------------------------------------------------- /node_modules/morgan/node_modules/debug/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "laxbreak": true 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/morgan/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | -------------------------------------------------------------------------------- /node_modules/morgan/node_modules/debug/Makefile: -------------------------------------------------------------------------------- 1 | 2 | # get Makefile directory name: http://stackoverflow.com/a/5982798/376773 3 | THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) 4 | THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) 5 | 6 | # BIN directory 7 | BIN := $(THIS_DIR)/node_modules/.bin 8 | 9 | # applications 10 | NODE ?= $(shell which node) 11 | NPM ?= $(NODE) $(shell which npm) 12 | BROWSERIFY ?= $(NODE) $(BIN)/browserify 13 | 14 | all: dist/debug.js 15 | 16 | install: node_modules 17 | 18 | clean: 19 | @rm -rf dist 20 | 21 | dist: 22 | @mkdir -p $@ 23 | 24 | dist/debug.js: node_modules browser.js debug.js dist 25 | @$(BROWSERIFY) \ 26 | --standalone debug \ 27 | . > $@ 28 | 29 | distclean: clean 30 | @rm -rf node_modules 31 | 32 | node_modules: package.json 33 | @NODE_ENV= $(NPM) install 34 | @touch node_modules 35 | 36 | .PHONY: all install clean distclean 37 | -------------------------------------------------------------------------------- /node_modules/morgan/node_modules/debug/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "visionmedia-debug", 3 | "main": "dist/debug.js", 4 | "version": "2.2.0", 5 | "homepage": "https://github.com/visionmedia/debug", 6 | "authors": [ 7 | "TJ Holowaychuk " 8 | ], 9 | "description": "visionmedia-debug", 10 | "moduleType": [ 11 | "amd", 12 | "es6", 13 | "globals", 14 | "node" 15 | ], 16 | "keywords": [ 17 | "visionmedia", 18 | "debug" 19 | ], 20 | "license": "MIT", 21 | "ignore": [ 22 | "**/.*", 23 | "node_modules", 24 | "bower_components", 25 | "test", 26 | "tests" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /node_modules/morgan/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.2.0", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "browser.js", 12 | "scripts": [ 13 | "browser.js", 14 | "debug.js" 15 | ], 16 | "dependencies": { 17 | "rauchg/ms.js": "0.7.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/morgan/node_modules/debug/node_modules/ms/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test 3 | History.md 4 | Makefile 5 | component.json 6 | -------------------------------------------------------------------------------- /node_modules/morgan/node_modules/debug/node_modules/ms/README.md: -------------------------------------------------------------------------------- 1 | # ms.js: miliseconds conversion utility 2 | 3 | ```js 4 | ms('2 days') // 172800000 5 | ms('1d') // 86400000 6 | ms('10h') // 36000000 7 | ms('2.5 hrs') // 9000000 8 | ms('2h') // 7200000 9 | ms('1m') // 60000 10 | ms('5s') // 5000 11 | ms('100') // 100 12 | ``` 13 | 14 | ```js 15 | ms(60000) // "1m" 16 | ms(2 * 60000) // "2m" 17 | ms(ms('10 hours')) // "10h" 18 | ``` 19 | 20 | ```js 21 | ms(60000, { long: true }) // "1 minute" 22 | ms(2 * 60000, { long: true }) // "2 minutes" 23 | ms(ms('10 hours'), { long: true }) // "10 hours" 24 | ``` 25 | 26 | - Node/Browser compatible. Published as [`ms`](https://www.npmjs.org/package/ms) in [NPM](http://nodejs.org/download). 27 | - If a number is supplied to `ms`, a string with a unit is returned. 28 | - If a string that contains the number is supplied, it returns it as 29 | a number (e.g: it returns `100` for `'100'`). 30 | - If you pass a string with a number and a valid unit, the number of 31 | equivalent ms is returned. 32 | 33 | ## License 34 | 35 | MIT 36 | -------------------------------------------------------------------------------- /node_modules/morgan/node_modules/depd/lib/compat/buffer-concat.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2014 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | */ 12 | 13 | module.exports = bufferConcat 14 | 15 | /** 16 | * Concatenate an array of Buffers. 17 | */ 18 | 19 | function bufferConcat(bufs) { 20 | var length = 0 21 | 22 | for (var i = 0, len = bufs.length; i < len; i++) { 23 | length += bufs[i].length 24 | } 25 | 26 | var buf = new Buffer(length) 27 | var pos = 0 28 | 29 | for (var i = 0, len = bufs.length; i < len; i++) { 30 | bufs[i].copy(buf, pos) 31 | pos += bufs[i].length 32 | } 33 | 34 | return buf 35 | } 36 | -------------------------------------------------------------------------------- /node_modules/morgan/node_modules/depd/lib/compat/event-listener-count.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = eventListenerCount 15 | 16 | /** 17 | * Get the count of listeners on an event emitter of a specific type. 18 | */ 19 | 20 | function eventListenerCount(emitter, type) { 21 | return emitter.listeners(type).length 22 | } 23 | -------------------------------------------------------------------------------- /node_modules/morgan/node_modules/on-headers/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.1 / 2015-09-29 2 | ================== 3 | 4 | * perf: enable strict mode 5 | 6 | 1.0.0 / 2014-08-10 7 | ================== 8 | 9 | * Honor `res.statusCode` change in `listener` 10 | * Move to `jshttp` orgainzation 11 | * Prevent `arguments`-related de-opt 12 | 13 | 0.0.0 / 2014-05-13 14 | ================== 15 | 16 | * Initial implementation 17 | -------------------------------------------------------------------------------- /node_modules/mysql/License: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors 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/mysql/lib/PoolSelector.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * PoolSelector 4 | */ 5 | var PoolSelector = module.exports = {}; 6 | 7 | PoolSelector.RR = function PoolSelectorRoundRobin() { 8 | var index = 0; 9 | 10 | return function(clusterIds) { 11 | if (index >= clusterIds.length) { 12 | index = 0; 13 | } 14 | 15 | var clusterId = clusterIds[index++]; 16 | 17 | return clusterId; 18 | }; 19 | }; 20 | 21 | PoolSelector.RANDOM = function PoolSelectorRandom() { 22 | return function(clusterIds) { 23 | return clusterIds[Math.floor(Math.random() * clusterIds.length)]; 24 | }; 25 | }; 26 | 27 | PoolSelector.ORDER = function PoolSelectorOrder() { 28 | return function(clusterIds) { 29 | return clusterIds[0]; 30 | }; 31 | }; 32 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/BufferList.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = BufferList; 3 | function BufferList() { 4 | this.bufs = []; 5 | this.size = 0; 6 | } 7 | 8 | BufferList.prototype.shift = function shift() { 9 | var buf = this.bufs.shift(); 10 | 11 | if (buf) { 12 | this.size -= buf.length; 13 | } 14 | 15 | return buf; 16 | }; 17 | 18 | BufferList.prototype.push = function push(buf) { 19 | if (!buf || !buf.length) { 20 | return; 21 | } 22 | 23 | this.bufs.push(buf); 24 | this.size += buf.length; 25 | }; 26 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/PacketHeader.js: -------------------------------------------------------------------------------- 1 | module.exports = PacketHeader; 2 | function PacketHeader(length, number) { 3 | this.length = length; 4 | this.number = number; 5 | } 6 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/ResultSet.js: -------------------------------------------------------------------------------- 1 | module.exports = ResultSet; 2 | function ResultSet(resultSetHeaderPacket) { 3 | this.resultSetHeaderPacket = resultSetHeaderPacket; 4 | this.fieldPackets = []; 5 | this.eofPackets = []; 6 | this.rows = []; 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/SqlString.js: -------------------------------------------------------------------------------- 1 | module.exports = require('sqlstring'); 2 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/constants/field_flags.js: -------------------------------------------------------------------------------- 1 | // Manually extracted from mysql-5.5.23/include/mysql_com.h 2 | exports.NOT_NULL_FLAG = 1; /* Field can't be NULL */ 3 | exports.PRI_KEY_FLAG = 2; /* Field is part of a primary key */ 4 | exports.UNIQUE_KEY_FLAG = 4; /* Field is part of a unique key */ 5 | exports.MULTIPLE_KEY_FLAG = 8; /* Field is part of a key */ 6 | exports.BLOB_FLAG = 16; /* Field is a blob */ 7 | exports.UNSIGNED_FLAG = 32; /* Field is unsigned */ 8 | exports.ZEROFILL_FLAG = 64; /* Field is zerofill */ 9 | exports.BINARY_FLAG = 128; /* Field is binary */ 10 | 11 | /* The following are only sent to new clients */ 12 | exports.ENUM_FLAG = 256; /* field is an enum */ 13 | exports.AUTO_INCREMENT_FLAG = 512; /* field is a autoincrement field */ 14 | exports.TIMESTAMP_FLAG = 1024; /* Field is a timestamp */ 15 | exports.SET_FLAG = 2048; /* field is a set */ 16 | exports.NO_DEFAULT_VALUE_FLAG = 4096; /* Field doesn't have default value */ 17 | exports.ON_UPDATE_NOW_FLAG = 8192; /* Field is set to NOW on UPDATE */ 18 | exports.NUM_FLAG = 32768; /* Field is num (for clients) */ 19 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/packets/ComChangeUserPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = ComChangeUserPacket; 2 | function ComChangeUserPacket(options) { 3 | options = options || {}; 4 | 5 | this.command = 0x11; 6 | this.user = options.user; 7 | this.scrambleBuff = options.scrambleBuff; 8 | this.database = options.database; 9 | this.charsetNumber = options.charsetNumber; 10 | } 11 | 12 | ComChangeUserPacket.prototype.parse = function(parser) { 13 | this.command = parser.parseUnsignedNumber(1); 14 | this.user = parser.parseNullTerminatedString(); 15 | this.scrambleBuff = parser.parseLengthCodedBuffer(); 16 | this.database = parser.parseNullTerminatedString(); 17 | this.charsetNumber = parser.parseUnsignedNumber(1); 18 | }; 19 | 20 | ComChangeUserPacket.prototype.write = function(writer) { 21 | writer.writeUnsignedNumber(1, this.command); 22 | writer.writeNullTerminatedString(this.user); 23 | writer.writeLengthCodedBuffer(this.scrambleBuff); 24 | writer.writeNullTerminatedString(this.database); 25 | writer.writeUnsignedNumber(2, this.charsetNumber); 26 | }; 27 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/packets/ComPingPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = ComPingPacket; 2 | function ComPingPacket() { 3 | this.command = 0x0e; 4 | } 5 | 6 | ComPingPacket.prototype.write = function(writer) { 7 | writer.writeUnsignedNumber(1, this.command); 8 | }; 9 | 10 | ComPingPacket.prototype.parse = function(parser) { 11 | this.command = parser.parseUnsignedNumber(1); 12 | }; 13 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/packets/ComQueryPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = ComQueryPacket; 2 | function ComQueryPacket(sql) { 3 | this.command = 0x03; 4 | this.sql = sql; 5 | } 6 | 7 | ComQueryPacket.prototype.write = function(writer) { 8 | writer.writeUnsignedNumber(1, this.command); 9 | writer.writeString(this.sql); 10 | }; 11 | 12 | ComQueryPacket.prototype.parse = function(parser) { 13 | this.command = parser.parseUnsignedNumber(1); 14 | this.sql = parser.parsePacketTerminatedString(); 15 | }; 16 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/packets/ComQuitPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = ComQuitPacket; 2 | function ComQuitPacket() { 3 | this.command = 0x01; 4 | } 5 | 6 | ComQuitPacket.prototype.parse = function parse(parser) { 7 | this.command = parser.parseUnsignedNumber(1); 8 | }; 9 | 10 | ComQuitPacket.prototype.write = function write(writer) { 11 | writer.writeUnsignedNumber(1, this.command); 12 | }; 13 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/packets/ComStatisticsPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = ComStatisticsPacket; 2 | function ComStatisticsPacket() { 3 | this.command = 0x09; 4 | } 5 | 6 | ComStatisticsPacket.prototype.write = function(writer) { 7 | writer.writeUnsignedNumber(1, this.command); 8 | }; 9 | 10 | ComStatisticsPacket.prototype.parse = function(parser) { 11 | this.command = parser.parseUnsignedNumber(1); 12 | }; 13 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/packets/EmptyPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = EmptyPacket; 2 | function EmptyPacket() { 3 | } 4 | 5 | EmptyPacket.prototype.write = function write() { 6 | }; 7 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/packets/EofPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = EofPacket; 2 | function EofPacket(options) { 3 | options = options || {}; 4 | 5 | this.fieldCount = undefined; 6 | this.warningCount = options.warningCount; 7 | this.serverStatus = options.serverStatus; 8 | this.protocol41 = options.protocol41; 9 | } 10 | 11 | EofPacket.prototype.parse = function(parser) { 12 | this.fieldCount = parser.parseUnsignedNumber(1); 13 | if (this.protocol41) { 14 | this.warningCount = parser.parseUnsignedNumber(2); 15 | this.serverStatus = parser.parseUnsignedNumber(2); 16 | } 17 | }; 18 | 19 | EofPacket.prototype.write = function(writer) { 20 | writer.writeUnsignedNumber(1, 0xfe); 21 | if (this.protocol41) { 22 | writer.writeUnsignedNumber(2, this.warningCount); 23 | writer.writeUnsignedNumber(2, this.serverStatus); 24 | } 25 | }; 26 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/packets/ErrorPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = ErrorPacket; 2 | function ErrorPacket(options) { 3 | options = options || {}; 4 | 5 | this.fieldCount = options.fieldCount; 6 | this.errno = options.errno; 7 | this.sqlStateMarker = options.sqlStateMarker; 8 | this.sqlState = options.sqlState; 9 | this.message = options.message; 10 | } 11 | 12 | ErrorPacket.prototype.parse = function(parser) { 13 | this.fieldCount = parser.parseUnsignedNumber(1); 14 | this.errno = parser.parseUnsignedNumber(2); 15 | 16 | // sqlStateMarker ('#' = 0x23) indicates error packet format 17 | if (parser.peak() === 0x23) { 18 | this.sqlStateMarker = parser.parseString(1); 19 | this.sqlState = parser.parseString(5); 20 | } 21 | 22 | this.message = parser.parsePacketTerminatedString(); 23 | }; 24 | 25 | ErrorPacket.prototype.write = function(writer) { 26 | writer.writeUnsignedNumber(1, 0xff); 27 | writer.writeUnsignedNumber(2, this.errno); 28 | 29 | if (this.sqlStateMarker) { 30 | writer.writeString(this.sqlStateMarker); 31 | writer.writeString(this.sqlState); 32 | } 33 | 34 | writer.writeString(this.message); 35 | }; 36 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/packets/Field.js: -------------------------------------------------------------------------------- 1 | var Types = require('../constants/types'); 2 | 3 | module.exports = Field; 4 | function Field(options) { 5 | options = options || {}; 6 | 7 | this.parser = options.parser; 8 | this.packet = options.packet; 9 | this.db = options.packet.db; 10 | this.table = options.packet.table; 11 | this.name = options.packet.name; 12 | this.type = typeToString(options.packet.type); 13 | this.length = options.packet.length; 14 | } 15 | 16 | Field.prototype.string = function () { 17 | return this.parser.parseLengthCodedString(); 18 | }; 19 | 20 | Field.prototype.buffer = function () { 21 | return this.parser.parseLengthCodedBuffer(); 22 | }; 23 | 24 | Field.prototype.geometry = function () { 25 | return this.parser.parseGeometryValue(); 26 | }; 27 | 28 | function typeToString(t) { 29 | for (var k in Types) { 30 | if (Types[k] === t) return k; 31 | } 32 | 33 | return undefined; 34 | } 35 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/packets/LocalDataFilePacket.js: -------------------------------------------------------------------------------- 1 | module.exports = LocalDataFilePacket; 2 | 3 | /** 4 | * Create a new LocalDataFilePacket 5 | * @constructor 6 | * @param {Buffer} data The data contents of the packet 7 | * @public 8 | */ 9 | function LocalDataFilePacket(data) { 10 | this.data = data; 11 | } 12 | 13 | LocalDataFilePacket.prototype.write = function(writer) { 14 | writer.writeBuffer(this.data); 15 | }; 16 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/packets/OldPasswordPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = OldPasswordPacket; 2 | function OldPasswordPacket(options) { 3 | options = options || {}; 4 | 5 | this.scrambleBuff = options.scrambleBuff; 6 | } 7 | 8 | OldPasswordPacket.prototype.parse = function(parser) { 9 | this.scrambleBuff = parser.parseNullTerminatedBuffer(); 10 | }; 11 | 12 | OldPasswordPacket.prototype.write = function(writer) { 13 | writer.writeBuffer(this.scrambleBuff); 14 | writer.writeFiller(1); 15 | }; 16 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/packets/ResultSetHeaderPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = ResultSetHeaderPacket; 2 | function ResultSetHeaderPacket(options) { 3 | options = options || {}; 4 | 5 | this.fieldCount = options.fieldCount; 6 | this.extra = options.extra; 7 | } 8 | 9 | ResultSetHeaderPacket.prototype.parse = function(parser) { 10 | this.fieldCount = parser.parseLengthCodedNumber(); 11 | 12 | if (parser.reachedPacketEnd()) return; 13 | 14 | this.extra = (this.fieldCount === null) 15 | ? parser.parsePacketTerminatedString() 16 | : parser.parseLengthCodedNumber(); 17 | }; 18 | 19 | ResultSetHeaderPacket.prototype.write = function(writer) { 20 | writer.writeLengthCodedNumber(this.fieldCount); 21 | 22 | if (this.extra !== undefined) { 23 | writer.writeLengthCodedNumber(this.extra); 24 | } 25 | }; 26 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/packets/SSLRequestPacket.js: -------------------------------------------------------------------------------- 1 | // http://dev.mysql.com/doc/internals/en/ssl.html 2 | // http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::SSLRequest 3 | 4 | var ClientConstants = require('../constants/client'); 5 | 6 | module.exports = SSLRequestPacket; 7 | 8 | function SSLRequestPacket(options) { 9 | options = options || {}; 10 | this.clientFlags = options.clientFlags | ClientConstants.CLIENT_SSL; 11 | this.maxPacketSize = options.maxPacketSize; 12 | this.charsetNumber = options.charsetNumber; 13 | } 14 | 15 | SSLRequestPacket.prototype.parse = function(parser) { 16 | // TODO: check SSLRequest packet v41 vs pre v41 17 | this.clientFlags = parser.parseUnsignedNumber(4); 18 | this.maxPacketSize = parser.parseUnsignedNumber(4); 19 | this.charsetNumber = parser.parseUnsignedNumber(1); 20 | }; 21 | 22 | SSLRequestPacket.prototype.write = function(writer) { 23 | writer.writeUnsignedNumber(4, this.clientFlags); 24 | writer.writeUnsignedNumber(4, this.maxPacketSize); 25 | writer.writeUnsignedNumber(1, this.charsetNumber); 26 | writer.writeFiller(23); 27 | }; 28 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/packets/StatisticsPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = StatisticsPacket; 2 | function StatisticsPacket() { 3 | this.message = undefined; 4 | } 5 | 6 | StatisticsPacket.prototype.parse = function(parser) { 7 | this.message = parser.parsePacketTerminatedString(); 8 | 9 | var items = this.message.split(/\s\s/); 10 | for (var i = 0; i < items.length; i++) { 11 | var m = items[i].match(/^(.+)\:\s+(.+)$/); 12 | if (m !== null) { 13 | this[m[1].toLowerCase().replace(/\s/g, '_')] = Number(m[2]); 14 | } 15 | } 16 | }; 17 | 18 | StatisticsPacket.prototype.write = function(writer) { 19 | writer.writeString(this.message); 20 | }; 21 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/packets/UseOldPasswordPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = UseOldPasswordPacket; 2 | function UseOldPasswordPacket(options) { 3 | options = options || {}; 4 | 5 | this.firstByte = options.firstByte || 0xfe; 6 | } 7 | 8 | UseOldPasswordPacket.prototype.parse = function(parser) { 9 | this.firstByte = parser.parseUnsignedNumber(1); 10 | }; 11 | 12 | UseOldPasswordPacket.prototype.write = function(writer) { 13 | writer.writeUnsignedNumber(1, this.firstByte); 14 | }; 15 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/sequences/Ping.js: -------------------------------------------------------------------------------- 1 | var Sequence = require('./Sequence'); 2 | var Util = require('util'); 3 | var Packets = require('../packets'); 4 | 5 | module.exports = Ping; 6 | Util.inherits(Ping, Sequence); 7 | 8 | function Ping(options, callback) { 9 | if (!callback && typeof options === 'function') { 10 | callback = options; 11 | options = {}; 12 | } 13 | 14 | Sequence.call(this, options, callback); 15 | } 16 | 17 | Ping.prototype.start = function() { 18 | this.emit('packet', new Packets.ComPingPacket()); 19 | }; 20 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/sequences/Quit.js: -------------------------------------------------------------------------------- 1 | var Sequence = require('./Sequence'); 2 | var Util = require('util'); 3 | var Packets = require('../packets'); 4 | 5 | module.exports = Quit; 6 | Util.inherits(Quit, Sequence); 7 | function Quit(options, callback) { 8 | if (!callback && typeof options === 'function') { 9 | callback = options; 10 | options = {}; 11 | } 12 | 13 | Sequence.call(this, options, callback); 14 | } 15 | 16 | Quit.prototype.start = function() { 17 | this.emit('packet', new Packets.ComQuitPacket()); 18 | }; 19 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/sequences/Statistics.js: -------------------------------------------------------------------------------- 1 | var Sequence = require('./Sequence'); 2 | var Util = require('util'); 3 | var Packets = require('../packets'); 4 | 5 | module.exports = Statistics; 6 | Util.inherits(Statistics, Sequence); 7 | function Statistics(options, callback) { 8 | if (!callback && typeof options === 'function') { 9 | callback = options; 10 | options = {}; 11 | } 12 | 13 | Sequence.call(this, options, callback); 14 | } 15 | 16 | Statistics.prototype.start = function() { 17 | this.emit('packet', new Packets.ComStatisticsPacket()); 18 | }; 19 | 20 | Statistics.prototype['StatisticsPacket'] = function (packet) { 21 | this.end(null, packet); 22 | }; 23 | 24 | Statistics.prototype.determinePacket = function determinePacket(firstByte) { 25 | if (firstByte === 0x55) { 26 | return Packets.StatisticsPacket; 27 | } 28 | 29 | return undefined; 30 | }; 31 | -------------------------------------------------------------------------------- /node_modules/mysql/lib/protocol/sequences/index.js: -------------------------------------------------------------------------------- 1 | exports.ChangeUser = require('./ChangeUser'); 2 | exports.Handshake = require('./Handshake'); 3 | exports.Ping = require('./Ping'); 4 | exports.Query = require('./Query'); 5 | exports.Quit = require('./Quit'); 6 | exports.Sequence = require('./Sequence'); 7 | exports.Statistics = require('./Statistics'); 8 | -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/bignumber.js/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bignumber.js", 3 | "main": "bignumber.js", 4 | "version": "3.1.2", 5 | "homepage": "https://github.com/MikeMcl/bignumber.js", 6 | "authors": [ 7 | "Michael Mclaughlin " 8 | ], 9 | "description": "A library for arbitrary-precision decimal and non-decimal arithmetic", 10 | "moduleType": [ 11 | "amd", 12 | "globals", 13 | "node" 14 | ], 15 | "keywords": [ 16 | "arbitrary", 17 | "precision", 18 | "arithmetic", 19 | "big", 20 | "number", 21 | "decimal", 22 | "float", 23 | "biginteger", 24 | "bigdecimal", 25 | "bignumber", 26 | "bigint", 27 | "bignum" 28 | ], 29 | "license": "MIT", 30 | "ignore": [ 31 | ".*", 32 | "*.json", 33 | "test" 34 | ] 35 | } 36 | 37 | -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/readable-stream/.npmignore: -------------------------------------------------------------------------------- 1 | build/ 2 | test/ 3 | examples/ 4 | fs.js 5 | zlib.js -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/readable-stream/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright Joyent, Inc. and other Node contributors. All rights reserved. 2 | Permission is hereby granted, free of charge, to any person obtaining a copy 3 | of this software and associated documentation files (the "Software"), to 4 | deal in the Software without restriction, including without limitation the 5 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 6 | sell copies of the Software, and to permit persons to whom the Software is 7 | furnished to do so, subject to the following conditions: 8 | 9 | The above copyright notice and this permission notice shall be included in 10 | all copies or substantial portions of the Software. 11 | 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 13 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 14 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 15 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 16 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 17 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 18 | IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/readable-stream/duplex.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_duplex.js") 2 | -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/readable-stream/node_modules/core-util-is/README.md: -------------------------------------------------------------------------------- 1 | # core-util-is 2 | 3 | The `util.is*` functions introduced in Node v0.12. 4 | -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/readable-stream/node_modules/inherits/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | 17 | -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/readable-stream/node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | try { 2 | var util = require('util'); 3 | if (typeof util.inherits !== 'function') throw ''; 4 | module.exports = util.inherits; 5 | } catch (e) { 6 | module.exports = require('./inherits_browser.js'); 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/readable-stream/node_modules/inherits/inherits_browser.js: -------------------------------------------------------------------------------- 1 | if (typeof Object.create === 'function') { 2 | // implementation from standard node.js 'util' module 3 | module.exports = function inherits(ctor, superCtor) { 4 | ctor.super_ = superCtor 5 | ctor.prototype = Object.create(superCtor.prototype, { 6 | constructor: { 7 | value: ctor, 8 | enumerable: false, 9 | writable: true, 10 | configurable: true 11 | } 12 | }); 13 | }; 14 | } else { 15 | // old school shim for old browsers 16 | module.exports = function inherits(ctor, superCtor) { 17 | ctor.super_ = superCtor 18 | var TempCtor = function () {} 19 | TempCtor.prototype = superCtor.prototype 20 | ctor.prototype = new TempCtor() 21 | ctor.prototype.constructor = ctor 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/readable-stream/node_modules/isarray/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "isarray", 3 | "description" : "Array#isArray for older browsers", 4 | "version" : "0.0.1", 5 | "repository" : "juliangruber/isarray", 6 | "homepage": "https://github.com/juliangruber/isarray", 7 | "main" : "index.js", 8 | "scripts" : [ 9 | "index.js" 10 | ], 11 | "dependencies" : {}, 12 | "keywords": ["browser","isarray","array"], 13 | "author": { 14 | "name": "Julian Gruber", 15 | "email": "mail@juliangruber.com", 16 | "url": "http://juliangruber.com" 17 | }, 18 | "license": "MIT" 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/readable-stream/node_modules/isarray/index.js: -------------------------------------------------------------------------------- 1 | module.exports = Array.isArray || function (arr) { 2 | return Object.prototype.toString.call(arr) == '[object Array]'; 3 | }; 4 | -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/readable-stream/node_modules/string_decoder/.npmignore: -------------------------------------------------------------------------------- 1 | build 2 | test 3 | -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/readable-stream/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/mysql/node_modules/readable-stream/passthrough.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_passthrough.js") 2 | -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/readable-stream/readable.js: -------------------------------------------------------------------------------- 1 | exports = module.exports = require('./lib/_stream_readable.js'); 2 | exports.Stream = require('stream'); 3 | exports.Readable = exports; 4 | exports.Writable = require('./lib/_stream_writable.js'); 5 | exports.Duplex = require('./lib/_stream_duplex.js'); 6 | exports.Transform = require('./lib/_stream_transform.js'); 7 | exports.PassThrough = require('./lib/_stream_passthrough.js'); 8 | if (!process.browser && process.env.READABLE_STREAM === 'disable') { 9 | module.exports = require('stream'); 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/readable-stream/transform.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_transform.js") 2 | -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/readable-stream/writable.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_writable.js") 2 | -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/sqlstring/HISTORY.md: -------------------------------------------------------------------------------- 1 | 2.2.0 / 2016-11-01 2 | ================== 3 | 4 | * Escape invalid `Date` objects as `NULL` 5 | 6 | 2.1.0 / 2016-09-26 7 | ================== 8 | 9 | * Accept numbers and other value types in `escapeId` 10 | * Run `buffer.toString()` through escaping 11 | 12 | 2.0.1 / 2016-06-06 13 | ================== 14 | 15 | * Fix npm package to include missing `lib/` directory 16 | 17 | 2.0.0 / 2016-06-06 18 | ================== 19 | 20 | * Bring repository up-to-date with `mysql` module changes 21 | 22 | 1.0.0 / 2014-11-09 23 | ================== 24 | 25 | * build: support Node.js 0.8.x 26 | 27 | 0.0.1 / 2014-02-25 28 | ================== 29 | 30 | * Initial release 31 | -------------------------------------------------------------------------------- /node_modules/mysql/node_modules/sqlstring/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/SqlString'); 2 | -------------------------------------------------------------------------------- /node_modules/serve-favicon/node_modules/fresh/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.3.0 / 2015-05-12 2 | ================== 3 | 4 | * Add weak `ETag` matching support 5 | 6 | 0.2.4 / 2014-09-07 7 | ================== 8 | 9 | * Support Node.js 0.6 10 | 11 | 0.2.3 / 2014-09-07 12 | ================== 13 | 14 | * Move repository to jshttp 15 | 16 | 0.2.2 / 2014-02-19 17 | ================== 18 | 19 | * Revert "Fix for blank page on Safari reload" 20 | 21 | 0.2.1 / 2014-01-29 22 | ================== 23 | 24 | * Fix for blank page on Safari reload 25 | 26 | 0.2.0 / 2013-08-11 27 | ================== 28 | 29 | * Return stale for `Cache-Control: no-cache` 30 | 31 | 0.1.0 / 2012-06-15 32 | ================== 33 | * Add `If-None-Match: *` support 34 | 35 | 0.0.1 / 2012-06-10 36 | ================== 37 | 38 | * Initial release 39 | -------------------------------------------------------------------------------- /node_modules/serve-favicon/node_modules/ms/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Zeit, Inc. 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 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, 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 THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/serve-favicon/node_modules/parseurl/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.3.1 / 2016-01-17 2 | ================== 3 | 4 | * perf: enable strict mode 5 | 6 | 1.3.0 / 2014-08-09 7 | ================== 8 | 9 | * Add `parseurl.original` for parsing `req.originalUrl` with fallback 10 | * Return `undefined` if `req.url` is `undefined` 11 | 12 | 1.2.0 / 2014-07-21 13 | ================== 14 | 15 | * Cache URLs based on original value 16 | * Remove no-longer-needed URL mis-parse work-around 17 | * Simplify the "fast-path" `RegExp` 18 | 19 | 1.1.3 / 2014-07-08 20 | ================== 21 | 22 | * Fix typo 23 | 24 | 1.1.2 / 2014-07-08 25 | ================== 26 | 27 | * Seriously fix Node.js 0.8 compatibility 28 | 29 | 1.1.1 / 2014-07-08 30 | ================== 31 | 32 | * Fix Node.js 0.8 compatibility 33 | 34 | 1.1.0 / 2014-07-08 35 | ================== 36 | 37 | * Incorporate URL href-only parse fast-path 38 | 39 | 1.0.1 / 2014-03-08 40 | ================== 41 | 42 | * Add missing `require` 43 | 44 | 1.0.0 / 2014-03-08 45 | ================== 46 | 47 | * Genesis from `connect` 48 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "happycourier", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "start": "node ./bin/www" 7 | }, 8 | "dependencies": { 9 | "body-parser": "~1.16.0", 10 | "cookie-parser": "~1.4.3", 11 | "debug": "~2.6.0", 12 | "ejs": "~2.5.5", 13 | "express": "~4.14.1", 14 | "morgan": "~1.7.0", 15 | "serve-favicon": "~2.3.2" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /public/bootstrap/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | Bootstrap uses [GitHub's Releases feature](https://github.com/blog/1547-release-your-software) for its changelogs. 2 | 3 | See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. 4 | 5 | Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release. 6 | -------------------------------------------------------------------------------- /public/bootstrap/HelpE_addtable.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Administrator on 2017/4/8. 3 | */ 4 | 5 | 6 | function happyaddt(tempstr) 7 | { 8 | var happytab = document.getElementById('happytab'); 9 | var happytr=document.createElement('tr'); 10 | var happytd = document.createElement('td'); 11 | var tbody = document.getElementById('tbody'); 12 | happytd.setAttribute('style','text-align:center'); 13 | happytr.appendChild(happytd); 14 | tbody.appendChild(happytr); 15 | happytab.appendChild(tbody); 16 | happytd.innerHTML=tempstr; 17 | } 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /public/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2016 Twitter, Inc. 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 | -------------------------------------------------------------------------------- /public/bootstrap/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/bootstrap/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /public/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /public/bootstrap/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/bootstrap/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /public/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /public/bootstrap/dist/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /public/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /public/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /public/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /public/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /public/bootstrap/grunt/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends" : "../js/.jshintrc", 3 | "asi" : false, 4 | "browser" : false, 5 | "es3" : false, 6 | "node" : true 7 | } 8 | -------------------------------------------------------------------------------- /public/bootstrap/grunt/bs-commonjs-generator.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Grunt task for the CommonJS module generation 3 | * http://getbootstrap.com 4 | * Copyright 2014-2015 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | */ 7 | 8 | 'use strict'; 9 | 10 | var fs = require('fs'); 11 | var path = require('path'); 12 | 13 | var COMMONJS_BANNER = '// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.\n'; 14 | 15 | module.exports = function generateCommonJSModule(grunt, srcFiles, destFilepath) { 16 | var destDir = path.dirname(destFilepath); 17 | 18 | function srcPathToDestRequire(srcFilepath) { 19 | var requirePath = path.relative(destDir, srcFilepath).replace(/\\/g, '/'); 20 | return 'require(\'' + requirePath + '\')'; 21 | } 22 | 23 | var moduleOutputJs = COMMONJS_BANNER + srcFiles.map(srcPathToDestRequire).join('\n'); 24 | try { 25 | fs.writeFileSync(destFilepath, moduleOutputJs); 26 | } catch (err) { 27 | grunt.fail.warn(err); 28 | } 29 | grunt.log.writeln('File ' + destFilepath.cyan + ' created.'); 30 | }; 31 | -------------------------------------------------------------------------------- /public/bootstrap/helpdeliver.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 帮我取快递 6 | 7 | 8 | 9 | 10 | 11 |
    12 | 13 | 14 | 15 | 16 |
    17 | 18 | 19 | -------------------------------------------------------------------------------- /public/bootstrap/less/breadcrumbs.less: -------------------------------------------------------------------------------- 1 | // 2 | // Breadcrumbs 3 | // -------------------------------------------------- 4 | 5 | 6 | .breadcrumb { 7 | padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal; 8 | margin-bottom: @line-height-computed; 9 | list-style: none; 10 | background-color: @breadcrumb-bg; 11 | border-radius: @border-radius-base; 12 | 13 | > li { 14 | display: inline-block; 15 | 16 | + li:before { 17 | content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space 18 | padding: 0 5px; 19 | color: @breadcrumb-color; 20 | } 21 | } 22 | 23 | > .active { 24 | color: @breadcrumb-active-color; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /public/bootstrap/less/close.less: -------------------------------------------------------------------------------- 1 | // 2 | // Close icons 3 | // -------------------------------------------------- 4 | 5 | 6 | .close { 7 | float: right; 8 | font-size: (@font-size-base * 1.5); 9 | font-weight: @close-font-weight; 10 | line-height: 1; 11 | color: @close-color; 12 | text-shadow: @close-text-shadow; 13 | .opacity(.2); 14 | 15 | &:hover, 16 | &:focus { 17 | color: @close-color; 18 | text-decoration: none; 19 | cursor: pointer; 20 | .opacity(.5); 21 | } 22 | 23 | // Additional properties for button version 24 | // iOS requires the button element instead of an anchor tag. 25 | // If you want the anchor version, it requires `href="#"`. 26 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile 27 | button& { 28 | padding: 0; 29 | cursor: pointer; 30 | background: transparent; 31 | border: 0; 32 | -webkit-appearance: none; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /public/bootstrap/less/component-animations.less: -------------------------------------------------------------------------------- 1 | // 2 | // Component animations 3 | // -------------------------------------------------- 4 | 5 | // Heads up! 6 | // 7 | // We don't use the `.opacity()` mixin here since it causes a bug with text 8 | // fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. 9 | 10 | .fade { 11 | opacity: 0; 12 | .transition(opacity .15s linear); 13 | &.in { 14 | opacity: 1; 15 | } 16 | } 17 | 18 | .collapse { 19 | display: none; 20 | 21 | &.in { display: block; } 22 | tr&.in { display: table-row; } 23 | tbody&.in { display: table-row-group; } 24 | } 25 | 26 | .collapsing { 27 | position: relative; 28 | height: 0; 29 | overflow: hidden; 30 | .transition-property(~"height, visibility"); 31 | .transition-duration(.35s); 32 | .transition-timing-function(ease); 33 | } 34 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/alerts.less: -------------------------------------------------------------------------------- 1 | // Alerts 2 | 3 | .alert-variant(@background; @border; @text-color) { 4 | background-color: @background; 5 | border-color: @border; 6 | color: @text-color; 7 | 8 | hr { 9 | border-top-color: darken(@border, 5%); 10 | } 11 | .alert-link { 12 | color: darken(@text-color, 10%); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/background-variant.less: -------------------------------------------------------------------------------- 1 | // Contextual backgrounds 2 | 3 | .bg-variant(@color) { 4 | background-color: @color; 5 | a&:hover, 6 | a&:focus { 7 | background-color: darken(@color, 10%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/border-radius.less: -------------------------------------------------------------------------------- 1 | // Single side border-radius 2 | 3 | .border-top-radius(@radius) { 4 | border-top-right-radius: @radius; 5 | border-top-left-radius: @radius; 6 | } 7 | .border-right-radius(@radius) { 8 | border-bottom-right-radius: @radius; 9 | border-top-right-radius: @radius; 10 | } 11 | .border-bottom-radius(@radius) { 12 | border-bottom-right-radius: @radius; 13 | border-bottom-left-radius: @radius; 14 | } 15 | .border-left-radius(@radius) { 16 | border-bottom-left-radius: @radius; 17 | border-top-left-radius: @radius; 18 | } 19 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/center-block.less: -------------------------------------------------------------------------------- 1 | // Center-align a block level element 2 | 3 | .center-block() { 4 | display: block; 5 | margin-left: auto; 6 | margin-right: auto; 7 | } 8 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/clearfix.less: -------------------------------------------------------------------------------- 1 | // Clearfix 2 | // 3 | // For modern browsers 4 | // 1. The space content is one way to avoid an Opera bug when the 5 | // contenteditable attribute is included anywhere else in the document. 6 | // Otherwise it causes space to appear at the top and bottom of elements 7 | // that are clearfixed. 8 | // 2. The use of `table` rather than `block` is only necessary if using 9 | // `:before` to contain the top-margins of child elements. 10 | // 11 | // Source: http://nicolasgallagher.com/micro-clearfix-hack/ 12 | 13 | .clearfix() { 14 | &:before, 15 | &:after { 16 | content: " "; // 1 17 | display: table; // 2 18 | } 19 | &:after { 20 | clear: both; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/hide-text.less: -------------------------------------------------------------------------------- 1 | // CSS image replacement 2 | // 3 | // Heads up! v3 launched with only `.hide-text()`, but per our pattern for 4 | // mixins being reused as classes with the same name, this doesn't hold up. As 5 | // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. 6 | // 7 | // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 8 | 9 | // Deprecated as of v3.0.1 (has been removed in v4) 10 | .hide-text() { 11 | font: ~"0/0" a; 12 | color: transparent; 13 | text-shadow: none; 14 | background-color: transparent; 15 | border: 0; 16 | } 17 | 18 | // New mixin to use as of v3.0.1 19 | .text-hide() { 20 | .hide-text(); 21 | } 22 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/labels.less: -------------------------------------------------------------------------------- 1 | // Labels 2 | 3 | .label-variant(@color) { 4 | background-color: @color; 5 | 6 | &[href] { 7 | &:hover, 8 | &:focus { 9 | background-color: darken(@color, 10%); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/list-group.less: -------------------------------------------------------------------------------- 1 | // List Groups 2 | 3 | .list-group-item-variant(@state; @background; @color) { 4 | .list-group-item-@{state} { 5 | color: @color; 6 | background-color: @background; 7 | 8 | a&, 9 | button& { 10 | color: @color; 11 | 12 | .list-group-item-heading { 13 | color: inherit; 14 | } 15 | 16 | &:hover, 17 | &:focus { 18 | color: @color; 19 | background-color: darken(@background, 5%); 20 | } 21 | &.active, 22 | &.active:hover, 23 | &.active:focus { 24 | color: #fff; 25 | background-color: @color; 26 | border-color: @color; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/nav-divider.less: -------------------------------------------------------------------------------- 1 | // Horizontal dividers 2 | // 3 | // Dividers (basically an hr) within dropdowns and nav lists 4 | 5 | .nav-divider(@color: #e5e5e5) { 6 | height: 1px; 7 | margin: ((@line-height-computed / 2) - 1) 0; 8 | overflow: hidden; 9 | background-color: @color; 10 | } 11 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/nav-vertical-align.less: -------------------------------------------------------------------------------- 1 | // Navbar vertical align 2 | // 3 | // Vertically center elements in the navbar. 4 | // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin. 5 | 6 | .navbar-vertical-align(@element-height) { 7 | margin-top: ((@navbar-height - @element-height) / 2); 8 | margin-bottom: ((@navbar-height - @element-height) / 2); 9 | } 10 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/opacity.less: -------------------------------------------------------------------------------- 1 | // Opacity 2 | 3 | .opacity(@opacity) { 4 | opacity: @opacity; 5 | // IE8 filter 6 | @opacity-ie: (@opacity * 100); 7 | filter: ~"alpha(opacity=@{opacity-ie})"; 8 | } 9 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/pagination.less: -------------------------------------------------------------------------------- 1 | // Pagination 2 | 3 | .pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { 4 | > li { 5 | > a, 6 | > span { 7 | padding: @padding-vertical @padding-horizontal; 8 | font-size: @font-size; 9 | line-height: @line-height; 10 | } 11 | &:first-child { 12 | > a, 13 | > span { 14 | .border-left-radius(@border-radius); 15 | } 16 | } 17 | &:last-child { 18 | > a, 19 | > span { 20 | .border-right-radius(@border-radius); 21 | } 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/panels.less: -------------------------------------------------------------------------------- 1 | // Panels 2 | 3 | .panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) { 4 | border-color: @border; 5 | 6 | & > .panel-heading { 7 | color: @heading-text-color; 8 | background-color: @heading-bg-color; 9 | border-color: @heading-border; 10 | 11 | + .panel-collapse > .panel-body { 12 | border-top-color: @border; 13 | } 14 | .badge { 15 | color: @heading-bg-color; 16 | background-color: @heading-text-color; 17 | } 18 | } 19 | & > .panel-footer { 20 | + .panel-collapse > .panel-body { 21 | border-bottom-color: @border; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/progress-bar.less: -------------------------------------------------------------------------------- 1 | // Progress bars 2 | 3 | .progress-bar-variant(@color) { 4 | background-color: @color; 5 | 6 | // Deprecated parent class requirement as of v3.2.0 7 | .progress-striped & { 8 | #gradient > .striped(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/reset-filter.less: -------------------------------------------------------------------------------- 1 | // Reset filters for IE 2 | // 3 | // When you need to remove a gradient background, do not forget to use this to reset 4 | // the IE filter for IE9 and below. 5 | 6 | .reset-filter() { 7 | filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); 8 | } 9 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/reset-text.less: -------------------------------------------------------------------------------- 1 | .reset-text() { 2 | font-family: @font-family-base; 3 | // We deliberately do NOT reset font-size. 4 | font-style: normal; 5 | font-weight: normal; 6 | letter-spacing: normal; 7 | line-break: auto; 8 | line-height: @line-height-base; 9 | text-align: left; // Fallback for where `start` is not supported 10 | text-align: start; 11 | text-decoration: none; 12 | text-shadow: none; 13 | text-transform: none; 14 | white-space: normal; 15 | word-break: normal; 16 | word-spacing: normal; 17 | word-wrap: normal; 18 | } 19 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/resize.less: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | .resizable(@direction) { 4 | resize: @direction; // Options: horizontal, vertical, both 5 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 6 | } 7 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/responsive-visibility.less: -------------------------------------------------------------------------------- 1 | // Responsive utilities 2 | 3 | // 4 | // More easily include all the states for responsive-utilities.less. 5 | .responsive-visibility() { 6 | display: block !important; 7 | table& { display: table !important; } 8 | tr& { display: table-row !important; } 9 | th&, 10 | td& { display: table-cell !important; } 11 | } 12 | 13 | .responsive-invisibility() { 14 | display: none !important; 15 | } 16 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/size.less: -------------------------------------------------------------------------------- 1 | // Sizing shortcuts 2 | 3 | .size(@width; @height) { 4 | width: @width; 5 | height: @height; 6 | } 7 | 8 | .square(@size) { 9 | .size(@size; @size); 10 | } 11 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/tab-focus.less: -------------------------------------------------------------------------------- 1 | // WebKit-style focus 2 | 3 | .tab-focus() { 4 | // WebKit-specific. Other browsers will keep their default outline style. 5 | // (Initially tried to also force default via `outline: initial`, 6 | // but that seems to erroneously remove the outline in Firefox altogether.) 7 | outline: 5px auto -webkit-focus-ring-color; 8 | outline-offset: -2px; 9 | } 10 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/table-row.less: -------------------------------------------------------------------------------- 1 | // Tables 2 | 3 | .table-row-variant(@state; @background) { 4 | // Exact selectors below required to override `.table-striped` and prevent 5 | // inheritance to nested tables. 6 | .table > thead > tr, 7 | .table > tbody > tr, 8 | .table > tfoot > tr { 9 | > td.@{state}, 10 | > th.@{state}, 11 | &.@{state} > td, 12 | &.@{state} > th { 13 | background-color: @background; 14 | } 15 | } 16 | 17 | // Hover states for `.table-hover` 18 | // Note: this is not available for cells or rows within `thead` or `tfoot`. 19 | .table-hover > tbody > tr { 20 | > td.@{state}:hover, 21 | > th.@{state}:hover, 22 | &.@{state}:hover > td, 23 | &:hover > .@{state}, 24 | &.@{state}:hover > th { 25 | background-color: darken(@background, 5%); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/text-emphasis.less: -------------------------------------------------------------------------------- 1 | // Typography 2 | 3 | .text-emphasis-variant(@color) { 4 | color: @color; 5 | a&:hover, 6 | a&:focus { 7 | color: darken(@color, 10%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /public/bootstrap/less/mixins/text-overflow.less: -------------------------------------------------------------------------------- 1 | // Text overflow 2 | // Requires inline-block or block for proper styling 3 | 4 | .text-overflow() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /public/bootstrap/less/pager.less: -------------------------------------------------------------------------------- 1 | // 2 | // Pager pagination 3 | // -------------------------------------------------- 4 | 5 | 6 | .pager { 7 | padding-left: 0; 8 | margin: @line-height-computed 0; 9 | list-style: none; 10 | text-align: center; 11 | &:extend(.clearfix all); 12 | li { 13 | display: inline; 14 | > a, 15 | > span { 16 | display: inline-block; 17 | padding: 5px 14px; 18 | background-color: @pager-bg; 19 | border: 1px solid @pager-border; 20 | border-radius: @pager-border-radius; 21 | } 22 | 23 | > a:hover, 24 | > a:focus { 25 | text-decoration: none; 26 | background-color: @pager-hover-bg; 27 | } 28 | } 29 | 30 | .next { 31 | > a, 32 | > span { 33 | float: right; 34 | } 35 | } 36 | 37 | .previous { 38 | > a, 39 | > span { 40 | float: left; 41 | } 42 | } 43 | 44 | .disabled { 45 | > a, 46 | > a:hover, 47 | > a:focus, 48 | > span { 49 | color: @pager-disabled-color; 50 | background-color: @pager-bg; 51 | cursor: @cursor-disabled; 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /public/bootstrap/less/responsive-embed.less: -------------------------------------------------------------------------------- 1 | // Embeds responsive 2 | // 3 | // Credit: Nicolas Gallagher and SUIT CSS. 4 | 5 | .embed-responsive { 6 | position: relative; 7 | display: block; 8 | height: 0; 9 | padding: 0; 10 | overflow: hidden; 11 | 12 | .embed-responsive-item, 13 | iframe, 14 | embed, 15 | object, 16 | video { 17 | position: absolute; 18 | top: 0; 19 | left: 0; 20 | bottom: 0; 21 | height: 100%; 22 | width: 100%; 23 | border: 0; 24 | } 25 | } 26 | 27 | // Modifier class for 16:9 aspect ratio 28 | .embed-responsive-16by9 { 29 | padding-bottom: 56.25%; 30 | } 31 | 32 | // Modifier class for 4:3 aspect ratio 33 | .embed-responsive-4by3 { 34 | padding-bottom: 75%; 35 | } 36 | -------------------------------------------------------------------------------- /public/bootstrap/less/thumbnails.less: -------------------------------------------------------------------------------- 1 | // 2 | // Thumbnails 3 | // -------------------------------------------------- 4 | 5 | 6 | // Mixin and adjust the regular image class 7 | .thumbnail { 8 | display: block; 9 | padding: @thumbnail-padding; 10 | margin-bottom: @line-height-computed; 11 | line-height: @line-height-base; 12 | background-color: @thumbnail-bg; 13 | border: 1px solid @thumbnail-border; 14 | border-radius: @thumbnail-border-radius; 15 | .transition(border .2s ease-in-out); 16 | 17 | > img, 18 | a > img { 19 | &:extend(.img-responsive); 20 | margin-left: auto; 21 | margin-right: auto; 22 | } 23 | 24 | // Add a hover state for linked versions only 25 | a&:hover, 26 | a&:focus, 27 | a&.active { 28 | border-color: @link-color; 29 | } 30 | 31 | // Image captions 32 | .caption { 33 | padding: @thumbnail-caption-padding; 34 | color: @thumbnail-caption-color; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /public/bootstrap/less/utilities.less: -------------------------------------------------------------------------------- 1 | // 2 | // Utility classes 3 | // -------------------------------------------------- 4 | 5 | 6 | // Floats 7 | // ------------------------- 8 | 9 | .clearfix { 10 | .clearfix(); 11 | } 12 | .center-block { 13 | .center-block(); 14 | } 15 | .pull-right { 16 | float: right !important; 17 | } 18 | .pull-left { 19 | float: left !important; 20 | } 21 | 22 | 23 | // Toggling content 24 | // ------------------------- 25 | 26 | // Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1 27 | .hide { 28 | display: none !important; 29 | } 30 | .show { 31 | display: block !important; 32 | } 33 | .invisible { 34 | visibility: hidden; 35 | } 36 | .text-hide { 37 | .text-hide(); 38 | } 39 | 40 | 41 | // Hide from screenreaders and browsers 42 | // 43 | // Credit: HTML5 Boilerplate 44 | 45 | .hidden { 46 | display: none !important; 47 | } 48 | 49 | 50 | // For Affix plugin 51 | // ------------------------- 52 | 53 | .affix { 54 | position: fixed; 55 | } 56 | -------------------------------------------------------------------------------- /public/bootstrap/less/wells.less: -------------------------------------------------------------------------------- 1 | // 2 | // Wells 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | .well { 8 | min-height: 20px; 9 | padding: 19px; 10 | margin-bottom: 20px; 11 | background-color: @well-bg; 12 | border: 1px solid @well-border; 13 | border-radius: @border-radius-base; 14 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); 15 | blockquote { 16 | border-color: #ddd; 17 | border-color: rgba(0,0,0,.15); 18 | } 19 | } 20 | 21 | // Sizes 22 | .well-lg { 23 | padding: 24px; 24 | border-radius: @border-radius-large; 25 | } 26 | .well-sm { 27 | padding: 9px; 28 | border-radius: @border-radius-small; 29 | } 30 | -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | _gh_pages 3 | node_modules 4 | bower_components -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/README.md: -------------------------------------------------------------------------------- 1 | This repository is for anyone who still use the BootstrapValidator. 2 | 3 | __It's no longer supported.__ 4 | 5 | __Please upgrade to use [FormValidation](http://formvalidation.io).__ 6 | -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/bootstrapValidator.jquery.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrapValidator", 3 | "version": "0.5.3", 4 | "title": "BootstrapValidator", 5 | "author": { 6 | "name": "Nguyen Huu Phuoc", 7 | "email": "phuoc@huuphuoc.me", 8 | "url": "https://twitter.com/nghuuphuoc" 9 | }, 10 | "licenses": [ 11 | { 12 | "url": "http://bootstrapvalidator.com/license/" 13 | } 14 | ], 15 | "dependencies": { 16 | "jquery": ">= 1.9.1", 17 | "bootstrap": ">= 3.0.0" 18 | }, 19 | "description": "The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3", 20 | "keywords": ["jQuery", "plugin", "validate", "validator", "form", "Bootstrap"], 21 | "homepage": "http://bootstrapvalidator.com", 22 | "bugs": "https://github.com/nghuuphuoc/bootstrapvalidator/issues", 23 | "maintainers": [ 24 | { "name": "Nguyen Huu Phuoc", "email": "phuoc@huuphuoc.me", "url": "https://twitter.com/nghuuphuoc" } 25 | ] 26 | } -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrapvalidator", 3 | "description": "The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3", 4 | "version": "0.5.3", 5 | "ignore": [ 6 | "demo", 7 | "screenshots", 8 | "test", 9 | "vendor", 10 | "*.md", 11 | "bootstrapValidator.jquery.json", 12 | "Gruntfile.js", 13 | "package.json" 14 | ], 15 | "main": [ 16 | "dist/css/bootstrapValidator.css", 17 | "dist/js/bootstrapValidator.js" 18 | ], 19 | "license": "http://bootstrapvalidator.com/license/", 20 | "keywords": ["jQuery", "plugin", "validate", "validator", "form", "Bootstrap"], 21 | "authors": [ 22 | { "name": "Nguyen Huu Phuoc", "email": "phuoc@huuphuoc.me"," homepage": "https://twitter.com/nghuuphuoc" } 23 | ], 24 | "homepage": "http://bootstrapvalidator.com", 25 | "repository": { 26 | "type": "git", 27 | "url": "https://github.com/nghuuphuoc/bootstrapvalidator.git" 28 | }, 29 | "dependencies": { 30 | "jquery": ">= 1.9.1", 31 | "bootstrap": ">= 3.0.0" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/demo/ajaxSubmit.php: -------------------------------------------------------------------------------- 1 | sprintf('Welcome %s', $userName), 6 | )); 7 | -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/demo/remote.php: -------------------------------------------------------------------------------- 1 | 'admin@domain.com', 15 | 'administrator' => 'administrator@domain.com', 16 | 'root' => 'root@domain.com', 17 | ); 18 | 19 | if (isset($_POST['username']) && array_key_exists($_POST['username'], $users)) { 20 | $valid = false; 21 | } else if (isset($_POST['email'])) { 22 | $email = $_POST['email'][0]; 23 | foreach ($users as $k => $v) { 24 | if ($email == $v) { 25 | $valid = false; 26 | break; 27 | } 28 | } 29 | } 30 | 31 | echo json_encode(array( 32 | 'valid' => $valid, 33 | )); 34 | -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/demo/remote2.php: -------------------------------------------------------------------------------- 1 | 'admin@domain.com', 14 | 'administrator' => 'administrator@domain.com', 15 | 'root' => 'root@domain.com', 16 | ); 17 | 18 | if (isset($_POST['username']) && array_key_exists($_POST['username'], $users)) { 19 | $valid = false; 20 | $message = 'The username is not available'; 21 | } else if (isset($_POST['email'])) { 22 | $email = $_POST['email']; 23 | foreach ($users as $k => $v) { 24 | if ($email == $v) { 25 | $valid = false; 26 | $message = 'The email is not available'; 27 | break; 28 | } 29 | } 30 | } 31 | 32 | echo json_encode( 33 | $valid ? array('valid' => $valid) : array('valid' => $valid, 'message' => $message) 34 | ); 35 | -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/demo/target.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | BootstrapValidator demo 5 | 6 | 7 | 8 |
    9 |
    10 |

    Form data

    11 |
    12 |

    This is a simple page showing the data you have just submitted

    13 |
    14 |
    15 |
    16 | 17 | -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/dist/css/bootstrapValidator.css: -------------------------------------------------------------------------------- 1 | /** 2 | * BootstrapValidator (http://bootstrapvalidator.com) 3 | * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3 4 | * 5 | * @author http://twitter.com/nghuuphuoc 6 | * @copyright (c) 2013 - 2014 Nguyen Huu Phuoc 7 | * @license Commercial: http://bootstrapvalidator.com/license/ 8 | * Non-commercial: http://creativecommons.org/licenses/by-nc-nd/3.0/ 9 | */ 10 | 11 | .bv-form .help-block { 12 | margin-bottom: 0; 13 | } 14 | .bv-form .tooltip-inner { 15 | text-align: left; 16 | } 17 | .nav-tabs li.bv-tab-success > a { 18 | color: #3c763d; 19 | } 20 | .nav-tabs li.bv-tab-error > a { 21 | color: #a94442; 22 | } 23 | 24 | .bv-form .bv-icon-no-label { 25 | top: 0; 26 | } 27 | 28 | .bv-form .bv-icon-input-group { 29 | top: 0; 30 | z-index: 100; 31 | } -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/dist/css/bootstrapValidator.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * BootstrapValidator (http://bootstrapvalidator.com) 3 | * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3 4 | * 5 | * @version v0.5.3, built on 2014-11-05 9:14:18 PM 6 | * @author https://twitter.com/nghuuphuoc 7 | * @copyright (c) 2013 - 2014 Nguyen Huu Phuoc 8 | * @license Commercial: http://bootstrapvalidator.com/license/ 9 | * Non-commercial: http://creativecommons.org/licenses/by-nc-nd/3.0/ 10 | */ 11 | 12 | .bv-form .help-block{margin-bottom:0}.bv-form .tooltip-inner{text-align:left}.nav-tabs li.bv-tab-success>a{color:#3c763d}.nav-tabs li.bv-tab-error>a{color:#a94442}.bv-form .bv-icon-no-label{top:0}.bv-form .bv-icon-input-group{top:0;z-index:100} -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/screenshots/demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/bootstrapvalidator-master/screenshots/demo.gif -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/src/css/bootstrapValidator.css: -------------------------------------------------------------------------------- 1 | /** 2 | * BootstrapValidator (http://bootstrapvalidator.com) 3 | * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3 4 | * 5 | * @author http://twitter.com/nghuuphuoc 6 | * @copyright (c) 2013 - 2014 Nguyen Huu Phuoc 7 | * @license Commercial: http://bootstrapvalidator.com/license/ 8 | * Non-commercial: http://creativecommons.org/licenses/by-nc-nd/3.0/ 9 | */ 10 | 11 | .bv-form .help-block { 12 | margin-bottom: 0; 13 | } 14 | .bv-form .tooltip-inner { 15 | text-align: left; 16 | } 17 | .nav-tabs li.bv-tab-success > a { 18 | color: #3c763d; 19 | } 20 | .nav-tabs li.bv-tab-error > a { 21 | color: #a94442; 22 | } 23 | 24 | .bv-form .bv-icon-no-label { 25 | top: 0; 26 | } 27 | 28 | .bv-form .bv-icon-input-group { 29 | top: 0; 30 | z-index: 100; 31 | } -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/src/js/validator/base64.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | $.fn.bootstrapValidator.i18n.base64 = $.extend($.fn.bootstrapValidator.i18n.base64 || {}, { 3 | 'default': 'Please enter a valid base 64 encoded' 4 | }); 5 | 6 | $.fn.bootstrapValidator.validators.base64 = { 7 | /** 8 | * Return true if the input value is a base 64 encoded string. 9 | * 10 | * @param {BootstrapValidator} validator The validator plugin instance 11 | * @param {jQuery} $field Field element 12 | * @param {Object} options Can consist of the following keys: 13 | * - message: The invalid message 14 | * @returns {Boolean} 15 | */ 16 | validate: function(validator, $field, options) { 17 | var value = $field.val(); 18 | if (value === '') { 19 | return true; 20 | } 21 | 22 | return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$/.test(value); 23 | } 24 | }; 25 | }(window.jQuery)); 26 | -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/src/js/validator/digits.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | $.fn.bootstrapValidator.i18n.digits = $.extend($.fn.bootstrapValidator.i18n.digits || {}, { 3 | 'default': 'Please enter only digits' 4 | }); 5 | 6 | $.fn.bootstrapValidator.validators.digits = { 7 | /** 8 | * Return true if the input value contains digits only 9 | * 10 | * @param {BootstrapValidator} validator Validate plugin instance 11 | * @param {jQuery} $field Field element 12 | * @param {Object} [options] 13 | * @returns {Boolean} 14 | */ 15 | validate: function(validator, $field, options) { 16 | var value = $field.val(); 17 | if (value === '') { 18 | return true; 19 | } 20 | 21 | return /^\d+$/.test(value); 22 | } 23 | }; 24 | }(window.jQuery)); 25 | -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/src/js/validator/hex.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | $.fn.bootstrapValidator.i18n.hex = $.extend($.fn.bootstrapValidator.i18n.hex || {}, { 3 | 'default': 'Please enter a valid hexadecimal number' 4 | }); 5 | 6 | $.fn.bootstrapValidator.validators.hex = { 7 | /** 8 | * Return true if and only if the input value is a valid hexadecimal number 9 | * 10 | * @param {BootstrapValidator} validator The validator plugin instance 11 | * @param {jQuery} $field Field element 12 | * @param {Object} options Consist of key: 13 | * - message: The invalid message 14 | * @returns {Boolean} 15 | */ 16 | validate: function(validator, $field, options) { 17 | var value = $field.val(); 18 | if (value === '') { 19 | return true; 20 | } 21 | 22 | return /^[0-9a-fA-F]+$/.test(value); 23 | } 24 | }; 25 | }(window.jQuery)); 26 | -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/src/js/validator/mac.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | $.fn.bootstrapValidator.i18n.mac = $.extend($.fn.bootstrapValidator.i18n.mac || {}, { 3 | 'default': 'Please enter a valid MAC address' 4 | }); 5 | 6 | $.fn.bootstrapValidator.validators.mac = { 7 | /** 8 | * Return true if the input value is a MAC address. 9 | * 10 | * @param {BootstrapValidator} validator The validator plugin instance 11 | * @param {jQuery} $field Field element 12 | * @param {Object} options Can consist of the following keys: 13 | * - message: The invalid message 14 | * @returns {Boolean} 15 | */ 16 | validate: function(validator, $field, options) { 17 | var value = $field.val(); 18 | if (value === '') { 19 | return true; 20 | } 21 | 22 | return /^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$/.test(value); 23 | } 24 | }; 25 | }(window.jQuery)); 26 | -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/src/js/validator/siren.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | $.fn.bootstrapValidator.i18n.siren = $.extend($.fn.bootstrapValidator.i18n.siren || {}, { 3 | 'default': 'Please enter a valid SIREN number' 4 | }); 5 | 6 | $.fn.bootstrapValidator.validators.siren = { 7 | /** 8 | * Check if a string is a siren number 9 | * 10 | * @param {BootstrapValidator} validator The validator plugin instance 11 | * @param {jQuery} $field Field element 12 | * @param {Object} options Consist of key: 13 | * - message: The invalid message 14 | * @returns {Boolean} 15 | */ 16 | validate: function(validator, $field, options) { 17 | var value = $field.val(); 18 | if (value === '') { 19 | return true; 20 | } 21 | 22 | if (!/^\d{9}$/.test(value)) { 23 | return false; 24 | } 25 | return $.fn.bootstrapValidator.helpers.luhn(value); 26 | } 27 | }; 28 | }(window.jQuery)); 29 | -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BootstrapValidator test suites 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/bootstrapvalidator-master/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/bootstrapvalidator-master/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/bootstrapvalidator-master/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/vendor/bootstrap/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /public/bootstrapvalidator-master/vendor/jasmine/jasmine_favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/bootstrapvalidator-master/vendor/jasmine/jasmine_favicon.png -------------------------------------------------------------------------------- /public/carhartl-jquery-cookie-92b7715/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | build 3 | .sizecache.json 4 | *.log -------------------------------------------------------------------------------- /public/carhartl-jquery-cookie-92b7715/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "boss": true, 3 | "browser": true, 4 | "curly": true, 5 | "eqeqeq": true, 6 | "eqnull": true, 7 | "expr": true, 8 | "evil": true, 9 | "newcap": true, 10 | "noarg": true, 11 | "undef": true, 12 | "globals": { 13 | "define": true, 14 | "jQuery": true, 15 | "require": true 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /public/carhartl-jquery-cookie-92b7715/.tm_properties: -------------------------------------------------------------------------------- 1 | softTabs = false 2 | tabSize = 2 3 | 4 | [ text.plain ] 5 | softWrap = true 6 | wrapColumn = "Use Window Frame" 7 | softTabs = true 8 | tabSize = 4 9 | 10 | [ "*.md" ] 11 | fileType = "text.plain" 12 | -------------------------------------------------------------------------------- /public/carhartl-jquery-cookie-92b7715/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | before_script: 5 | - npm install -g grunt-cli 6 | script: grunt ci --verbose 7 | env: 8 | global: 9 | - secure: HRae0kyIDDuhonvMi2SfEl1WJb4K/wX8WmzT9YkxFbmWwLjiOMkmqyuEyi76DbTC1cb9o7WwGVgbP1DhSm6n6m0Lz+PSzpprBN4QZuJc56jcc+tBA6gM81hyUufaTT0yUWz112Bu06kWIAs44w5PtG0FYZR0CuIN8fQvZi8fXCQ= 10 | - secure: c+M5ECIfxDcVrr+ZlqgpGjv8kVM/hxiz3ACMCn4ZkDiaeq4Rw0wWIGZYL6aV5fhsoHgzEQ/XQPca8xKs3Umr7R3b6Vr3AEyFnW+LP67K/1Qbz4Pi3PvhDH/h4rvK7fOoTqTDCVVDEH3v4pefsz2VaKemG4iBKxrcof5aR4Rjopk= 11 | -------------------------------------------------------------------------------- /public/carhartl-jquery-cookie-92b7715/MIT-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2014 Klaus Hartl 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 | -------------------------------------------------------------------------------- /public/carhartl-jquery-cookie-92b7715/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery.cookie", 3 | "version": "1.4.1", 4 | "main": [ 5 | "./jquery.cookie.js" 6 | ], 7 | "dependencies": { 8 | "jquery": ">=1.2" 9 | }, 10 | "ignore": [ 11 | "test", 12 | ".*", 13 | "*.json", 14 | "*.md", 15 | "*.txt", 16 | "Gruntfile.js" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /public/carhartl-jquery-cookie-92b7715/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery.cookie", 3 | "repo": "carhartl/jquery-cookie", 4 | "description": "A simple, lightweight jQuery plugin for reading, writing and deleting cookies", 5 | "version": "1.4.1", 6 | "keywords": [], 7 | "dependencies": {}, 8 | "development": {}, 9 | "license": "MIT", 10 | "main": "jquery.cookie.js", 11 | "scripts": [ 12 | "jquery.cookie.js" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /public/carhartl-jquery-cookie-92b7715/cookie.jquery.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cookie", 3 | "version": "1.4.1", 4 | "title": "jQuery Cookie", 5 | "description": "A simple, lightweight jQuery plugin for reading, writing and deleting cookies.", 6 | "author": { 7 | "name": "Klaus Hartl", 8 | "url": "https://github.com/carhartl" 9 | }, 10 | "maintainers": [ 11 | { 12 | "name": "Klaus Hartl", 13 | "url": "https://github.com/carhartl" 14 | }, 15 | { 16 | "name": "Fagner Martins", 17 | "url": "https://github.com/FagnerMartinsBrack" 18 | } 19 | ], 20 | "licenses": [ 21 | { 22 | "type": "MIT", 23 | "url": "https://raw.github.com/carhartl/jquery-cookie/master/MIT-LICENSE.txt" 24 | } 25 | ], 26 | "dependencies": { 27 | "jquery": ">=1.2" 28 | }, 29 | "bugs": "https://github.com/carhartl/jquery-cookie/issues", 30 | "homepage": "https://github.com/carhartl/jquery-cookie", 31 | "docs": "https://github.com/carhartl/jquery-cookie#readme" 32 | } 33 | -------------------------------------------------------------------------------- /public/carhartl-jquery-cookie-92b7715/test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jquery.cookie Test Suite 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |

    jquery.cookie Test Suite

    14 |

    15 |
    16 |

    17 |
      18 | 19 | 20 | -------------------------------------------------------------------------------- /public/carhartl-jquery-cookie-92b7715/test/malformed_cookie.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /public/carhartl-jquery-cookie-92b7715/test/server.js: -------------------------------------------------------------------------------- 1 | var http = require('http'); 2 | var url = require('url'); 3 | var path = require('path'); 4 | var fs = require('fs'); 5 | 6 | http.createServer(function(request, response) { 7 | var uri = url.parse(request.url).pathname; 8 | var filename = path.join(process.cwd(), uri); 9 | 10 | fs.readFile(filename, 'binary', function(err, file) { 11 | if (err) { 12 | response.writeHead(500, { 'Content-Type': 'text/plain' }); 13 | response.write(err + '\n'); 14 | response.end(); 15 | return; 16 | } 17 | 18 | response.writeHead(200, filename.match(/\.js$/) ? { 'Content-Type': 'text/javascript' } : {}); 19 | response.write(file, 'utf-8'); 20 | response.end(); 21 | }); 22 | }).listen(8124, '0.0.0.0'); 23 | 24 | console.log('Test suite at http://0.0.0.0:8124/test/index.html'); 25 | -------------------------------------------------------------------------------- /public/images/helpme.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/helpme.jpg -------------------------------------------------------------------------------- /public/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/loading.gif -------------------------------------------------------------------------------- /public/images/not found.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/not found.jpg -------------------------------------------------------------------------------- /public/images/upload_07a4f72293fae75a2256b1fbe7b749e2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_07a4f72293fae75a2256b1fbe7b749e2.jpg -------------------------------------------------------------------------------- /public/images/upload_0c4500e5e33b5993bb82706b5786e52e.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_0c4500e5e33b5993bb82706b5786e52e.jpg -------------------------------------------------------------------------------- /public/images/upload_1b4b900b6d77591771e0343426eb27e5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_1b4b900b6d77591771e0343426eb27e5.jpg -------------------------------------------------------------------------------- /public/images/upload_251bd336d1b1d3e03159c00623445f33.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_251bd336d1b1d3e03159c00623445f33.jpg -------------------------------------------------------------------------------- /public/images/upload_32350e6c330c14d827bca8cb05db15cf.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_32350e6c330c14d827bca8cb05db15cf.jpg -------------------------------------------------------------------------------- /public/images/upload_36a375fee87b4b2f784b699bdef8328c.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_36a375fee87b4b2f784b699bdef8328c.jpg -------------------------------------------------------------------------------- /public/images/upload_3aa9d7df99f47400076e6d38fe428583.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_3aa9d7df99f47400076e6d38fe428583.jpg -------------------------------------------------------------------------------- /public/images/upload_45184c2d962ed784636f5615586eb086.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_45184c2d962ed784636f5615586eb086.png -------------------------------------------------------------------------------- /public/images/upload_5392b54fc8d7f950ad273e350c823640.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_5392b54fc8d7f950ad273e350c823640.jpg -------------------------------------------------------------------------------- /public/images/upload_6260a5a9e0a75491dca74d808039d18d.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_6260a5a9e0a75491dca74d808039d18d.jpg -------------------------------------------------------------------------------- /public/images/upload_63ead403edf81ddbfea78b53c91db9a5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_63ead403edf81ddbfea78b53c91db9a5.jpg -------------------------------------------------------------------------------- /public/images/upload_6df2ed778634ccae90841a77be1676de.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_6df2ed778634ccae90841a77be1676de.jpg -------------------------------------------------------------------------------- /public/images/upload_6e57465801aaec8df51ebf93bb769617.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_6e57465801aaec8df51ebf93bb769617.png -------------------------------------------------------------------------------- /public/images/upload_7b4ba48651c3172df01c1cdcbdcd19c8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_7b4ba48651c3172df01c1cdcbdcd19c8.jpg -------------------------------------------------------------------------------- /public/images/upload_7b86174aa799c3453314ca516eaf9f82.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_7b86174aa799c3453314ca516eaf9f82.jpg -------------------------------------------------------------------------------- /public/images/upload_7e7e0e53da46da976888c3f8d6160dcf.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_7e7e0e53da46da976888c3f8d6160dcf.jpg -------------------------------------------------------------------------------- /public/images/upload_9bf5658e520f1ac1939bf0d4befe54e1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_9bf5658e520f1ac1939bf0d4befe54e1.jpg -------------------------------------------------------------------------------- /public/images/upload_9ed373b2eb5d5d64a04b5164a8988e3d.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_9ed373b2eb5d5d64a04b5164a8988e3d.jpg -------------------------------------------------------------------------------- /public/images/upload_a2030eba219a0f4b7f10f254889ed725.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_a2030eba219a0f4b7f10f254889ed725.jpg -------------------------------------------------------------------------------- /public/images/upload_a6e18568d6248fced1ea551ead96341c.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_a6e18568d6248fced1ea551ead96341c.jpg -------------------------------------------------------------------------------- /public/images/upload_acaa5df866796f424e1980c821088829.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_acaa5df866796f424e1980c821088829.jpg -------------------------------------------------------------------------------- /public/images/upload_b749339ccff4fc184eea89bdda2ab4e5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_b749339ccff4fc184eea89bdda2ab4e5.jpg -------------------------------------------------------------------------------- /public/images/upload_c3e3e8e1e5efed1575242ef75861800d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_c3e3e8e1e5efed1575242ef75861800d.png -------------------------------------------------------------------------------- /public/images/upload_ef0239ba5a991db420830036bdf938ee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_ef0239ba5a991db420830036bdf938ee.png -------------------------------------------------------------------------------- /public/images/upload_eff2afd2c1a440a2f04cbdd651ddcd6a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_eff2afd2c1a440a2f04cbdd651ddcd6a.jpg -------------------------------------------------------------------------------- /public/images/upload_fa97a45e43a64f469c3fe623b16554dc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/images/upload_fa97a45e43a64f469c3fe623b16554dc.png -------------------------------------------------------------------------------- /public/javascripts/Notnull.js: -------------------------------------------------------------------------------- 1 | function not_null(id) { 2 | var va = id.val(); 3 | if(va == null||va ="") 4 | { 5 | alert("该值不能为空"); 6 | $('#'+id).focus(); 7 | return false; 8 | } 9 | return true; 10 | } 11 | 12 | function all_not_null() { 13 | var input = $('form input'); 14 | 15 | console.log(input); 16 | 17 | for (var key in input) 18 | { 19 | if(not_null(key) == false) 20 | { 21 | return false; 22 | } 23 | } 24 | var select = $('fom select'); 25 | console.log(select); 26 | 27 | 28 | for(var key2 in select) 29 | { 30 | if(not_null(key2)==false) 31 | { 32 | return false 33 | } 34 | } 35 | return true; 36 | } 37 | -------------------------------------------------------------------------------- /public/javascripts/备份.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/public/javascripts/备份.txt -------------------------------------------------------------------------------- /public/stylesheets/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding: 50px; 3 | font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; 4 | } 5 | 6 | a { 7 | color: #00B7FF; 8 | } 9 | -------------------------------------------------------------------------------- /routes/Homepage.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | 4 | router.get('/',function (req,res,next) { 5 | var loginname = req.query.loginname; 6 | var logincode = req.query.logincode; 7 | // console.log("---------"); 8 | //console.log(req.headers.cookie); 9 | // console.log("---------"); 10 | //console.log(flag); 11 | if(logincode==undefined||loginname==undefined) 12 | { 13 | res.redirect(302,"/"); 14 | } 15 | else 16 | { 17 | res.render('Homepage',{myloginname:loginname,mylogincode:logincode}); 18 | } 19 | }); 20 | 21 | module.exports = router; 22 | -------------------------------------------------------------------------------- /routes/dongtai.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | var mysql = require('mysql'); 4 | var client = mysql.createConnection({ 5 | host:'127.0.0.1', 6 | user:'root', 7 | database:'happycourier', 8 | password:'123456', 9 | useConnectionPooling: true 10 | }); 11 | 12 | 13 | router.get('/',function (req,res,next) { 14 | var loginname = req.query.loginname; 15 | var redate = req.query.redate; 16 | var date = new Date(); 17 | var curdate = redate == undefined ? date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate():redate; 18 | var sql = "select * from Dongtai where shijian = ? and xuehao in (select xuehaoed from Relaion where xuehao = ?)" 19 | client.query(sql,[curdate,loginname],function (err,result) { 20 | if(err) 21 | { 22 | console.log(err); 23 | res.end('false'); 24 | } 25 | var tresult = JSON.stringify(result); 26 | // console.log(tresult); 27 | res.end(tresult); 28 | }) 29 | }); 30 | module.exports = router; -------------------------------------------------------------------------------- /routes/index.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | 4 | /* GET home page. */ 5 | router.get('/', function(req, res, next) { 6 | res.render('index', { title: 'Happy_courier' }); 7 | }); 8 | 9 | module.exports = router; 10 | -------------------------------------------------------------------------------- /routes/mycenterajax.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | var mysql = require('mysql'); 4 | var client = mysql.createConnection({ 5 | host:'127.0.0.1', 6 | user:'root', 7 | database:'happycourier', 8 | password:'123456', 9 | useConnectionPooling: true 10 | }); 11 | 12 | 13 | router.get('/',function (req,res,next) { 14 | console.log(req.query); 15 | var StuId = req.query.StuId; 16 | var username = req.query.username; 17 | var sex = req.query.sex; 18 | var addr = req.query.addr; 19 | var relation = req.query.relation; 20 | var sql = 'update customers set username = ?,sex = ?,addr=?,relation=? where StuId=?'; 21 | var par = [username,sex,addr,relation,StuId]; 22 | client.query(sql,par,function (err,result) { 23 | if(err) 24 | { 25 | console.log("err:"+err); 26 | res.end(); 27 | return; 28 | } 29 | }); 30 | res.end(); 31 | }) 32 | 33 | module.exports = router; -------------------------------------------------------------------------------- /routes/myword.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | var mysql = require('mysql'); 4 | var client = mysql.createConnection({ 5 | host:'127.0.0.1', 6 | user:'root', 7 | database:'happycourier', 8 | password:'123456', 9 | useConnectionPooling: true 10 | }); 11 | 12 | router.get('/',function (req,res,next) 13 | { 14 | var mywords = req.query.mywords; 15 | var loginname = req.query.xuehao; 16 | var sql = 'insert into Dongtai(xuehao,dongtai,shijian) values(?,?,now())'; 17 | client.query(sql,[loginname,mywords],function (err,result) 18 | { 19 | if(err) 20 | { 21 | console.log(err); 22 | res.end("false"); 23 | } 24 | res.end(); 25 | }); 26 | }); 27 | 28 | module.exports = router; -------------------------------------------------------------------------------- /routes/phpath.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | var mysql = require('mysql'); 4 | var client = mysql.createConnection({ 5 | host:'127.0.0.1', 6 | user:'root', 7 | database:'happycourier', 8 | password:'123456', 9 | useConnectionPooling: true 10 | }); 11 | 12 | 13 | router.get('/',function (req,res,next) { 14 | var loginname = req.query.loginname; 15 | var sqlStuId = 'select photo_path,id from customers where StuId = ?'; 16 | var parStuId = [loginname]; 17 | client.query(sqlStuId,parStuId,function (err,result) 18 | { 19 | if(err) 20 | { 21 | console.log('err:'+err); 22 | res.end(); 23 | return; 24 | } 25 | res.send(JSON.stringify(result[0])); 26 | }); 27 | }); 28 | 29 | 30 | module.exports = router; -------------------------------------------------------------------------------- /routes/searchFriend.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | 4 | 5 | router.get('/',function (req,res,next) 6 | { 7 | var loginname = req.query.loginname; 8 | res.render('searchFriend',{myloginname:loginname}); 9 | }); 10 | 11 | module.exports = router; -------------------------------------------------------------------------------- /routes/users.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | /* GET users listing. */ 4 | router.get('/', function(req, res, next) { 5 | res.send('respond with a resource'); 6 | }); 7 | 8 | module.exports = router; 9 | 10 | 11 | -------------------------------------------------------------------------------- /show_images/关注和取关.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/show_images/关注和取关.png -------------------------------------------------------------------------------- /show_images/动态.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/show_images/动态.png -------------------------------------------------------------------------------- /show_images/好友推荐.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/show_images/好友推荐.png -------------------------------------------------------------------------------- /show_images/查看更多.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/show_images/查看更多.png -------------------------------------------------------------------------------- /show_images/注册成功.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guangying123/XD_JavaWeb_Microblog/afc39b4c02ebd4efdd0f3f5b93096ca31665cce2/show_images/注册成功.png -------------------------------------------------------------------------------- /微博.sql: -------------------------------------------------------------------------------- 1 | use happycourier 2 | select * from Customers; 3 | create table Relaion( 4 | xuehao char(11) not null, 5 | xuehaoed char(11) not null, 6 | primary key(xuehao,xuehaoed) 7 | ) 8 | create table Dongtai( 9 | flag integer primary key auto_increment, 10 | xuehao char(11) not null references customers(StuId), 11 | dongtai varchar(255), 12 | imageinfo varchar(255), 13 | liuyan varchar(255), 14 | shijian Date 15 | ); 16 | 17 | 18 | drop table dongtai 19 | 20 | 21 | 22 | insert into Dongtai values("14030130040","希望大家六级都过!","images/not found.jpg","#14030130033:加油。",now()); 23 | insert into Dongtai values("14030130033","祝我四级必过!","images/not found.jpg","#14030130040:你也可以做自己啊。",sysdate()); 24 | 25 | SET SQL_SAFE_UPDATES = 0; 26 | update Dongtai set imageinfo= "" where xuehao ="14030130033"; 27 | select * from Dongtai; 28 | 29 | 30 | 31 | select * from relaion where xuehao = "13030130044" 32 | insert into Relaion values("14030130040","14030130033"); 33 | insert into Relaion values("14030130033","14030130033"); 34 | 35 | 36 | select * from Dongtai; 37 | select * from Dongtai where shijian = "2017-6-16" and xuehao in (select xuehaoed from Relaion where xuehao = "14030130040") 38 | --------------------------------------------------------------------------------