aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErnesto Bazzano <bazza@riseup.net>2012-07-24 23:23:22 -0300
committerErnesto Bazzano <bazza@riseup.net>2012-07-24 23:23:22 -0300
commit6a28b0d7859b7ffb933ba7a83d73de84e68dfd54 (patch)
treea49a58cc3dba6861cee5286034b3552fe479a7c1
parent20eae78bbe33e18de9c38b242f642ac11708cdab (diff)
downloadreevo-webirc-6a28b0d7859b7ffb933ba7a83d73de84e68dfd54.tar.gz
reevo-webirc-6a28b0d7859b7ffb933ba7a83d73de84e68dfd54.zip
agregando modulos
-rw-r--r--.gitignore4
-rw-r--r--node_modules/express/History.md811
-rw-r--r--node_modules/express/LICENSE22
-rw-r--r--node_modules/express/Makefile29
-rw-r--r--node_modules/express/Readme.md145
-rwxr-xr-xnode_modules/express/bin/express417
-rw-r--r--node_modules/express/index.js2
-rw-r--r--node_modules/express/lib-cov/application.js510
-rw-r--r--node_modules/express/lib-cov/express.js65
-rw-r--r--node_modules/express/lib-cov/middleware.js54
-rw-r--r--node_modules/express/lib-cov/request.js225
-rw-r--r--node_modules/express/lib-cov/response.js611
-rw-r--r--node_modules/express/lib-cov/router/collection.js40
-rw-r--r--node_modules/express/lib-cov/router/index.js515
-rw-r--r--node_modules/express/lib-cov/router/methods.js9
-rw-r--r--node_modules/express/lib-cov/router/route.js68
-rw-r--r--node_modules/express/lib-cov/utils.js151
-rw-r--r--node_modules/express/lib-cov/view.js81
-rw-r--r--node_modules/express/lib/express.js79
-rw-r--r--node_modules/express/lib/http.js582
-rw-r--r--node_modules/express/lib/https.js52
-rw-r--r--node_modules/express/lib/request.js323
-rw-r--r--node_modules/express/lib/response.js460
-rw-r--r--node_modules/express/lib/router/collection.js53
-rw-r--r--node_modules/express/lib/router/index.js398
-rw-r--r--node_modules/express/lib/router/methods.js79
-rw-r--r--node_modules/express/lib/router/route.js88
-rw-r--r--node_modules/express/lib/utils.js152
-rw-r--r--node_modules/express/lib/view.js460
-rw-r--r--node_modules/express/lib/view/partial.js40
-rw-r--r--node_modules/express/lib/view/view.js210
-rw-r--r--node_modules/express/node_modules/connect/LICENSE24
-rw-r--r--node_modules/express/node_modules/connect/index.js2
-rw-r--r--node_modules/express/node_modules/connect/lib/cache.js81
-rw-r--r--node_modules/express/node_modules/connect/lib/connect.js106
-rw-r--r--node_modules/express/node_modules/connect/lib/http.js217
-rw-r--r--node_modules/express/node_modules/connect/lib/https.js47
-rw-r--r--node_modules/express/node_modules/connect/lib/index.js46
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/basicAuth.js93
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/bodyParser.js196
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/compiler.js163
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/cookieParser.js46
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/csrf.js105
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/directory.js222
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/errorHandler.js100
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/favicon.js76
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/limit.js80
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/logger.js299
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/methodOverride.js38
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/profiler.js100
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/query.js40
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/responseTime.js34
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/router.js379
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/session.js345
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/session/cookie.js126
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/session/memory.js131
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/session/session.js137
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/session/store.js87
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/static.js225
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/staticCache.js175
-rw-r--r--node_modules/express/node_modules/connect/lib/middleware/vhost.js44
-rw-r--r--node_modules/express/node_modules/connect/lib/patch.js79
-rw-r--r--node_modules/express/node_modules/connect/lib/public/directory.html75
-rw-r--r--node_modules/express/node_modules/connect/lib/public/error.html13
-rw-r--r--node_modules/express/node_modules/connect/lib/public/favicon.icobin0 -> 1406 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page.pngbin0 -> 635 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_add.pngbin0 -> 739 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_attach.pngbin0 -> 794 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_code.pngbin0 -> 818 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_copy.pngbin0 -> 663 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_delete.pngbin0 -> 740 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_edit.pngbin0 -> 807 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_error.pngbin0 -> 793 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_excel.pngbin0 -> 817 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_find.pngbin0 -> 879 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_gear.pngbin0 -> 833 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_go.pngbin0 -> 779 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_green.pngbin0 -> 621 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_key.pngbin0 -> 801 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_lightning.pngbin0 -> 839 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_link.pngbin0 -> 830 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_paintbrush.pngbin0 -> 813 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_paste.pngbin0 -> 703 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_red.pngbin0 -> 641 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_refresh.pngbin0 -> 858 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white.pngbin0 -> 294 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_acrobat.pngbin0 -> 591 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_actionscript.pngbin0 -> 664 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_add.pngbin0 -> 512 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_c.pngbin0 -> 587 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_camera.pngbin0 -> 656 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_cd.pngbin0 -> 666 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_code.pngbin0 -> 603 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_code_red.pngbin0 -> 587 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_coldfusion.pngbin0 -> 592 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_compressed.pngbin0 -> 724 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_copy.pngbin0 -> 309 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_cplusplus.pngbin0 -> 621 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_csharp.pngbin0 -> 700 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_cup.pngbin0 -> 639 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_database.pngbin0 -> 579 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_delete.pngbin0 -> 536 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_dvd.pngbin0 -> 638 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_edit.pngbin0 -> 618 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_error.pngbin0 -> 623 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_excel.pngbin0 -> 663 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_find.pngbin0 -> 676 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_flash.pngbin0 -> 582 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_freehand.pngbin0 -> 639 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_gear.pngbin0 -> 402 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_get.pngbin0 -> 516 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_go.pngbin0 -> 612 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_h.pngbin0 -> 603 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_horizontal.pngbin0 -> 296 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_key.pngbin0 -> 616 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_lightning.pngbin0 -> 669 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_link.pngbin0 -> 614 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_magnify.pngbin0 -> 554 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_medal.pngbin0 -> 706 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_office.pngbin0 -> 779 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_paint.pngbin0 -> 688 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_paintbrush.pngbin0 -> 618 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_paste.pngbin0 -> 620 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_php.pngbin0 -> 538 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_picture.pngbin0 -> 650 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_powerpoint.pngbin0 -> 588 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_put.pngbin0 -> 523 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_ruby.pngbin0 -> 626 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_stack.pngbin0 -> 317 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_star.pngbin0 -> 565 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_swoosh.pngbin0 -> 634 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_text.pngbin0 -> 342 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_text_width.pngbin0 -> 315 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_tux.pngbin0 -> 668 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_vector.pngbin0 -> 644 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_visualstudio.pngbin0 -> 702 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_width.pngbin0 -> 309 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_word.pngbin0 -> 651 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_world.pngbin0 -> 734 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_wrench.pngbin0 -> 613 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_white_zip.pngbin0 -> 386 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_word.pngbin0 -> 777 bytes
-rwxr-xr-xnode_modules/express/node_modules/connect/lib/public/icons/page_world.pngbin0 -> 903 bytes
-rw-r--r--node_modules/express/node_modules/connect/lib/public/style.css141
-rw-r--r--node_modules/express/node_modules/connect/lib/utils.js451
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/Makefile14
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/Readme.md303
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/TODO3
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/benchmark/bench-multipart-parser.js70
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/example/post.js43
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/example/upload.js48
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/index.js1
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/lib/file.js61
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js378
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/lib/index.js3
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/lib/multipart_parser.js312
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/lib/querystring_parser.js25
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/lib/util.js6
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/package.json22
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/test/common.js19
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/file/funkyfilename.txt1
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/file/plain.txt1
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/info.md3
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/js/no-filename.js3
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/js/special-chars-in-filename.js21
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/multipart.js72
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/test/integration/test-fixtures.js89
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/common.js24
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/integration/test-multipart-parser.js80
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-file.js104
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-incoming-form.js726
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-multipart-parser.js50
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-querystring-parser.js45
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/system/test-multi-video-upload.js72
-rwxr-xr-xnode_modules/express/node_modules/connect/node_modules/formidable/test/run.js2
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/test/unit/test-incoming-form.js63
-rw-r--r--node_modules/express/node_modules/connect/node_modules/formidable/tool/record.js47
-rw-r--r--node_modules/express/node_modules/connect/package.json25
-rw-r--r--node_modules/express/node_modules/mime/LICENSE19
-rw-r--r--node_modules/express/node_modules/mime/README.md50
-rw-r--r--node_modules/express/node_modules/mime/mime.js92
-rw-r--r--node_modules/express/node_modules/mime/package.json22
-rw-r--r--node_modules/express/node_modules/mime/test.js79
-rw-r--r--node_modules/express/node_modules/mime/types/mime.types1479
-rw-r--r--node_modules/express/node_modules/mime/types/node.types43
-rw-r--r--node_modules/express/node_modules/mkdirp/LICENSE21
-rw-r--r--node_modules/express/node_modules/mkdirp/README.markdown54
-rw-r--r--node_modules/express/node_modules/mkdirp/examples/pow.js6
-rw-r--r--node_modules/express/node_modules/mkdirp/examples/pow.js.orig6
-rw-r--r--node_modules/express/node_modules/mkdirp/examples/pow.js.rej19
-rw-r--r--node_modules/express/node_modules/mkdirp/index.js79
-rw-r--r--node_modules/express/node_modules/mkdirp/package.json23
-rw-r--r--node_modules/express/node_modules/mkdirp/test/chmod.js38
-rw-r--r--node_modules/express/node_modules/mkdirp/test/clobber.js37
-rw-r--r--node_modules/express/node_modules/mkdirp/test/mkdirp.js28
-rw-r--r--node_modules/express/node_modules/mkdirp/test/perm.js32
-rw-r--r--node_modules/express/node_modules/mkdirp/test/perm_sync.js39
-rw-r--r--node_modules/express/node_modules/mkdirp/test/race.js41
-rw-r--r--node_modules/express/node_modules/mkdirp/test/rel.js32
-rw-r--r--node_modules/express/node_modules/mkdirp/test/sync.js27
-rw-r--r--node_modules/express/node_modules/mkdirp/test/umask.js28
-rw-r--r--node_modules/express/node_modules/mkdirp/test/umask_sync.js27
-rw-r--r--node_modules/express/node_modules/qs/History.md73
-rw-r--r--node_modules/express/node_modules/qs/Makefile5
-rw-r--r--node_modules/express/node_modules/qs/Readme.md54
-rw-r--r--node_modules/express/node_modules/qs/benchmark.js17
-rw-r--r--node_modules/express/node_modules/qs/examples.js51
-rw-r--r--node_modules/express/node_modules/qs/index.js2
-rw-r--r--node_modules/express/node_modules/qs/lib/querystring.js264
-rw-r--r--node_modules/express/node_modules/qs/package.json16
-rw-r--r--node_modules/express/node_modules/qs/test/mocha.opts2
-rw-r--r--node_modules/express/node_modules/qs/test/parse.js167
-rw-r--r--node_modules/express/node_modules/qs/test/stringify.js103
-rw-r--r--node_modules/express/package.json39
-rw-r--r--node_modules/express/test.js41
-rw-r--r--node_modules/irc/COPYING674
-rw-r--r--node_modules/irc/README.rst86
-rw-r--r--node_modules/irc/docs/API.rst441
-rw-r--r--node_modules/irc/docs/Makefile130
-rw-r--r--node_modules/irc/docs/conf.py216
-rw-r--r--node_modules/irc/docs/index.rst13
-rw-r--r--node_modules/irc/docs/make.bat170
-rwxr-xr-xnode_modules/irc/example/bot.js51
-rwxr-xr-xnode_modules/irc/example/secure.js65
-rw-r--r--node_modules/irc/lib/codes.js486
-rw-r--r--node_modules/irc/lib/colors.js27
-rw-r--r--node_modules/irc/lib/irc.js768
-rw-r--r--node_modules/irc/package.json21
-rwxr-xr-xnode_modules/irc/test.js29
-rw-r--r--node_modules/socket.io/History.md187
-rw-r--r--node_modules/socket.io/Makefile31
-rw-r--r--node_modules/socket.io/Readme.md343
-rw-r--r--node_modules/socket.io/benchmarks/decode.bench.js64
-rw-r--r--node_modules/socket.io/benchmarks/encode.bench.js90
-rw-r--r--node_modules/socket.io/benchmarks/runner.js55
-rw-r--r--node_modules/socket.io/examples/chat/app.js80
-rw-r--r--node_modules/socket.io/examples/chat/index.jade83
-rw-r--r--node_modules/socket.io/examples/chat/package.json11
-rw-r--r--node_modules/socket.io/examples/chat/public/stylesheets/mixins.styl96
-rw-r--r--node_modules/socket.io/examples/chat/public/stylesheets/style.css188
-rw-r--r--node_modules/socket.io/examples/chat/public/stylesheets/style.styl118
-rw-r--r--node_modules/socket.io/examples/irc-output/app.js74
-rw-r--r--node_modules/socket.io/examples/irc-output/index.jade28
-rw-r--r--node_modules/socket.io/examples/irc-output/irc.js164
-rw-r--r--node_modules/socket.io/examples/irc-output/package.json10
-rw-r--r--node_modules/socket.io/examples/irc-output/public/stylesheets/style.styl69
-rw-r--r--node_modules/socket.io/index.js8
-rw-r--r--node_modules/socket.io/lib/logger.js97
-rw-r--r--node_modules/socket.io/lib/manager.js961
-rw-r--r--node_modules/socket.io/lib/namespace.js355
-rw-r--r--node_modules/socket.io/lib/parser.js249
-rw-r--r--node_modules/socket.io/lib/socket.io.js136
-rw-r--r--node_modules/socket.io/lib/socket.js362
-rw-r--r--node_modules/socket.io/lib/static.js395
-rw-r--r--node_modules/socket.io/lib/store.js98
-rw-r--r--node_modules/socket.io/lib/stores/memory.js143
-rw-r--r--node_modules/socket.io/lib/stores/redis.js269
-rw-r--r--node_modules/socket.io/lib/transport.js534
-rw-r--r--node_modules/socket.io/lib/transports/flashsocket.js106
-rw-r--r--node_modules/socket.io/lib/transports/htmlfile.js82
-rw-r--r--node_modules/socket.io/lib/transports/http-polling.js135
-rw-r--r--node_modules/socket.io/lib/transports/http.js111
-rw-r--r--node_modules/socket.io/lib/transports/index.js12
-rw-r--r--node_modules/socket.io/lib/transports/jsonp-polling.js96
-rw-r--r--node_modules/socket.io/lib/transports/websocket.js36
-rw-r--r--node_modules/socket.io/lib/transports/websocket/default.js358
-rw-r--r--node_modules/socket.io/lib/transports/websocket/hybi-07-12.js617
-rw-r--r--node_modules/socket.io/lib/transports/websocket/hybi-16.js617
-rw-r--r--node_modules/socket.io/lib/transports/websocket/hybi-17.js604
-rw-r--r--node_modules/socket.io/lib/transports/websocket/index.js11
-rw-r--r--node_modules/socket.io/lib/transports/xhr-polling.js72
-rw-r--r--node_modules/socket.io/lib/util.js50
-rw-r--r--node_modules/socket.io/node_modules/policyfile/LICENSE19
-rw-r--r--node_modules/socket.io/node_modules/policyfile/Makefile7
-rw-r--r--node_modules/socket.io/node_modules/policyfile/README.md98
-rw-r--r--node_modules/socket.io/node_modules/policyfile/doc/index.html375
-rw-r--r--node_modules/socket.io/node_modules/policyfile/examples/basic.fallback.js8
-rw-r--r--node_modules/socket.io/node_modules/policyfile/examples/basic.js5
-rw-r--r--node_modules/socket.io/node_modules/policyfile/index.js1
-rw-r--r--node_modules/socket.io/node_modules/policyfile/lib/server.js289
-rw-r--r--node_modules/socket.io/node_modules/policyfile/package.json32
-rw-r--r--node_modules/socket.io/node_modules/policyfile/tests/ssl/ssl.crt21
-rw-r--r--node_modules/socket.io/node_modules/policyfile/tests/ssl/ssl.private.key27
-rw-r--r--node_modules/socket.io/node_modules/policyfile/tests/unit.test.js231
-rw-r--r--node_modules/socket.io/node_modules/redis/README.md567
-rw-r--r--node_modules/socket.io/node_modules/redis/changelog.md184
-rw-r--r--node_modules/socket.io/node_modules/redis/eval_test.js9
-rw-r--r--node_modules/socket.io/node_modules/redis/examples/auth.js5
-rw-r--r--node_modules/socket.io/node_modules/redis/examples/backpressure_drain.js33
-rw-r--r--node_modules/socket.io/node_modules/redis/examples/extend.js24
-rw-r--r--node_modules/socket.io/node_modules/redis/examples/file.js32
-rw-r--r--node_modules/socket.io/node_modules/redis/examples/mget.js5
-rw-r--r--node_modules/socket.io/node_modules/redis/examples/monitor.js10
-rw-r--r--node_modules/socket.io/node_modules/redis/examples/multi.js46
-rw-r--r--node_modules/socket.io/node_modules/redis/examples/multi2.js29
-rw-r--r--node_modules/socket.io/node_modules/redis/examples/psubscribe.js33
-rw-r--r--node_modules/socket.io/node_modules/redis/examples/pub_sub.js41
-rw-r--r--node_modules/socket.io/node_modules/redis/examples/simple.js17
-rw-r--r--node_modules/socket.io/node_modules/redis/examples/subqueries.js15
-rw-r--r--node_modules/socket.io/node_modules/redis/examples/subquery.js19
-rw-r--r--node_modules/socket.io/node_modules/redis/examples/unix_socket.js29
-rw-r--r--node_modules/socket.io/node_modules/redis/examples/web_server.js31
-rw-r--r--node_modules/socket.io/node_modules/redis/generate_commands.js40
-rw-r--r--node_modules/socket.io/node_modules/redis/index.js860
-rw-r--r--node_modules/socket.io/node_modules/redis/lib/commands.js126
-rw-r--r--node_modules/socket.io/node_modules/redis/lib/parser/hiredis.js41
-rw-r--r--node_modules/socket.io/node_modules/redis/lib/parser/javascript.js316
-rw-r--r--node_modules/socket.io/node_modules/redis/lib/queue.js58
-rw-r--r--node_modules/socket.io/node_modules/redis/lib/to_array.js12
-rw-r--r--node_modules/socket.io/node_modules/redis/lib/util.js6
-rw-r--r--node_modules/socket.io/node_modules/redis/multi_bench.js135
-rw-r--r--node_modules/socket.io/node_modules/redis/package.json26
-rw-r--r--node_modules/socket.io/node_modules/redis/simple_test.js3
-rw-r--r--node_modules/socket.io/node_modules/redis/test.js1248
-rw-r--r--node_modules/socket.io/node_modules/redis/tests/buffer_bench.js89
-rw-r--r--node_modules/socket.io/node_modules/redis/tests/reconnect_test.js27
-rw-r--r--node_modules/socket.io/node_modules/redis/tests/stress/codec.js16
-rw-r--r--node_modules/socket.io/node_modules/redis/tests/stress/pubsub/pub.js38
-rwxr-xr-xnode_modules/socket.io/node_modules/redis/tests/stress/pubsub/run10
-rw-r--r--node_modules/socket.io/node_modules/redis/tests/stress/pubsub/server.js23
-rw-r--r--node_modules/socket.io/node_modules/redis/tests/stress/rpushblpop/pub.js49
-rwxr-xr-xnode_modules/socket.io/node_modules/redis/tests/stress/rpushblpop/run6
-rw-r--r--node_modules/socket.io/node_modules/redis/tests/stress/rpushblpop/server.js30
-rw-r--r--node_modules/socket.io/node_modules/redis/tests/stress/speed/0013
-rwxr-xr-xnode_modules/socket.io/node_modules/redis/tests/stress/speed/plot13
-rw-r--r--node_modules/socket.io/node_modules/redis/tests/stress/speed/size-rate.pngbin0 -> 6672 bytes
-rw-r--r--node_modules/socket.io/node_modules/redis/tests/stress/speed/speed.js84
-rw-r--r--node_modules/socket.io/node_modules/redis/tests/sub_quit_test.js18
-rw-r--r--node_modules/socket.io/node_modules/redis/tests/test_start_stop.js17
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/History.md125
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/Makefile20
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/README.md246
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/bin/builder.js278
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/dist/WebSocketMain.swfbin0 -> 175830 bytes
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/dist/WebSocketMainInsecure.swfbin0 -> 175953 bytes
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js3750
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.min.js2
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/events.js184
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/io.js206
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/json.js322
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/namespace.js242
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/parser.js262
l---------node_modules/socket.io/node_modules/socket.io-client/lib/socket.io-client.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/socket.js525
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/transport.js239
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/transports/flashsocket.js191
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/transports/htmlfile.js172
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/transports/jsonp-polling.js255
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/transports/websocket.js184
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/transports/xhr-polling.js155
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/transports/xhr.js213
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/util.js360
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/README.md157
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/WebSocketMain.swfbin0 -> 175830 bytes
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/WebSocketMainInsecure.zipbin0 -> 166610 bytes
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/IWebSocketLogger.as8
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/WebSocket.as464
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/WebSocketEvent.as33
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/WebSocketMain.as150
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/WebSocketMainInsecure.as19
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/build.sh10
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/adobe/net/proxies/RFC2817Socket.as204
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/gsolo/encryption/MD5.as375
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/Crypto.as287
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/MozillaRootCertificates.as3235
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/X509Certificate.as218
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/cert/X509CertificateCollection.as57
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/HMAC.as82
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/IHMAC.as27
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/IHash.as21
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MAC.as137
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MD2.as124
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/MD5.as204
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA1.as106
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA224.as28
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA256.as115
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHABase.as71
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/ARC4.as90
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/IPRNG.as20
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/Random.as119
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/TLSPRF.as142
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/rsa/RSAKey.as339
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/AESKey.as2797
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/BlowFishKey.as375
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CBCMode.as55
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CFB8Mode.as61
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CFBMode.as64
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/CTRMode.as58
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/DESKey.as365
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ECBMode.as86
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ICipher.as21
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IMode.as15
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IPad.as32
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IStreamCipher.as21
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ISymmetricKey.as35
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IVMode.as110
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/NullPad.as34
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/OFBMode.as52
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/PKCS5.as44
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/SSLPad.as44
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/SimpleIVMode.as60
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/TLSPad.as42
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/TripleDESKey.as88
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/XTeaKey.as94
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/aeskey.pl29
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/dump.txt2304
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/AESKeyTest.as1220
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ARC4Test.as58
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/BigIntegerTest.as39
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/BlowFishKeyTest.as148
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CBCModeTest.as160
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CFB8ModeTest.as71
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CFBModeTest.as98
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/CTRModeTest.as109
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/DESKeyTest.as112
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ECBModeTest.as151
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/HMACTest.as184
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ITestHarness.as20
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/MD2Test.as56
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/MD5Test.as58
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/OFBModeTest.as101
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/RSAKeyTest.as92
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA1Test.as198
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA224Test.as58
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA256Test.as60
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TLSPRFTest.as51
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TestCase.as42
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TripleDESKeyTest.as59
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/XTeaKeyTest.as66
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/BulkCiphers.as102
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/CipherSuites.as117
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/IConnectionState.as14
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/ISecurityParameters.as29
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/KeyExchanges.as24
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/MACs.as38
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLConnectionState.as171
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLEvent.as26
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLSecurityParameters.as340
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSConfig.as70
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSConnectionState.as151
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSEngine.as895
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSError.as39
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSEvent.as27
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSecurityParameters.as197
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSocket.as370
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSocketEvent.as26
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSTest.as180
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/BarrettReduction.as90
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/BigInteger.as1543
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/ClassicReduction.as35
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/IReduction.as11
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/MontgomeryReduction.as85
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/NullReduction.as34
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/bi_internal.as11
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/ArrayUtil.as25
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/Base64.as189
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/Hex.as66
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/Memory.as28
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/ByteString.as43
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/DER.as210
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/IAsn1Type.as21
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Integer.as44
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/OID.as35
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/ObjectIdentifier.as112
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/PEM.as118
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/PrintableString.as49
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Sequence.as90
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Set.as27
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/Type.as94
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/der/UTCTime.as60
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/sample.html75
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/swfobject.js6
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/web_socket.js349
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/README.html835
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/README.org437
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/bin/uglifyjs309
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/docstyle.css75
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/lib/parse-js.js1340
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/lib/process.js1774
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/lib/squeeze-more.js22
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/package.json22
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/beautify.js28
-rwxr-xr-xnode_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/testparser.js402
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/array1.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/array2.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/array3.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/array4.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/assignment.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/concatstring.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/const.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/empty-blocks.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/forstatement.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/if.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/ifreturn.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/ifreturn2.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue10.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue11.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue13.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue14.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue16.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue17.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue20.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue21.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue25.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue27.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue28.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue29.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue30.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue34.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue4.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue48.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue50.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue53.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue54.1.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue68.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue69.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue9.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/mangle.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/strict-equals.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/var.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/with.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/array1.js3
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/array2.js4
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/array3.js4
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/array4.js6
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/assignment.js20
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/concatstring.js3
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/const.js5
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/empty-blocks.js4
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/forstatement.js10
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/if.js6
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/ifreturn.js9
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/ifreturn2.js16
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue10.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue11.js3
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue13.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue14.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue16.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue17.js4
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue20.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue21.js6
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue25.js7
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue27.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue28.js3
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue29.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue30.js3
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue34.js3
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue4.js3
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue48.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue50.js9
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue53.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue54.1.js3
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue68.js5
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue69.js1
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue9.js4
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/mangle.js5
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/strict-equals.js3
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/var.js3
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/with.js2
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/scripts.js55
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/instrument.js97
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/instrument2.js138
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/uglify-js.js17
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/LICENSE27
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/Makefile22
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/README.md41
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/examples/client-unix.js12
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/examples/client.js10
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/examples/server-unix.js13
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/lib/websocket.js599
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/new585
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/old562
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/package.json22
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/test/test-basic.js68
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/test/test-client-close.js43
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/test/test-readonly-attrs.js43
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/test/test-ready-state.js26
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/test/test-server-close.js41
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/test/test-unix-send-fd.js63
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/websocket-client/test/test-unix-sockets.js46
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/README.md19
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/XMLHttpRequest.js309
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/autotest.watchr8
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/demo.js16
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/package.json16
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/tests/test-constants.js13
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/tests/test-headers.js35
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/tests/test-request.js62
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/package.json34
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/test/events.test.js121
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/test/io.test.js31
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/test/node/builder.common.js102
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/test/node/builder.test.js131
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/test/parser.test.js360
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/test/socket.test.js379
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/test/util.test.js156
-rw-r--r--node_modules/socket.io/node_modules/socket.io-client/test/worker.js20
-rw-r--r--node_modules/socket.io/package.json33
-rw-r--r--node_modules/socket.io/support/node-websocket-client/LICENSE27
-rw-r--r--node_modules/socket.io/support/node-websocket-client/Makefile22
-rw-r--r--node_modules/socket.io/support/node-websocket-client/README.md41
-rw-r--r--node_modules/socket.io/support/node-websocket-client/examples/client-unix.js12
-rw-r--r--node_modules/socket.io/support/node-websocket-client/examples/client.js10
-rw-r--r--node_modules/socket.io/support/node-websocket-client/examples/server-unix.js13
-rw-r--r--node_modules/socket.io/support/node-websocket-client/lib/websocket.js617
-rw-r--r--node_modules/socket.io/support/node-websocket-client/package.json22
-rw-r--r--node_modules/socket.io/support/node-websocket-client/test/test-basic.js68
-rw-r--r--node_modules/socket.io/support/node-websocket-client/test/test-client-close.js43
-rw-r--r--node_modules/socket.io/support/node-websocket-client/test/test-readonly-attrs.js43
-rw-r--r--node_modules/socket.io/support/node-websocket-client/test/test-ready-state.js26
-rw-r--r--node_modules/socket.io/support/node-websocket-client/test/test-server-close.js41
-rw-r--r--node_modules/socket.io/support/node-websocket-client/test/test-unix-send-fd.js63
-rw-r--r--node_modules/socket.io/support/node-websocket-client/test/test-unix-sockets.js46
613 files changed, 76130 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 4ae7a35..00e2597 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
1node_modules
2web-irc.sh 1web-irc.sh
3web-irc.js 2web-irc.js
3\.*
4*~
5*save*
diff --git a/node_modules/express/History.md b/node_modules/express/History.md
new file mode 100644
index 0000000..02214d6
--- /dev/null
+++ b/node_modules/express/History.md
@@ -0,0 +1,811 @@
1
22.5.9/ 2012-04-02
3==================
4
5 * Added support for PURGE request method [pbuyle]
6 * Fixed `express(1)` generated app `app.address()` before `listening` [mmalecki]
7
82.5.8 / 2012-02-08
9==================
10
11 * Update mkdirp dep. Closes #991
12
132.5.7 / 2012-02-06
14==================
15
16 * Fixed `app.all` duplicate DELETE requests [mscdex]
17
182.5.6 / 2012-01-13
19==================
20
21 * Updated hamljs dev dep. Closes #953
22
232.5.5 / 2012-01-08
24==================
25
26 * Fixed: set `filename` on cached templates [matthewleon]
27
282.5.4 / 2012-01-02
29==================
30
31 * Fixed `express(1)` eol on 0.4.x. Closes #947
32
332.5.3 / 2011-12-30
34==================
35
36 * Fixed `req.is()` when a charset is present
37
382.5.2 / 2011-12-10
39==================
40
41 * Fixed: express(1) LF -> CRLF for windows
42
432.5.1 / 2011-11-17
44==================
45
46 * Changed: updated connect to 1.8.x
47 * Removed sass.js support from express(1)
48
492.5.0 / 2011-10-24
50==================
51
52 * Added ./routes dir for generated app by default
53 * Added npm install reminder to express(1) app gen
54 * Added 0.5.x support
55 * Removed `make test-cov` since it wont work with node 0.5.x
56 * Fixed express(1) public dir for windows. Closes #866
57
582.4.7 / 2011-10-05
59==================
60
61 * Added mkdirp to express(1). Closes #795
62 * Added simple _json-config_ example
63 * Added shorthand for the parsed request's pathname via `req.path`
64 * Changed connect dep to 1.7.x to fix npm issue...
65 * Fixed `res.redirect()` __HEAD__ support. [reported by xerox]
66 * Fixed `req.flash()`, only escape args
67 * Fixed absolute path checking on windows. Closes #829 [reported by andrewpmckenzie]
68
692.4.6 / 2011-08-22
70==================
71
72 * Fixed multiple param callback regression. Closes #824 [reported by TroyGoode]
73
742.4.5 / 2011-08-19
75==================
76
77 * Added support for routes to handle errors. Closes #809
78 * Added `app.routes.all()`. Closes #803
79 * Added "basepath" setting to work in conjunction with reverse proxies etc.
80 * Refactored `Route` to use a single array of callbacks
81 * Added support for multiple callbacks for `app.param()`. Closes #801
82Closes #805
83 * Changed: removed .call(self) for route callbacks
84 * Dependency: `qs >= 0.3.1`
85 * Fixed `res.redirect()` on windows due to `join()` usage. Closes #808
86
872.4.4 / 2011-08-05
88==================
89
90 * Fixed `res.header()` intention of a set, even when `undefined`
91 * Fixed `*`, value no longer required
92 * Fixed `res.send(204)` support. Closes #771
93
942.4.3 / 2011-07-14
95==================
96
97 * Added docs for `status` option special-case. Closes #739
98 * Fixed `options.filename`, exposing the view path to template engines
99
1002.4.2. / 2011-07-06
101==================
102
103 * Revert "removed jsonp stripping" for XSS
104
1052.4.1 / 2011-07-06
106==================
107
108 * Added `res.json()` JSONP support. Closes #737
109 * Added _extending-templates_ example. Closes #730
110 * Added "strict routing" setting for trailing slashes
111 * Added support for multiple envs in `app.configure()` calls. Closes #735
112 * Changed: `res.send()` using `res.json()`
113 * Changed: when cookie `path === null` don't default it
114 * Changed; default cookie path to "home" setting. Closes #731
115 * Removed _pids/logs_ creation from express(1)
116
1172.4.0 / 2011-06-28
118==================
119
120 * Added chainable `res.status(code)`
121 * Added `res.json()`, an explicit version of `res.send(obj)`
122 * Added simple web-service example
123
1242.3.12 / 2011-06-22
125==================
126
127 * \#express is now on freenode! come join!
128 * Added `req.get(field, param)`
129 * Added links to Japanese documentation, thanks @hideyukisaito!
130 * Added; the `express(1)` generated app outputs the env
131 * Added `content-negotiation` example
132 * Dependency: connect >= 1.5.1 < 2.0.0
133 * Fixed view layout bug. Closes #720
134 * Fixed; ignore body on 304. Closes #701
135
1362.3.11 / 2011-06-04
137==================
138
139 * Added `npm test`
140 * Removed generation of dummy test file from `express(1)`
141 * Fixed; `express(1)` adds express as a dep
142 * Fixed; prune on `prepublish`
143
1442.3.10 / 2011-05-27
145==================
146
147 * Added `req.route`, exposing the current route
148 * Added _package.json_ generation support to `express(1)`
149 * Fixed call to `app.param()` function for optional params. Closes #682
150
1512.3.9 / 2011-05-25
152==================
153
154 * Fixed bug-ish with `../' in `res.partial()` calls
155
1562.3.8 / 2011-05-24
157==================
158
159 * Fixed `app.options()`
160
1612.3.7 / 2011-05-23
162==================
163
164 * Added route `Collection`, ex: `app.get('/user/:id').remove();`
165 * Added support for `app.param(fn)` to define param logic
166 * Removed `app.param()` support for callback with return value
167 * Removed module.parent check from express(1) generated app. Closes #670
168 * Refactored router. Closes #639
169
1702.3.6 / 2011-05-20
171==================
172
173 * Changed; using devDependencies instead of git submodules
174 * Fixed redis session example
175 * Fixed markdown example
176 * Fixed view caching, should not be enabled in development
177
1782.3.5 / 2011-05-20
179==================
180
181 * Added export `.view` as alias for `.View`
182
1832.3.4 / 2011-05-08
184==================
185
186 * Added `./examples/say`
187 * Fixed `res.sendfile()` bug preventing the transfer of files with spaces
188
1892.3.3 / 2011-05-03
190==================
191
192 * Added "case sensitive routes" option.
193 * Changed; split methods supported per rfc [slaskis]
194 * Fixed route-specific middleware when using the same callback function several times
195
1962.3.2 / 2011-04-27
197==================
198
199 * Fixed view hints
200
2012.3.1 / 2011-04-26
202==================
203
204 * Added `app.match()` as `app.match.all()`
205 * Added `app.lookup()` as `app.lookup.all()`
206 * Added `app.remove()` for `app.remove.all()`
207 * Added `app.remove.VERB()`
208 * Fixed template caching collision issue. Closes #644
209 * Moved router over from connect and started refactor
210
2112.3.0 / 2011-04-25
212==================
213
214 * Added options support to `res.clearCookie()`
215 * Added `res.helpers()` as alias of `res.locals()`
216 * Added; json defaults to UTF-8 with `res.send()`. Closes #632. [Daniel * Dependency `connect >= 1.4.0`
217 * Changed; auto set Content-Type in res.attachement [Aaron Heckmann]
218 * Renamed "cache views" to "view cache". Closes #628
219 * Fixed caching of views when using several apps. Closes #637
220 * Fixed gotcha invoking `app.param()` callbacks once per route middleware.
221Closes #638
222 * Fixed partial lookup precedence. Closes #631
223Shaw]
224
2252.2.2 / 2011-04-12
226==================
227
228 * Added second callback support for `res.download()` connection errors
229 * Fixed `filename` option passing to template engine
230
2312.2.1 / 2011-04-04
232==================
233
234 * Added `layout(path)` helper to change the layout within a view. Closes #610
235 * Fixed `partial()` collection object support.
236 Previously only anything with `.length` would work.
237 When `.length` is present one must still be aware of holes,
238 however now `{ collection: {foo: 'bar'}}` is valid, exposes
239 `keyInCollection` and `keysInCollection`.
240
241 * Performance improved with better view caching
242 * Removed `request` and `response` locals
243 * Changed; errorHandler page title is now `Express` instead of `Connect`
244
2452.2.0 / 2011-03-30
246==================
247
248 * Added `app.lookup.VERB()`, ex `app.lookup.put('/user/:id')`. Closes #606
249 * Added `app.match.VERB()`, ex `app.match.put('/user/12')`. Closes #606
250 * Added `app.VERB(path)` as alias of `app.lookup.VERB()`.
251 * Dependency `connect >= 1.2.0`
252
2532.1.1 / 2011-03-29
254==================
255
256 * Added; expose `err.view` object when failing to locate a view
257 * Fixed `res.partial()` call `next(err)` when no callback is given [reported by aheckmann]
258 * Fixed; `res.send(undefined)` responds with 204 [aheckmann]
259
2602.1.0 / 2011-03-24
261==================
262
263 * Added `<root>/_?<name>` partial lookup support. Closes #447
264 * Added `request`, `response`, and `app` local variables
265 * Added `settings` local variable, containing the app's settings
266 * Added `req.flash()` exception if `req.session` is not available
267 * Added `res.send(bool)` support (json response)
268 * Fixed stylus example for latest version
269 * Fixed; wrap try/catch around `res.render()`
270
2712.0.0 / 2011-03-17
272==================
273
274 * Fixed up index view path alternative.
275 * Changed; `res.locals()` without object returns the locals
276
2772.0.0rc3 / 2011-03-17
278==================
279
280 * Added `res.locals(obj)` to compliment `res.local(key, val)`
281 * Added `res.partial()` callback support
282 * Fixed recursive error reporting issue in `res.render()`
283
2842.0.0rc2 / 2011-03-17
285==================
286
287 * Changed; `partial()` "locals" are now optional
288 * Fixed `SlowBuffer` support. Closes #584 [reported by tyrda01]
289 * Fixed .filename view engine option [reported by drudge]
290 * Fixed blog example
291 * Fixed `{req,res}.app` reference when mounting [Ben Weaver]
292
2932.0.0rc / 2011-03-14
294==================
295
296 * Fixed; expose `HTTPSServer` constructor
297 * Fixed express(1) default test charset. Closes #579 [reported by secoif]
298 * Fixed; default charset to utf-8 instead of utf8 for lame IE [reported by NickP]
299
3002.0.0beta3 / 2011-03-09
301==================
302
303 * Added support for `res.contentType()` literal
304 The original `res.contentType('.json')`,
305 `res.contentType('application/json')`, and `res.contentType('json')`
306 will work now.
307 * Added `res.render()` status option support back
308 * Added charset option for `res.render()`
309 * Added `.charset` support (via connect 1.0.4)
310 * Added view resolution hints when in development and a lookup fails
311 * Added layout lookup support relative to the page view.
312 For example while rendering `./views/user/index.jade` if you create
313 `./views/user/layout.jade` it will be used in favour of the root layout.
314 * Fixed `res.redirect()`. RFC states absolute url [reported by unlink]
315 * Fixed; default `res.send()` string charset to utf8
316 * Removed `Partial` constructor (not currently used)
317
3182.0.0beta2 / 2011-03-07
319==================
320
321 * Added res.render() `.locals` support back to aid in migration process
322 * Fixed flash example
323
3242.0.0beta / 2011-03-03
325==================
326
327 * Added HTTPS support
328 * Added `res.cookie()` maxAge support
329 * Added `req.header()` _Referrer_ / _Referer_ special-case, either works
330 * Added mount support for `res.redirect()`, now respects the mount-point
331 * Added `union()` util, taking place of `merge(clone())` combo
332 * Added stylus support to express(1) generated app
333 * Added secret to session middleware used in examples and generated app
334 * Added `res.local(name, val)` for progressive view locals
335 * Added default param support to `req.param(name, default)`
336 * Added `app.disabled()` and `app.enabled()`
337 * Added `app.register()` support for omitting leading ".", either works
338 * Added `res.partial()`, using the same interface as `partial()` within a view. Closes #539
339 * Added `app.param()` to map route params to async/sync logic
340 * Added; aliased `app.helpers()` as `app.locals()`. Closes #481
341 * Added extname with no leading "." support to `res.contentType()`
342 * Added `cache views` setting, defaulting to enabled in "production" env
343 * Added index file partial resolution, eg: partial('user') may try _views/user/index.jade_.
344 * Added `req.accepts()` support for extensions
345 * Changed; `res.download()` and `res.sendfile()` now utilize Connect's
346 static file server `connect.static.send()`.
347 * Changed; replaced `connect.utils.mime()` with npm _mime_ module
348 * Changed; allow `req.query` to be pre-defined (via middleware or other parent
349 * Changed view partial resolution, now relative to parent view
350 * Changed view engine signature. no longer `engine.render(str, options, callback)`, now `engine.compile(str, options) -> Function`, the returned function accepts `fn(locals)`.
351 * Fixed `req.param()` bug returning Array.prototype methods. Closes #552
352 * Fixed; using `Stream#pipe()` instead of `sys.pump()` in `res.sendfile()`
353 * Fixed; using _qs_ module instead of _querystring_
354 * Fixed; strip unsafe chars from jsonp callbacks
355 * Removed "stream threshold" setting
356
3571.0.8 / 2011-03-01
358==================
359
360 * Allow `req.query` to be pre-defined (via middleware or other parent app)
361 * "connect": ">= 0.5.0 < 1.0.0". Closes #547
362 * Removed the long deprecated __EXPRESS_ENV__ support
363
3641.0.7 / 2011-02-07
365==================
366
367 * Fixed `render()` setting inheritance.
368 Mounted apps would not inherit "view engine"
369
3701.0.6 / 2011-02-07
371==================
372
373 * Fixed `view engine` setting bug when period is in dirname
374
3751.0.5 / 2011-02-05
376==================
377
378 * Added secret to generated app `session()` call
379
3801.0.4 / 2011-02-05
381==================
382
383 * Added `qs` dependency to _package.json_
384 * Fixed namespaced `require()`s for latest connect support
385
3861.0.3 / 2011-01-13
387==================
388
389 * Remove unsafe characters from JSONP callback names [Ryan Grove]
390
3911.0.2 / 2011-01-10
392==================
393
394 * Removed nested require, using `connect.router`
395
3961.0.1 / 2010-12-29
397==================
398
399 * Fixed for middleware stacked via `createServer()`
400 previously the `foo` middleware passed to `createServer(foo)`
401 would not have access to Express methods such as `res.send()`
402 or props like `req.query` etc.
403
4041.0.0 / 2010-11-16
405==================
406
407 * Added; deduce partial object names from the last segment.
408 For example by default `partial('forum/post', postObject)` will
409 give you the _post_ object, providing a meaningful default.
410 * Added http status code string representation to `res.redirect()` body
411 * Added; `res.redirect()` supporting _text/plain_ and _text/html_ via __Accept__.
412 * Added `req.is()` to aid in content negotiation
413 * Added partial local inheritance [suggested by masylum]. Closes #102
414 providing access to parent template locals.
415 * Added _-s, --session[s]_ flag to express(1) to add session related middleware
416 * Added _--template_ flag to express(1) to specify the
417 template engine to use.
418 * Added _--css_ flag to express(1) to specify the
419 stylesheet engine to use (or just plain css by default).
420 * Added `app.all()` support [thanks aheckmann]
421 * Added partial direct object support.
422 You may now `partial('user', user)` providing the "user" local,
423 vs previously `partial('user', { object: user })`.
424 * Added _route-separation_ example since many people question ways
425 to do this with CommonJS modules. Also view the _blog_ example for
426 an alternative.
427 * Performance; caching view path derived partial object names
428 * Fixed partial local inheritance precedence. [reported by Nick Poulden] Closes #454
429 * Fixed jsonp support; _text/javascript_ as per mailinglist discussion
430
4311.0.0rc4 / 2010-10-14
432==================
433
434 * Added _NODE_ENV_ support, _EXPRESS_ENV_ is deprecated and will be removed in 1.0.0
435 * Added route-middleware support (very helpful, see the [docs](http://expressjs.com/guide.html#Route-Middleware))
436 * Added _jsonp callback_ setting to enable/disable jsonp autowrapping [Dav Glass]
437 * Added callback query check on response.send to autowrap JSON objects for simple webservice implementations [Dav Glass]
438 * Added `partial()` support for array-like collections. Closes #434
439 * Added support for swappable querystring parsers
440 * Added session usage docs. Closes #443
441 * Added dynamic helper caching. Closes #439 [suggested by maritz]
442 * Added authentication example
443 * Added basic Range support to `res.sendfile()` (and `res.download()` etc)
444 * Changed; `express(1)` generated app using 2 spaces instead of 4
445 * Default env to "development" again [aheckmann]
446 * Removed _context_ option is no more, use "scope"
447 * Fixed; exposing _./support_ libs to examples so they can run without installs
448 * Fixed mvc example
449
4501.0.0rc3 / 2010-09-20
451==================
452
453 * Added confirmation for `express(1)` app generation. Closes #391
454 * Added extending of flash formatters via `app.flashFormatters`
455 * Added flash formatter support. Closes #411
456 * Added streaming support to `res.sendfile()` using `sys.pump()` when >= "stream threshold"
457 * Added _stream threshold_ setting for `res.sendfile()`
458 * Added `res.send()` __HEAD__ support
459 * Added `res.clearCookie()`
460 * Added `res.cookie()`
461 * Added `res.render()` headers option
462 * Added `res.redirect()` response bodies
463 * Added `res.render()` status option support. Closes #425 [thanks aheckmann]
464 * Fixed `res.sendfile()` responding with 403 on malicious path
465 * Fixed `res.download()` bug; when an error occurs remove _Content-Disposition_
466 * Fixed; mounted apps settings now inherit from parent app [aheckmann]
467 * Fixed; stripping Content-Length / Content-Type when 204
468 * Fixed `res.send()` 204. Closes #419
469 * Fixed multiple _Set-Cookie_ headers via `res.header()`. Closes #402
470 * Fixed bug messing with error handlers when `listenFD()` is called instead of `listen()`. [thanks guillermo]
471
472
4731.0.0rc2 / 2010-08-17
474==================
475
476 * Added `app.register()` for template engine mapping. Closes #390
477 * Added `res.render()` callback support as second argument (no options)
478 * Added callback support to `res.download()`
479 * Added callback support for `res.sendfile()`
480 * Added support for middleware access via `express.middlewareName()` vs `connect.middlewareName()`
481 * Added "partials" setting to docs
482 * Added default expresso tests to `express(1)` generated app. Closes #384
483 * Fixed `res.sendfile()` error handling, defer via `next()`
484 * Fixed `res.render()` callback when a layout is used [thanks guillermo]
485 * Fixed; `make install` creating ~/.node_libraries when not present
486 * Fixed issue preventing error handlers from being defined anywhere. Closes #387
487
4881.0.0rc / 2010-07-28
489==================
490
491 * Added mounted hook. Closes #369
492 * Added connect dependency to _package.json_
493
494 * Removed "reload views" setting and support code
495 development env never caches, production always caches.
496
497 * Removed _param_ in route callbacks, signature is now
498 simply (req, res, next), previously (req, res, params, next).
499 Use _req.params_ for path captures, _req.query_ for GET params.
500
501 * Fixed "home" setting
502 * Fixed middleware/router precedence issue. Closes #366
503 * Fixed; _configure()_ callbacks called immediately. Closes #368
504
5051.0.0beta2 / 2010-07-23
506==================
507
508 * Added more examples
509 * Added; exporting `Server` constructor
510 * Added `Server#helpers()` for view locals
511 * Added `Server#dynamicHelpers()` for dynamic view locals. Closes #349
512 * Added support for absolute view paths
513 * Added; _home_ setting defaults to `Server#route` for mounted apps. Closes #363
514 * Added Guillermo Rauch to the contributor list
515 * Added support for "as" for non-collection partials. Closes #341
516 * Fixed _install.sh_, ensuring _~/.node_libraries_ exists. Closes #362 [thanks jf]
517 * Fixed `res.render()` exceptions, now passed to `next()` when no callback is given [thanks guillermo]
518 * Fixed instanceof `Array` checks, now `Array.isArray()`
519 * Fixed express(1) expansion of public dirs. Closes #348
520 * Fixed middleware precedence. Closes #345
521 * Fixed view watcher, now async [thanks aheckmann]
522
5231.0.0beta / 2010-07-15
524==================
525
526 * Re-write
527 - much faster
528 - much lighter
529 - Check [ExpressJS.com](http://expressjs.com) for migration guide and updated docs
530
5310.14.0 / 2010-06-15
532==================
533
534 * Utilize relative requires
535 * Added Static bufferSize option [aheckmann]
536 * Fixed caching of view and partial subdirectories [aheckmann]
537 * Fixed mime.type() comments now that ".ext" is not supported
538 * Updated haml submodule
539 * Updated class submodule
540 * Removed bin/express
541
5420.13.0 / 2010-06-01
543==================
544
545 * Added node v0.1.97 compatibility
546 * Added support for deleting cookies via Request#cookie('key', null)
547 * Updated haml submodule
548 * Fixed not-found page, now using using charset utf-8
549 * Fixed show-exceptions page, now using using charset utf-8
550 * Fixed view support due to fs.readFile Buffers
551 * Changed; mime.type() no longer accepts ".type" due to node extname() changes
552
5530.12.0 / 2010-05-22
554==================
555
556 * Added node v0.1.96 compatibility
557 * Added view `helpers` export which act as additional local variables
558 * Updated haml submodule
559 * Changed ETag; removed inode, modified time only
560 * Fixed LF to CRLF for setting multiple cookies
561 * Fixed cookie complation; values are now urlencoded
562 * Fixed cookies parsing; accepts quoted values and url escaped cookies
563
5640.11.0 / 2010-05-06
565==================
566
567 * Added support for layouts using different engines
568 - this.render('page.html.haml', { layout: 'super-cool-layout.html.ejs' })
569 - this.render('page.html.haml', { layout: 'foo' }) // assumes 'foo.html.haml'
570 - this.render('page.html.haml', { layout: false }) // no layout
571 * Updated ext submodule
572 * Updated haml submodule
573 * Fixed EJS partial support by passing along the context. Issue #307
574
5750.10.1 / 2010-05-03
576==================
577
578 * Fixed binary uploads.
579
5800.10.0 / 2010-04-30
581==================
582
583 * Added charset support via Request#charset (automatically assigned to 'UTF-8' when respond()'s
584 encoding is set to 'utf8' or 'utf-8'.
585 * Added "encoding" option to Request#render(). Closes #299
586 * Added "dump exceptions" setting, which is enabled by default.
587 * Added simple ejs template engine support
588 * Added error reponse support for text/plain, application/json. Closes #297
589 * Added callback function param to Request#error()
590 * Added Request#sendHead()
591 * Added Request#stream()
592 * Added support for Request#respond(304, null) for empty response bodies
593 * Added ETag support to Request#sendfile()
594 * Added options to Request#sendfile(), passed to fs.createReadStream()
595 * Added filename arg to Request#download()
596 * Performance enhanced due to pre-reversing plugins so that plugins.reverse() is not called on each request
597 * Performance enhanced by preventing several calls to toLowerCase() in Router#match()
598 * Changed; Request#sendfile() now streams
599 * Changed; Renamed Request#halt() to Request#respond(). Closes #289
600 * Changed; Using sys.inspect() instead of JSON.encode() for error output
601 * Changed; run() returns the http.Server instance. Closes #298
602 * Changed; Defaulting Server#host to null (INADDR_ANY)
603 * Changed; Logger "common" format scale of 0.4f
604 * Removed Logger "request" format
605 * Fixed; Catching ENOENT in view caching, preventing error when "views/partials" is not found
606 * Fixed several issues with http client
607 * Fixed Logger Content-Length output
608 * Fixed bug preventing Opera from retaining the generated session id. Closes #292
609
6100.9.0 / 2010-04-14
611==================
612
613 * Added DSL level error() route support
614 * Added DSL level notFound() route support
615 * Added Request#error()
616 * Added Request#notFound()
617 * Added Request#render() callback function. Closes #258
618 * Added "max upload size" setting
619 * Added "magic" variables to collection partials (\_\_index\_\_, \_\_length\_\_, \_\_isFirst\_\_, \_\_isLast\_\_). Closes #254
620 * Added [haml.js](http://github.com/visionmedia/haml.js) submodule; removed haml-js
621 * Added callback function support to Request#halt() as 3rd/4th arg
622 * Added preprocessing of route param wildcards using param(). Closes #251
623 * Added view partial support (with collections etc)
624 * Fixed bug preventing falsey params (such as ?page=0). Closes #286
625 * Fixed setting of multiple cookies. Closes #199
626 * Changed; view naming convention is now NAME.TYPE.ENGINE (for example page.html.haml)
627 * Changed; session cookie is now httpOnly
628 * Changed; Request is no longer global
629 * Changed; Event is no longer global
630 * Changed; "sys" module is no longer global
631 * Changed; moved Request#download to Static plugin where it belongs
632 * Changed; Request instance created before body parsing. Closes #262
633 * Changed; Pre-caching views in memory when "cache view contents" is enabled. Closes #253
634 * Changed; Pre-caching view partials in memory when "cache view partials" is enabled
635 * Updated support to node --version 0.1.90
636 * Updated dependencies
637 * Removed set("session cookie") in favour of use(Session, { cookie: { ... }})
638 * Removed utils.mixin(); use Object#mergeDeep()
639
6400.8.0 / 2010-03-19
641==================
642
643 * Added coffeescript example app. Closes #242
644 * Changed; cache api now async friendly. Closes #240
645 * Removed deprecated 'express/static' support. Use 'express/plugins/static'
646
6470.7.6 / 2010-03-19
648==================
649
650 * Added Request#isXHR. Closes #229
651 * Added `make install` (for the executable)
652 * Added `express` executable for setting up simple app templates
653 * Added "GET /public/*" to Static plugin, defaulting to <root>/public
654 * Added Static plugin
655 * Fixed; Request#render() only calls cache.get() once
656 * Fixed; Namespacing View caches with "view:"
657 * Fixed; Namespacing Static caches with "static:"
658 * Fixed; Both example apps now use the Static plugin
659 * Fixed set("views"). Closes #239
660 * Fixed missing space for combined log format
661 * Deprecated Request#sendfile() and 'express/static'
662 * Removed Server#running
663
6640.7.5 / 2010-03-16
665==================
666
667 * Added Request#flash() support without args, now returns all flashes
668 * Updated ext submodule
669
6700.7.4 / 2010-03-16
671==================
672
673 * Fixed session reaper
674 * Changed; class.js replacing js-oo Class implementation (quite a bit faster, no browser cruft)
675
6760.7.3 / 2010-03-16
677==================
678
679 * Added package.json
680 * Fixed requiring of haml / sass due to kiwi removal
681
6820.7.2 / 2010-03-16
683==================
684
685 * Fixed GIT submodules (HAH!)
686
6870.7.1 / 2010-03-16
688==================
689
690 * Changed; Express now using submodules again until a PM is adopted
691 * Changed; chat example using millisecond conversions from ext
692
6930.7.0 / 2010-03-15
694==================
695
696 * Added Request#pass() support (finds the next matching route, or the given path)
697 * Added Logger plugin (default "common" format replaces CommonLogger)
698 * Removed Profiler plugin
699 * Removed CommonLogger plugin
700
7010.6.0 / 2010-03-11
702==================
703
704 * Added seed.yml for kiwi package management support
705 * Added HTTP client query string support when method is GET. Closes #205
706
707 * Added support for arbitrary view engines.
708 For example "foo.engine.html" will now require('engine'),
709 the exports from this module are cached after the first require().
710
711 * Added async plugin support
712
713 * Removed usage of RESTful route funcs as http client
714 get() etc, use http.get() and friends
715
716 * Removed custom exceptions
717
7180.5.0 / 2010-03-10
719==================
720
721 * Added ext dependency (library of js extensions)
722 * Removed extname() / basename() utils. Use path module
723 * Removed toArray() util. Use arguments.values
724 * Removed escapeRegexp() util. Use RegExp.escape()
725 * Removed process.mixin() dependency. Use utils.mixin()
726 * Removed Collection
727 * Removed ElementCollection
728 * Shameless self promotion of ebook "Advanced JavaScript" (http://dev-mag.com) ;)
729
7300.4.0 / 2010-02-11
731==================
732
733 * Added flash() example to sample upload app
734 * Added high level restful http client module (express/http)
735 * Changed; RESTful route functions double as HTTP clients. Closes #69
736 * Changed; throwing error when routes are added at runtime
737 * Changed; defaulting render() context to the current Request. Closes #197
738 * Updated haml submodule
739
7400.3.0 / 2010-02-11
741==================
742
743 * Updated haml / sass submodules. Closes #200
744 * Added flash message support. Closes #64
745 * Added accepts() now allows multiple args. fixes #117
746 * Added support for plugins to halt. Closes #189
747 * Added alternate layout support. Closes #119
748 * Removed Route#run(). Closes #188
749 * Fixed broken specs due to use(Cookie) missing
750
7510.2.1 / 2010-02-05
752==================
753
754 * Added "plot" format option for Profiler (for gnuplot processing)
755 * Added request number to Profiler plugin
756 * Fixed binary encoding for multi-part file uploads, was previously defaulting to UTF8
757 * Fixed issue with routes not firing when not files are present. Closes #184
758 * Fixed process.Promise -> events.Promise
759
7600.2.0 / 2010-02-03
761==================
762
763 * Added parseParam() support for name[] etc. (allows for file inputs with "multiple" attr) Closes #180
764 * Added Both Cache and Session option "reapInterval" may be "reapEvery". Closes #174
765 * Added expiration support to cache api with reaper. Closes #133
766 * Added cache Store.Memory#reap()
767 * Added Cache; cache api now uses first class Cache instances
768 * Added abstract session Store. Closes #172
769 * Changed; cache Memory.Store#get() utilizing Collection
770 * Renamed MemoryStore -> Store.Memory
771 * Fixed use() of the same plugin several time will always use latest options. Closes #176
772
7730.1.0 / 2010-02-03
774==================
775
776 * Changed; Hooks (before / after) pass request as arg as well as evaluated in their context
777 * Updated node support to 0.1.27 Closes #169
778 * Updated dirname(__filename) -> __dirname
779 * Updated libxmljs support to v0.2.0
780 * Added session support with memory store / reaping
781 * Added quick uid() helper
782 * Added multi-part upload support
783 * Added Sass.js support / submodule
784 * Added production env caching view contents and static files
785 * Added static file caching. Closes #136
786 * Added cache plugin with memory stores
787 * Added support to StaticFile so that it works with non-textual files.
788 * Removed dirname() helper
789 * Removed several globals (now their modules must be required)
790
7910.0.2 / 2010-01-10
792==================
793
794 * Added view benchmarks; currently haml vs ejs
795 * Added Request#attachment() specs. Closes #116
796 * Added use of node's parseQuery() util. Closes #123
797 * Added `make init` for submodules
798 * Updated Haml
799 * Updated sample chat app to show messages on load
800 * Updated libxmljs parseString -> parseHtmlString
801 * Fixed `make init` to work with older versions of git
802 * Fixed specs can now run independant specs for those who cant build deps. Closes #127
803 * Fixed issues introduced by the node url module changes. Closes 126.
804 * Fixed two assertions failing due to Collection#keys() returning strings
805 * Fixed faulty Collection#toArray() spec due to keys() returning strings
806 * Fixed `make test` now builds libxmljs.node before testing
807
8080.0.1 / 2010-01-03
809==================
810
811 * Initial release
diff --git a/node_modules/express/LICENSE b/node_modules/express/LICENSE
new file mode 100644
index 0000000..36075a3
--- /dev/null
+++ b/node_modules/express/LICENSE
@@ -0,0 +1,22 @@
1(The MIT License)
2
3Copyright (c) 2009-2011 TJ Holowaychuk <tj@vision-media.ca>
4
5Permission is hereby granted, free of charge, to any person obtaining
6a copy of this software and associated documentation files (the
7'Software'), to deal in the Software without restriction, including
8without limitation the rights to use, copy, modify, merge, publish,
9distribute, sublicense, and/or sell copies of the Software, and to
10permit persons to whom the Software is furnished to do so, subject to
11the following conditions:
12
13The above copyright notice and this permission notice shall be
14included in all copies or substantial portions of the Software.
15
16THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file
diff --git a/node_modules/express/Makefile b/node_modules/express/Makefile
new file mode 100644
index 0000000..dfbfd67
--- /dev/null
+++ b/node_modules/express/Makefile
@@ -0,0 +1,29 @@
1
2DOCS = $(shell find docs/*.md)
3HTMLDOCS = $(DOCS:.md=.html)
4TESTS = $(shell find test/*.test.js)
5
6test:
7 @NODE_ENV=test ./node_modules/.bin/expresso $(TESTS)
8
9docs: $(HTMLDOCS)
10 @ echo "... generating TOC"
11 @./support/toc.js docs/guide.html
12
13%.html: %.md
14 @echo "... $< -> $@"
15 @markdown $< \
16 | cat docs/layout/head.html - docs/layout/foot.html \
17 > $@
18
19site:
20 rm -fr /tmp/docs \
21 && cp -fr docs /tmp/docs \
22 && git checkout gh-pages \
23 && cp -fr /tmp/docs/* . \
24 && echo "done"
25
26docclean:
27 rm -f docs/*.{1,html}
28
29.PHONY: site test docs docclean \ No newline at end of file
diff --git a/node_modules/express/Readme.md b/node_modules/express/Readme.md
new file mode 100644
index 0000000..d2c64c7
--- /dev/null
+++ b/node_modules/express/Readme.md
@@ -0,0 +1,145 @@
1
2# Express
3
4 Insanely fast (and small) server-side JavaScript web development framework
5 built on [node](http://nodejs.org) and [Connect](http://github.com/senchalabs/connect).
6
7 var app = express.createServer();
8
9 app.get('/', function(req, res){
10 res.send('Hello World');
11 });
12
13 app.listen(3000);
14
15## Installation
16
17 $ npm install express
18
19or to access the `express(1)` executable install globally:
20
21 $ npm install -g express
22
23## Quick Start
24
25 The quickest way to get started with express is to utilize the executable `express(1)` to generate an application as shown below:
26
27 Create the app:
28
29 $ npm install -g express
30 $ express /tmp/foo && cd /tmp/foo
31
32 Install dependencies:
33
34 $ npm install -d
35
36 Start the server:
37
38 $ node app.js
39
40## Features
41
42 * Robust routing
43 * Redirection helpers
44 * Dynamic view helpers
45 * Content negotiation
46 * Focus on high performance
47 * View rendering and partials support
48 * Environment based configuration
49 * Session based flash notifications
50 * Built on [Connect](http://github.com/senchalabs/connect)
51 * High test coverage
52 * Executable for generating applications quickly
53 * Application level view options
54
55Via Connect:
56
57 * Session support
58 * Cache API
59 * Mime helpers
60 * ETag support
61 * Persistent flash notifications
62 * Cookie support
63 * JSON-RPC
64 * Logging
65 * and _much_ more!
66
67## Contributors
68
69The following are the major contributors of Express (in no specific order).
70
71 * TJ Holowaychuk ([visionmedia](http://github.com/visionmedia))
72 * Ciaran Jessup ([ciaranj](http://github.com/ciaranj))
73 * Aaron Heckmann ([aheckmann](http://github.com/aheckmann))
74 * Guillermo Rauch ([guille](http://github.com/guille))
75
76## More Information
77
78 * #express on freenode
79 * [express-expose](http://github.com/visionmedia/express-expose) expose objects, functions, modules and more to client-side js with ease
80 * [express-configure](http://github.com/visionmedia/express-configuration) async configuration support
81 * [express-messages](http://github.com/visionmedia/express-messages) flash notification rendering helper
82 * [express-namespace](http://github.com/visionmedia/express-namespace) namespaced route support
83 * [express-params](https://github.com/visionmedia/express-params) param pre-condition functions
84 * [express-mongoose](https://github.com/LearnBoost/express-mongoose) plugin for easy rendering of Mongoose async Query results
85 * Follow [tjholowaychuk](http://twitter.com/tjholowaychuk) on twitter for updates
86 * [Google Group](http://groups.google.com/group/express-js) for discussion
87 * Visit the [Wiki](http://github.com/visionmedia/express/wiki)
88 * [日本語ドキュメンテーション](http://hideyukisaito.com/doc/expressjs/) by [hideyukisaito](https://github.com/hideyukisaito)
89 * Screencast - [Introduction](http://bit.ly/eRYu0O)
90 * Screencast - [View Partials](http://bit.ly/dU13Fx)
91 * Screencast - [Route Specific Middleware](http://bit.ly/hX4IaH)
92 * Screencast - [Route Path Placeholder Preconditions](http://bit.ly/eNqmVs)
93
94## Node Compatibility
95
96Express 1.x is compatible with node 0.2.x and connect < 1.0.
97
98Express 2.x is compatible with node 0.4.x or 0.6.x, and connect 1.x
99
100Express 3.x (master) will be compatible with node 0.6.x and connect 2.x
101
102## Viewing Examples
103
104First install the dev dependencies to install all the example / test suite deps:
105
106 $ npm install
107
108then run whichever tests you want:
109
110 $ node examples/jade/app.js
111
112## Running Tests
113
114To run the test suite first invoke the following command within the repo, installing the development dependencies:
115
116 $ npm install
117
118then run the tests:
119
120 $ make test
121
122## License
123
124(The MIT License)
125
126Copyright (c) 2009-2011 TJ Holowaychuk &lt;tj@vision-media.ca&gt;
127
128Permission is hereby granted, free of charge, to any person obtaining
129a copy of this software and associated documentation files (the
130'Software'), to deal in the Software without restriction, including
131without limitation the rights to use, copy, modify, merge, publish,
132distribute, sublicense, and/or sell copies of the Software, and to
133permit persons to whom the Software is furnished to do so, subject to
134the following conditions:
135
136The above copyright notice and this permission notice shall be
137included in all copies or substantial portions of the Software.
138
139THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
140EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
141MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
142IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
143CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
144TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
145SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/express/bin/express b/node_modules/express/bin/express
new file mode 100755
index 0000000..6b258b5
--- /dev/null
+++ b/node_modules/express/bin/express
@@ -0,0 +1,417 @@
1#!/usr/bin/env node
2
3/**
4 * Module dependencies.
5 */
6
7var fs = require('fs')
8 , os = require('os')
9 , exec = require('child_process').exec
10 , mkdirp = require('mkdirp');
11
12/**
13 * Framework version.
14 */
15
16var version = '2.5.8';
17
18/**
19 * Add session support.
20 */
21
22var sessions = false;
23
24/**
25 * CSS engine to utilize.
26 */
27
28var cssEngine;
29
30/**
31 * End-of-line code.
32 */
33
34var eol = os.platform
35 ? ('win32' == os.platform() ? '\r\n' : '\n')
36 : '\n';
37
38/**
39 * Template engine to utilize.
40 */
41
42var templateEngine = 'jade';
43
44/**
45 * Usage documentation.
46 */
47
48var usage = ''
49 + '\n'
50 + ' Usage: express [options] [path]\n'
51 + '\n'
52 + ' Options:\n'
53 + ' -s, --sessions add session support\n'
54 + ' -t, --template <engine> add template <engine> support (jade|ejs). default=jade\n'
55 + ' -c, --css <engine> add stylesheet <engine> support (stylus). default=plain css\n'
56 + ' -v, --version output framework version\n'
57 + ' -h, --help output help information\n'
58 ;
59
60/**
61 * Routes index template.
62 */
63
64var index = [
65 ''
66 , '/*'
67 , ' * GET home page.'
68 , ' */'
69 , ''
70 , 'exports.index = function(req, res){'
71 , ' res.render(\'index\', { title: \'Express\' })'
72 , '};'
73].join(eol);
74
75/**
76 * Jade layout template.
77 */
78
79var jadeLayout = [
80 '!!!'
81 , 'html'
82 , ' head'
83 , ' title= title'
84 , ' link(rel=\'stylesheet\', href=\'/stylesheets/style.css\')'
85 , ' body!= body'
86].join(eol);
87
88/**
89 * Jade index template.
90 */
91
92var jadeIndex = [
93 'h1= title'
94 , 'p Welcome to #{title}'
95].join(eol);
96
97/**
98 * EJS layout template.
99 */
100
101var ejsLayout = [
102 '<!DOCTYPE html>'
103 , '<html>'
104 , ' <head>'
105 , ' <title><%= title %></title>'
106 , ' <link rel=\'stylesheet\' href=\'/stylesheets/style.css\' />'
107 , ' </head>'
108 , ' <body>'
109 , ' <%- body %>'
110 , ' </body>'
111 , '</html>'
112].join(eol);
113
114/**
115 * EJS index template.
116 */
117
118var ejsIndex = [
119 '<h1><%= title %></h1>'
120 , '<p>Welcome to <%= title %></p>'
121 ].join(eol);
122
123/**
124 * Default css template.
125 */
126
127var css = [
128 'body {'
129 , ' padding: 50px;'
130 , ' font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;'
131 , '}'
132 , ''
133 , 'a {'
134 , ' color: #00B7FF;'
135 , '}'
136].join(eol);
137
138/**
139 * Default stylus template.
140 */
141
142var stylus = [
143 'body'
144 , ' padding: 50px'
145 , ' font: 14px "Lucida Grande", Helvetica, Arial, sans-serif'
146 , 'a'
147 , ' color: #00B7FF'
148].join(eol);
149
150/**
151 * App template.
152 */
153
154var app = [
155 ''
156 , '/**'
157 , ' * Module dependencies.'
158 , ' */'
159 , ''
160 , 'var express = require(\'express\')'
161 , ' , routes = require(\'./routes\');'
162 , ''
163 , 'var app = module.exports = express.createServer();'
164 , ''
165 , '// Configuration'
166 , ''
167 , 'app.configure(function(){'
168 , ' app.set(\'views\', __dirname + \'/views\');'
169 , ' app.set(\'view engine\', \':TEMPLATE\');'
170 , ' app.use(express.bodyParser());'
171 , ' app.use(express.methodOverride());{sess}{css}'
172 , ' app.use(app.router);'
173 , ' app.use(express.static(__dirname + \'/public\'));'
174 , '});'
175 , ''
176 , 'app.configure(\'development\', function(){'
177 , ' app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));'
178 , '});'
179 , ''
180 , 'app.configure(\'production\', function(){'
181 , ' app.use(express.errorHandler());'
182 , '});'
183 , ''
184 , '// Routes'
185 , ''
186 , 'app.get(\'/\', routes.index);'
187 , ''
188 , 'app.listen(3000, function(){'
189 , ' console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);'
190 , '});'
191 , ''
192].join(eol);
193
194// Parse arguments
195
196var args = process.argv.slice(2)
197 , path = '.';
198
199while (args.length) {
200 var arg = args.shift();
201 switch (arg) {
202 case '-h':
203 case '--help':
204 abort(usage);
205 break;
206 case '-v':
207 case '--version':
208 abort(version);
209 break;
210 case '-s':
211 case '--session':
212 case '--sessions':
213 sessions = true;
214 break;
215 case '-c':
216 case '--css':
217 args.length
218 ? (cssEngine = args.shift())
219 : abort('--css requires an argument');
220 break;
221 case '-t':
222 case '--template':
223 args.length
224 ? (templateEngine = args.shift())
225 : abort('--template requires an argument');
226 break;
227 default:
228 path = arg;
229 }
230}
231
232// Generate application
233
234(function createApplication(path) {
235 emptyDirectory(path, function(empty){
236 if (empty) {
237 createApplicationAt(path);
238 } else {
239 confirm('destination is not empty, continue? ', function(ok){
240 if (ok) {
241 process.stdin.destroy();
242 createApplicationAt(path);
243 } else {
244 abort('aborting');
245 }
246 });
247 }
248 });
249})(path);
250
251/**
252 * Create application at the given directory `path`.
253 *
254 * @param {String} path
255 */
256
257function createApplicationAt(path) {
258 console.log();
259 process.on('exit', function(){
260 console.log();
261 console.log(' dont forget to install dependencies:');
262 console.log(' $ cd %s && npm install', path);
263 console.log();
264 });
265
266 mkdir(path, function(){
267 mkdir(path + '/public');
268 mkdir(path + '/public/javascripts');
269 mkdir(path + '/public/images');
270 mkdir(path + '/public/stylesheets', function(){
271 switch (cssEngine) {
272 case 'stylus':
273 write(path + '/public/stylesheets/style.styl', stylus);
274 break;
275 default:
276 write(path + '/public/stylesheets/style.css', css);
277 }
278 });
279
280 mkdir(path + '/routes', function(){
281 write(path + '/routes/index.js', index);
282 });
283
284 mkdir(path + '/views', function(){
285 switch (templateEngine) {
286 case 'ejs':
287 write(path + '/views/layout.ejs', ejsLayout);
288 write(path + '/views/index.ejs', ejsIndex);
289 break;
290 case 'jade':
291 write(path + '/views/layout.jade', jadeLayout);
292 write(path + '/views/index.jade', jadeIndex);
293 break;
294 }
295 });
296
297 // CSS Engine support
298 switch (cssEngine) {
299 case 'stylus':
300 app = app.replace('{css}', eol + ' app.use(require(\'stylus\').middleware({ src: __dirname + \'/public\' }));');
301 break;
302 default:
303 app = app.replace('{css}', '');
304 }
305
306 // Session support
307 app = app.replace('{sess}', sessions
308 ? eol + ' app.use(express.cookieParser());' + eol + ' app.use(express.session({ secret: \'your secret here\' }));'
309 : '');
310
311 // Template support
312 app = app.replace(':TEMPLATE', templateEngine);
313
314 // package.json
315 var json = '{' + eol;
316 json += ' "name": "application-name"' + eol;
317 json += ' , "version": "0.0.1"' + eol;
318 json += ' , "private": true' + eol;
319 json += ' , "dependencies": {' + eol;
320 json += ' "express": "' + version + '"' + eol;
321 if (cssEngine) json += ' , "' + cssEngine + '": ">= 0.0.1"' + eol;
322 if (templateEngine) json += ' , "' + templateEngine + '": ">= 0.0.1"' + eol;
323 json += ' }' + eol;
324 json += '}';
325
326
327 write(path + '/package.json', json);
328 write(path + '/app.js', app);
329 });
330}
331
332/**
333 * Check if the given directory `path` is empty.
334 *
335 * @param {String} path
336 * @param {Function} fn
337 */
338
339function emptyDirectory(path, fn) {
340 fs.readdir(path, function(err, files){
341 if (err && 'ENOENT' != err.code) throw err;
342 fn(!files || !files.length);
343 });
344}
345
346/**
347 * echo str > path.
348 *
349 * @param {String} path
350 * @param {String} str
351 */
352
353function write(path, str) {
354 fs.writeFile(path, str);
355 console.log(' \x1b[36mcreate\x1b[0m : ' + path);
356}
357
358/**
359 * Prompt confirmation with the given `msg`.
360 *
361 * @param {String} msg
362 * @param {Function} fn
363 */
364
365function confirm(msg, fn) {
366 prompt(msg, function(val){
367 fn(/^ *y(es)?/i.test(val));
368 });
369}
370
371/**
372 * Prompt input with the given `msg` and callback `fn`.
373 *
374 * @param {String} msg
375 * @param {Function} fn
376 */
377
378function prompt(msg, fn) {
379 // prompt
380 if (' ' == msg[msg.length - 1]) {
381 process.stdout.write(msg);
382 } else {
383 console.log(msg);
384 }
385
386 // stdin
387 process.stdin.setEncoding('ascii');
388 process.stdin.once('data', function(data){
389 fn(data);
390 }).resume();
391}
392
393/**
394 * Mkdir -p.
395 *
396 * @param {String} path
397 * @param {Function} fn
398 */
399
400function mkdir(path, fn) {
401 mkdirp(path, 0755, function(err){
402 if (err) throw err;
403 console.log(' \033[36mcreate\033[0m : ' + path);
404 fn && fn();
405 });
406}
407
408/**
409 * Exit with the given `str`.
410 *
411 * @param {String} str
412 */
413
414function abort(str) {
415 console.error(str);
416 process.exit(1);
417}
diff --git a/node_modules/express/index.js b/node_modules/express/index.js
new file mode 100644
index 0000000..8d81ea7
--- /dev/null
+++ b/node_modules/express/index.js
@@ -0,0 +1,2 @@
1
2module.exports = require('./lib/express'); \ No newline at end of file
diff --git a/node_modules/express/lib-cov/application.js b/node_modules/express/lib-cov/application.js
new file mode 100644
index 0000000..86c80b4
--- /dev/null
+++ b/node_modules/express/lib-cov/application.js
@@ -0,0 +1,510 @@
1/* automatically generated by JSCoverage - do not edit */
2if (typeof _$jscoverage === 'undefined') _$jscoverage = {};
3if (! _$jscoverage['application.js']) {
4 _$jscoverage['application.js'] = [];
5 _$jscoverage['application.js'][12] = 0;
6 _$jscoverage['application.js'][29] = 0;
7 _$jscoverage['application.js'][41] = 0;
8 _$jscoverage['application.js'][42] = 0;
9 _$jscoverage['application.js'][43] = 0;
10 _$jscoverage['application.js'][44] = 0;
11 _$jscoverage['application.js'][45] = 0;
12 _$jscoverage['application.js'][46] = 0;
13 _$jscoverage['application.js'][47] = 0;
14 _$jscoverage['application.js'][50] = 0;
15 _$jscoverage['application.js'][51] = 0;
16 _$jscoverage['application.js'][52] = 0;
17 _$jscoverage['application.js'][55] = 0;
18 _$jscoverage['application.js'][56] = 0;
19 _$jscoverage['application.js'][61] = 0;
20 _$jscoverage['application.js'][62] = 0;
21 _$jscoverage['application.js'][71] = 0;
22 _$jscoverage['application.js'][72] = 0;
23 _$jscoverage['application.js'][75] = 0;
24 _$jscoverage['application.js'][76] = 0;
25 _$jscoverage['application.js'][79] = 0;
26 _$jscoverage['application.js'][80] = 0;
27 _$jscoverage['application.js'][83] = 0;
28 _$jscoverage['application.js'][84] = 0;
29 _$jscoverage['application.js'][85] = 0;
30 _$jscoverage['application.js'][89] = 0;
31 _$jscoverage['application.js'][90] = 0;
32 _$jscoverage['application.js'][91] = 0;
33 _$jscoverage['application.js'][93] = 0;
34 _$jscoverage['application.js'][94] = 0;
35 _$jscoverage['application.js'][95] = 0;
36 _$jscoverage['application.js'][98] = 0;
37 _$jscoverage['application.js'][102] = 0;
38 _$jscoverage['application.js'][103] = 0;
39 _$jscoverage['application.js'][104] = 0;
40 _$jscoverage['application.js'][105] = 0;
41 _$jscoverage['application.js'][106] = 0;
42 _$jscoverage['application.js'][107] = 0;
43 _$jscoverage['application.js'][108] = 0;
44 _$jscoverage['application.js'][112] = 0;
45 _$jscoverage['application.js'][115] = 0;
46 _$jscoverage['application.js'][116] = 0;
47 _$jscoverage['application.js'][119] = 0;
48 _$jscoverage['application.js'][120] = 0;
49 _$jscoverage['application.js'][132] = 0;
50 _$jscoverage['application.js'][133] = 0;
51 _$jscoverage['application.js'][145] = 0;
52 _$jscoverage['application.js'][146] = 0;
53 _$jscoverage['application.js'][159] = 0;
54 _$jscoverage['application.js'][160] = 0;
55 _$jscoverage['application.js'][163] = 0;
56 _$jscoverage['application.js'][166] = 0;
57 _$jscoverage['application.js'][169] = 0;
58 _$jscoverage['application.js'][170] = 0;
59 _$jscoverage['application.js'][171] = 0;
60 _$jscoverage['application.js'][172] = 0;
61 _$jscoverage['application.js'][173] = 0;
62 _$jscoverage['application.js'][174] = 0;
63 _$jscoverage['application.js'][175] = 0;
64 _$jscoverage['application.js'][180] = 0;
65 _$jscoverage['application.js'][181] = 0;
66 _$jscoverage['application.js'][184] = 0;
67 _$jscoverage['application.js'][185] = 0;
68 _$jscoverage['application.js'][186] = 0;
69 _$jscoverage['application.js'][189] = 0;
70 _$jscoverage['application.js'][209] = 0;
71 _$jscoverage['application.js'][210] = 0;
72 _$jscoverage['application.js'][211] = 0;
73 _$jscoverage['application.js'][212] = 0;
74 _$jscoverage['application.js'][274] = 0;
75 _$jscoverage['application.js'][275] = 0;
76 _$jscoverage['application.js'][279] = 0;
77 _$jscoverage['application.js'][280] = 0;
78 _$jscoverage['application.js'][281] = 0;
79 _$jscoverage['application.js'][282] = 0;
80 _$jscoverage['application.js'][286] = 0;
81 _$jscoverage['application.js'][287] = 0;
82 _$jscoverage['application.js'][290] = 0;
83 _$jscoverage['application.js'][291] = 0;
84 _$jscoverage['application.js'][292] = 0;
85 _$jscoverage['application.js'][296] = 0;
86 _$jscoverage['application.js'][309] = 0;
87 _$jscoverage['application.js'][310] = 0;
88 _$jscoverage['application.js'][311] = 0;
89 _$jscoverage['application.js'][312] = 0;
90 _$jscoverage['application.js'][313] = 0;
91 _$jscoverage['application.js'][314] = 0;
92 _$jscoverage['application.js'][317] = 0;
93 _$jscoverage['application.js'][318] = 0;
94 _$jscoverage['application.js'][331] = 0;
95 _$jscoverage['application.js'][332] = 0;
96 _$jscoverage['application.js'][345] = 0;
97 _$jscoverage['application.js'][346] = 0;
98 _$jscoverage['application.js'][357] = 0;
99 _$jscoverage['application.js'][358] = 0;
100 _$jscoverage['application.js'][369] = 0;
101 _$jscoverage['application.js'][370] = 0;
102 _$jscoverage['application.js'][381] = 0;
103 _$jscoverage['application.js'][382] = 0;
104 _$jscoverage['application.js'][411] = 0;
105 _$jscoverage['application.js'][412] = 0;
106 _$jscoverage['application.js'][414] = 0;
107 _$jscoverage['application.js'][415] = 0;
108 _$jscoverage['application.js'][416] = 0;
109 _$jscoverage['application.js'][417] = 0;
110 _$jscoverage['application.js'][430] = 0;
111 _$jscoverage['application.js'][431] = 0;
112 _$jscoverage['application.js'][432] = 0;
113 _$jscoverage['application.js'][439] = 0;
114 _$jscoverage['application.js'][440] = 0;
115 _$jscoverage['application.js'][441] = 0;
116 _$jscoverage['application.js'][442] = 0;
117 _$jscoverage['application.js'][443] = 0;
118 _$jscoverage['application.js'][444] = 0;
119 _$jscoverage['application.js'][458] = 0;
120 _$jscoverage['application.js'][459] = 0;
121 _$jscoverage['application.js'][460] = 0;
122 _$jscoverage['application.js'][461] = 0;
123 _$jscoverage['application.js'][462] = 0;
124 _$jscoverage['application.js'][464] = 0;
125 _$jscoverage['application.js'][469] = 0;
126 _$jscoverage['application.js'][482] = 0;
127 _$jscoverage['application.js'][483] = 0;
128 _$jscoverage['application.js'][490] = 0;
129 _$jscoverage['application.js'][491] = 0;
130 _$jscoverage['application.js'][495] = 0;
131 _$jscoverage['application.js'][498] = 0;
132 _$jscoverage['application.js'][501] = 0;
133 _$jscoverage['application.js'][504] = 0;
134 _$jscoverage['application.js'][509] = 0;
135 _$jscoverage['application.js'][512] = 0;
136 _$jscoverage['application.js'][513] = 0;
137 _$jscoverage['application.js'][520] = 0;
138 _$jscoverage['application.js'][524] = 0;
139 _$jscoverage['application.js'][525] = 0;
140 _$jscoverage['application.js'][527] = 0;
141}
142_$jscoverage['application.js'][12]++;
143var connect = require("connect"), Router = require("./router"), methods = Router.methods.concat("del", "all"), middleware = require("./middleware"), debug = require("debug")("express:application"), View = require("./view"), url = require("url"), utils = connect.utils, path = require("path"), http = require("http"), join = path.join, fs = require("fs");
144_$jscoverage['application.js'][29]++;
145var app = exports = module.exports = {};
146_$jscoverage['application.js'][41]++;
147app.init = (function () {
148 _$jscoverage['application.js'][42]++;
149 var self = this;
150 _$jscoverage['application.js'][43]++;
151 this.cache = {};
152 _$jscoverage['application.js'][44]++;
153 this.settings = {};
154 _$jscoverage['application.js'][45]++;
155 this.engines = {};
156 _$jscoverage['application.js'][46]++;
157 this.viewCallbacks = [];
158 _$jscoverage['application.js'][47]++;
159 this.defaultConfiguration();
160 _$jscoverage['application.js'][50]++;
161 methods.forEach((function (method) {
162 _$jscoverage['application.js'][51]++;
163 self.lookup[method] = (function (path) {
164 _$jscoverage['application.js'][52]++;
165 return self._router.lookup(method, path);
166});
167 _$jscoverage['application.js'][55]++;
168 self.remove[method] = (function (path) {
169 _$jscoverage['application.js'][56]++;
170 return self._router.lookup(method, path).remove();
171});
172}));
173 _$jscoverage['application.js'][61]++;
174 self.lookup.del = self.lookup["delete"];
175 _$jscoverage['application.js'][62]++;
176 self.remove.del = self.remove["delete"];
177});
178_$jscoverage['application.js'][71]++;
179app.defaultConfiguration = (function () {
180 _$jscoverage['application.js'][72]++;
181 var self = this;
182 _$jscoverage['application.js'][75]++;
183 this.set("env", process.env.NODE_ENV || "development");
184 _$jscoverage['application.js'][76]++;
185 debug("booting in %s mode", this.get("env"));
186 _$jscoverage['application.js'][79]++;
187 this.use(connect.query());
188 _$jscoverage['application.js'][80]++;
189 this.use(middleware.init(this));
190 _$jscoverage['application.js'][83]++;
191 this.locals = (function (obj) {
192 _$jscoverage['application.js'][84]++;
193 for (var key in obj) {
194 _$jscoverage['application.js'][84]++;
195 self.locals[key] = obj[key];
196}
197 _$jscoverage['application.js'][85]++;
198 return self;
199});
200 _$jscoverage['application.js'][89]++;
201 this.locals.use = (function (fn) {
202 _$jscoverage['application.js'][90]++;
203 if (3 == fn.length) {
204 _$jscoverage['application.js'][91]++;
205 self.viewCallbacks.push(fn);
206 }
207 else {
208 _$jscoverage['application.js'][93]++;
209 self.viewCallbacks.push((function (req, res, done) {
210 _$jscoverage['application.js'][94]++;
211 fn(req, res);
212 _$jscoverage['application.js'][95]++;
213 done();
214}));
215 }
216 _$jscoverage['application.js'][98]++;
217 return this;
218});
219 _$jscoverage['application.js'][102]++;
220 this._router = new Router(this);
221 _$jscoverage['application.js'][103]++;
222 this.routes = this._router.routes;
223 _$jscoverage['application.js'][104]++;
224 this.__defineGetter__("router", (function () {
225 _$jscoverage['application.js'][105]++;
226 this._usedRouter = true;
227 _$jscoverage['application.js'][106]++;
228 this._router.caseSensitive = this.enabled("case sensitive routing");
229 _$jscoverage['application.js'][107]++;
230 this._router.strict = this.enabled("strict routing");
231 _$jscoverage['application.js'][108]++;
232 return this._router.middleware;
233}));
234 _$jscoverage['application.js'][112]++;
235 this.locals.settings = this.settings;
236 _$jscoverage['application.js'][115]++;
237 this.configure("development", (function () {
238 _$jscoverage['application.js'][116]++;
239 this.set("json spaces", 2);
240}));
241 _$jscoverage['application.js'][119]++;
242 this.configure("production", (function () {
243 _$jscoverage['application.js'][120]++;
244 this.enable("view cache");
245}));
246});
247_$jscoverage['application.js'][132]++;
248app.remove = (function (path) {
249 _$jscoverage['application.js'][133]++;
250 return this._router.lookup("all", path).remove();
251});
252_$jscoverage['application.js'][145]++;
253app.lookup = (function (path) {
254 _$jscoverage['application.js'][146]++;
255 return this._router.lookup("all", path);
256});
257_$jscoverage['application.js'][159]++;
258app.use = (function (route, fn) {
259 _$jscoverage['application.js'][160]++;
260 var app, home, handle;
261 _$jscoverage['application.js'][163]++;
262 if ("string" != typeof route) {
263 _$jscoverage['application.js'][163]++;
264 fn = route, route = "/";
265 }
266 _$jscoverage['application.js'][166]++;
267 if (fn.handle && fn.set) {
268 _$jscoverage['application.js'][166]++;
269 app = fn;
270 }
271 _$jscoverage['application.js'][169]++;
272 if (app) {
273 _$jscoverage['application.js'][170]++;
274 app.route = route;
275 _$jscoverage['application.js'][171]++;
276 fn = (function (req, res, next) {
277 _$jscoverage['application.js'][172]++;
278 var orig = req.app;
279 _$jscoverage['application.js'][173]++;
280 app.handle(req, res, (function (err) {
281 _$jscoverage['application.js'][174]++;
282 req.app = res.app = orig;
283 _$jscoverage['application.js'][175]++;
284 next(err);
285}));
286});
287 }
288 _$jscoverage['application.js'][180]++;
289 debug("use %s %s", route, fn.name || "unnamed");
290 _$jscoverage['application.js'][181]++;
291 connect.proto.use.call(this, route, fn);
292 _$jscoverage['application.js'][184]++;
293 if (app) {
294 _$jscoverage['application.js'][185]++;
295 app.parent = this;
296 _$jscoverage['application.js'][186]++;
297 app.emit("mount", this);
298 }
299 _$jscoverage['application.js'][189]++;
300 return this;
301});
302_$jscoverage['application.js'][209]++;
303app.engine = (function (ext, fn) {
304 _$jscoverage['application.js'][210]++;
305 if ("." != ext[0]) {
306 _$jscoverage['application.js'][210]++;
307 ext = "." + ext;
308 }
309 _$jscoverage['application.js'][211]++;
310 this.engines[ext] = fn;
311 _$jscoverage['application.js'][212]++;
312 return this;
313});
314_$jscoverage['application.js'][274]++;
315app.param = (function (name, fn) {
316 _$jscoverage['application.js'][275]++;
317 var self = this, fns = [].slice.call(arguments, 1);
318 _$jscoverage['application.js'][279]++;
319 if (Array.isArray(name)) {
320 _$jscoverage['application.js'][280]++;
321 name.forEach((function (name) {
322 _$jscoverage['application.js'][281]++;
323 fns.forEach((function (fn) {
324 _$jscoverage['application.js'][282]++;
325 self.param(name, fn);
326}));
327}));
328 }
329 else {
330 _$jscoverage['application.js'][286]++;
331 if ("function" == typeof name) {
332 _$jscoverage['application.js'][287]++;
333 this._router.param(name);
334 }
335 else {
336 _$jscoverage['application.js'][290]++;
337 if (":" == name[0]) {
338 _$jscoverage['application.js'][290]++;
339 name = name.substr(1);
340 }
341 _$jscoverage['application.js'][291]++;
342 fns.forEach((function (fn) {
343 _$jscoverage['application.js'][292]++;
344 self._router.param(name, fn);
345}));
346 }
347 }
348 _$jscoverage['application.js'][296]++;
349 return this;
350});
351_$jscoverage['application.js'][309]++;
352app.set = (function (setting, val) {
353 _$jscoverage['application.js'][310]++;
354 if (1 == arguments.length) {
355 _$jscoverage['application.js'][311]++;
356 if (this.settings.hasOwnProperty(setting)) {
357 _$jscoverage['application.js'][312]++;
358 return this.settings[setting];
359 }
360 else {
361 _$jscoverage['application.js'][313]++;
362 if (this.parent) {
363 _$jscoverage['application.js'][314]++;
364 return this.parent.set(setting);
365 }
366 }
367 }
368 else {
369 _$jscoverage['application.js'][317]++;
370 this.settings[setting] = val;
371 _$jscoverage['application.js'][318]++;
372 return this;
373 }
374});
375_$jscoverage['application.js'][331]++;
376app.path = (function () {
377 _$jscoverage['application.js'][332]++;
378 return this.parent? this.parent.path() + this.route: "";
379});
380_$jscoverage['application.js'][345]++;
381app.enabled = (function (setting) {
382 _$jscoverage['application.js'][346]++;
383 return ! ! this.set(setting);
384});
385_$jscoverage['application.js'][357]++;
386app.disabled = (function (setting) {
387 _$jscoverage['application.js'][358]++;
388 return ! this.set(setting);
389});
390_$jscoverage['application.js'][369]++;
391app.enable = (function (setting) {
392 _$jscoverage['application.js'][370]++;
393 return this.set(setting, true);
394});
395_$jscoverage['application.js'][381]++;
396app.disable = (function (setting) {
397 _$jscoverage['application.js'][382]++;
398 return this.set(setting, false);
399});
400_$jscoverage['application.js'][411]++;
401app.configure = (function (env, fn) {
402 _$jscoverage['application.js'][412]++;
403 var envs = "all", args = [].slice.call(arguments);
404 _$jscoverage['application.js'][414]++;
405 fn = args.pop();
406 _$jscoverage['application.js'][415]++;
407 if (args.length) {
408 _$jscoverage['application.js'][415]++;
409 envs = args;
410 }
411 _$jscoverage['application.js'][416]++;
412 if ("all" == envs || ~ envs.indexOf(this.settings.env)) {
413 _$jscoverage['application.js'][416]++;
414 fn.call(this);
415 }
416 _$jscoverage['application.js'][417]++;
417 return this;
418});
419_$jscoverage['application.js'][430]++;
420app.listen = (function () {
421 _$jscoverage['application.js'][431]++;
422 var server = http.createServer(this);
423 _$jscoverage['application.js'][432]++;
424 return server.listen.apply(server, arguments);
425});
426_$jscoverage['application.js'][439]++;
427methods.forEach((function (method) {
428 _$jscoverage['application.js'][440]++;
429 app[method] = (function (path) {
430 _$jscoverage['application.js'][441]++;
431 if ("get" == method && 1 == arguments.length) {
432 _$jscoverage['application.js'][441]++;
433 return this.set(path);
434 }
435 _$jscoverage['application.js'][442]++;
436 var args = [method].concat([].slice.call(arguments));
437 _$jscoverage['application.js'][443]++;
438 if (! this._usedRouter) {
439 _$jscoverage['application.js'][443]++;
440 this.use(this.router);
441 }
442 _$jscoverage['application.js'][444]++;
443 return this._router.route.apply(this._router, args);
444});
445}));
446_$jscoverage['application.js'][458]++;
447app.all = (function (path) {
448 _$jscoverage['application.js'][459]++;
449 var args = arguments;
450 _$jscoverage['application.js'][460]++;
451 methods.forEach((function (method) {
452 _$jscoverage['application.js'][461]++;
453 if ("all" == method || "del" == method) {
454 _$jscoverage['application.js'][461]++;
455 return;
456 }
457 _$jscoverage['application.js'][462]++;
458 app[method].apply(this, args);
459}), this);
460 _$jscoverage['application.js'][464]++;
461 return this;
462});
463_$jscoverage['application.js'][469]++;
464app.del = app["delete"];
465_$jscoverage['application.js'][482]++;
466app.render = (function (name, options, fn) {
467 _$jscoverage['application.js'][483]++;
468 var self = this, opts = {}, cache = this.cache, engines = this.engines, view;
469 _$jscoverage['application.js'][490]++;
470 if ("function" == typeof options) {
471 _$jscoverage['application.js'][491]++;
472 fn = options, options = {};
473 }
474 _$jscoverage['application.js'][495]++;
475 utils.merge(opts, this.locals);
476 _$jscoverage['application.js'][498]++;
477 if (options.locals) {
478 _$jscoverage['application.js'][498]++;
479 utils.merge(opts, options.locals);
480 }
481 _$jscoverage['application.js'][501]++;
482 utils.merge(opts, options);
483 _$jscoverage['application.js'][504]++;
484 opts.cache = null == opts.cache? this.enabled("view cache"): opts.cache;
485 _$jscoverage['application.js'][509]++;
486 if (opts.cache) {
487 _$jscoverage['application.js'][509]++;
488 view = cache[name];
489 }
490 _$jscoverage['application.js'][512]++;
491 if (! view) {
492 _$jscoverage['application.js'][513]++;
493 view = new View(name, {defaultEngine: this.get("view engine"), root: this.get("views") || process.cwd() + "/views", engines: engines});
494 _$jscoverage['application.js'][520]++;
495 if (opts.cache) {
496 _$jscoverage['application.js'][520]++;
497 cache[name] = view;
498 }
499 }
500 _$jscoverage['application.js'][524]++;
501 try {
502 _$jscoverage['application.js'][525]++;
503 view.render(opts, fn);
504 }
505 catch (err) {
506 _$jscoverage['application.js'][527]++;
507 fn(err);
508 }
509});
510_$jscoverage['application.js'].source = ["","/*!"," * Express - proto"," * Copyright(c) 2010 TJ Holowaychuk &lt;tj@vision-media.ca&gt;"," * MIT Licensed"," */","","/**"," * Module dependencies."," */","","var connect = require('connect')"," , Router = require('./router')"," , methods = Router.methods.concat('del', 'all')"," , middleware = require('./middleware')"," , debug = require('debug')('express:application')"," , View = require('./view')"," , url = require('url')"," , utils = connect.utils"," , path = require('path')"," , http = require('http')"," , join = path.join"," , fs = require('fs');","","/**"," * Application prototype."," */","","var app = exports = module.exports = {};","","/**"," * Initialize the server."," *"," * - setup default configuration"," * - setup default middleware"," * - setup route reflection methods"," *"," * @api private"," */","","app.init = function(){"," var self = this;"," this.cache = {};"," this.settings = {};"," this.engines = {};"," this.viewCallbacks = [];"," this.defaultConfiguration();",""," // route reflection methods"," methods.forEach(function(method){"," self.lookup[method] = function(path){"," return self._router.lookup(method, path);"," };",""," self.remove[method] = function(path){"," return self._router.lookup(method, path).remove();"," };"," });",""," // del -&gt; delete"," self.lookup.del = self.lookup.delete;"," self.remove.del = self.remove.delete;","};","","/**"," * Initialize application configuration."," *"," * @api private"," */","","app.defaultConfiguration = function(){"," var self = this;",""," // default settings"," this.set('env', process.env.NODE_ENV || 'development');"," debug('booting in %s mode', this.get('env'));",""," // implicit middleware"," this.use(connect.query());"," this.use(middleware.init(this));",""," // app locals"," this.locals = function(obj){"," for (var key in obj) self.locals[key] = obj[key];"," return self;"," };",""," // response locals"," this.locals.use = function(fn){"," if (3 == fn.length) {"," self.viewCallbacks.push(fn);"," } else {"," self.viewCallbacks.push(function(req, res, done){"," fn(req, res);"," done();"," });"," }"," return this;"," };",""," // router"," this._router = new Router(this);"," this.routes = this._router.routes;"," this.__defineGetter__('router', function(){"," this._usedRouter = true;"," this._router.caseSensitive = this.enabled('case sensitive routing');"," this._router.strict = this.enabled('strict routing');"," return this._router.middleware;"," });",""," // default locals"," this.locals.settings = this.settings;",""," // default configuration"," this.configure('development', function(){"," this.set('json spaces', 2);"," });",""," this.configure('production', function(){"," this.enable('view cache');"," });","};","","/**"," * Remove routes matching the given `path`."," *"," * @param {Route} path"," * @return {Boolean}"," * @api public"," */","","app.remove = function(path){"," return this._router.lookup('all', path).remove();","};","","/**"," * Lookup routes defined with a path"," * equivalent to `path`."," *"," * @param {String} path"," * @return {Array}"," * @api public"," */","","app.lookup = function(path){"," return this._router.lookup('all', path);","};","","/**"," * Proxy `connect#use()` to apply settings to"," * mounted applications."," *"," * @param {String|Function|Server} route"," * @param {Function|Server} fn"," * @return {app} for chaining"," * @api public"," */","","app.use = function(route, fn){"," var app, home, handle;",""," // default route to '/'"," if ('string' != typeof route) fn = route, route = '/';",""," // express app"," if (fn.handle &amp;&amp; fn.set) app = fn;",""," // restore .app property on req and res"," if (app) {"," app.route = route;"," fn = function(req, res, next) {"," var orig = req.app;"," app.handle(req, res, function(err){"," req.app = res.app = orig;"," next(err);"," });"," };"," }",""," debug('use %s %s', route, fn.name || 'unnamed');"," connect.proto.use.call(this, route, fn);",""," // mounted an app"," if (app) {"," app.parent = this;"," app.emit('mount', this);"," }",""," return this;","};","","/**"," * Register the given template engine callback `fn`"," * as `ext`. For example we may wish to map \".html\""," * files to ejs rather than using the \".ejs\" extension."," *"," * app.engine('.html', require('ejs').render);"," *"," * or"," *"," * app.engine('html', require('ejs').render);"," *"," * @param {String} ext"," * @param {Function} fn"," * @return {app} for chaining"," * @api public"," */","","app.engine = function(ext, fn){"," if ('.' != ext[0]) ext = '.' + ext;"," this.engines[ext] = fn;"," return this;","};","","/**"," * Map the given param placeholder `name`(s) to the given callback(s)."," *"," * Param mapping is used to provide pre-conditions to routes"," * which us normalized placeholders. This callback has the same"," * signature as regular middleware, for example below when \":userId\""," * is used this function will be invoked in an attempt to load the user."," *"," * app.param('userId', function(req, res, next, id){"," * User.find(id, function(err, user){"," * if (err) {"," * next(err);"," * } else if (user) {"," * req.user = user;"," * next();"," * } else {"," * next(new Error('failed to load user'));"," * }"," * });"," * });"," *"," * Passing a single function allows you to map logic"," * to the values passed to `app.param()`, for example"," * this is useful to provide coercion support in a concise manner."," *"," * The following example maps regular expressions to param values"," * ensuring that they match, otherwise passing control to the next"," * route:"," *"," * app.param(function(name, regexp){"," * if (regexp instanceof RegExp) {"," * return function(req, res, next, val){"," * var captures;"," * if (captures = regexp.exec(String(val))) {"," * req.params[name] = captures;"," * next();"," * } else {"," * next('route');"," * }"," * }"," * }"," * });"," *"," * We can now use it as shown below, where \"/commit/:commit\" expects"," * that the value for \":commit\" is at 5 or more digits. The capture"," * groups are then available as `req.params.commit` as we defined"," * in the function above."," *"," * app.param('commit', /^\\d{5,}$/);"," *"," * For more of this useful functionality take a look"," * at [express-params](http://github.com/visionmedia/express-params)."," *"," * @param {String|Array|Function} name"," * @param {Function} fn"," * @return {app} for chaining"," * @api public"," */","","app.param = function(name, fn){"," var self = this"," , fns = [].slice.call(arguments, 1);",""," // array"," if (Array.isArray(name)) {"," name.forEach(function(name){"," fns.forEach(function(fn){"," self.param(name, fn);"," });"," });"," // param logic"," } else if ('function' == typeof name) {"," this._router.param(name);"," // single"," } else {"," if (':' == name[0]) name = name.substr(1);"," fns.forEach(function(fn){"," self._router.param(name, fn);"," });"," }",""," return this;","};","","/**"," * Assign `setting` to `val`, or return `setting`'s value."," * Mounted servers inherit their parent server's settings."," *"," * @param {String} setting"," * @param {String} val"," * @return {Server|Mixed} for chaining, or the setting value"," * @api public"," */","","app.set = function(setting, val){"," if (1 == arguments.length) {"," if (this.settings.hasOwnProperty(setting)) {"," return this.settings[setting];"," } else if (this.parent) {"," return this.parent.set(setting);"," }"," } else {"," this.settings[setting] = val;"," return this;"," }","};","","/**"," * Return the app's absolute pathname"," * based on the parent(s) that have"," * mounted it."," *"," * @return {String}"," * @api private"," */","","app.path = function(){"," return this.parent"," ? this.parent.path() + this.route"," : '';","};","","/**"," * Check if `setting` is enabled."," *"," * @param {String} setting"," * @return {Boolean}"," * @api public"," */","","app.enabled = function(setting){"," return !!this.set(setting);","};","","/**"," * Check if `setting` is disabled."," *"," * @param {String} setting"," * @return {Boolean}"," * @api public"," */","","app.disabled = function(setting){"," return !this.set(setting);","};","","/**"," * Enable `setting`."," *"," * @param {String} setting"," * @return {app} for chaining"," * @api public"," */","","app.enable = function(setting){"," return this.set(setting, true);","};","","/**"," * Disable `setting`."," *"," * @param {String} setting"," * @return {app} for chaining"," * @api public"," */","","app.disable = function(setting){"," return this.set(setting, false);","};","","/**"," * Configure callback for zero or more envs,"," * when no env is specified that callback will"," * be invoked for all environments. Any combination"," * can be used multiple times, in any order desired."," *"," * Examples:"," *"," * app.configure(function(){"," * // executed for all envs"," * });"," *"," * app.configure('stage', function(){"," * // executed staging env"," * });"," *"," * app.configure('stage', 'production', function(){"," * // executed for stage and production"," * });"," *"," * @param {String} env..."," * @param {Function} fn"," * @return {app} for chaining"," * @api public"," */","","app.configure = function(env, fn){"," var envs = 'all'"," , args = [].slice.call(arguments);"," fn = args.pop();"," if (args.length) envs = args;"," if ('all' == envs || ~envs.indexOf(this.settings.env)) fn.call(this);"," return this;","};","","/**"," * Listen for connections."," *"," * This method takes the same arguments"," * as node's `http.Server#listen()`. "," *"," * @return {http.Server}"," * @api public"," */","","app.listen = function(){"," var server = http.createServer(this);"," return server.listen.apply(server, arguments);","};","","/**"," * Delegate `.VERB(...)` calls to `.route(VERB, ...)`."," */","","methods.forEach(function(method){"," app[method] = function(path){"," if ('get' == method &amp;&amp; 1 == arguments.length) return this.set(path); "," var args = [method].concat([].slice.call(arguments));"," if (!this._usedRouter) this.use(this.router);"," return this._router.route.apply(this._router, args);"," }","});","","/**"," * Special-cased \"all\" method, applying the given route `path`,"," * middleware, and callback to _every_ HTTP method."," *"," * @param {String} path"," * @param {Function} ..."," * @return {app} for chaining"," * @api public"," */","","app.all = function(path){"," var args = arguments;"," methods.forEach(function(method){"," if ('all' == method || 'del' == method) return;"," app[method].apply(this, args);"," }, this);"," return this;","};","","// del -&gt; delete alias","","app.del = app.delete;","","/**"," * Render the given view `name` name with `options`"," * and a callback accepting an error and the"," * rendered template string."," *"," * @param {String} name"," * @param {String|Function} options or fn"," * @param {Function} fn"," * @api public"," */","","app.render = function(name, options, fn){"," var self = this"," , opts = {}"," , cache = this.cache"," , engines = this.engines"," , view;",""," // support callback function as second arg"," if ('function' == typeof options) {"," fn = options, options = {};"," }",""," // merge app.locals"," utils.merge(opts, this.locals);",""," // merge options.locals"," if (options.locals) utils.merge(opts, options.locals);",""," // merge options"," utils.merge(opts, options);",""," // set .cache unless explicitly provided"," opts.cache = null == opts.cache"," ? this.enabled('view cache')"," : opts.cache;",""," // primed cache"," if (opts.cache) view = cache[name];",""," // view"," if (!view) {"," view = new View(name, {"," defaultEngine: this.get('view engine')"," , root: this.get('views') || process.cwd() + '/views'"," , engines: engines"," });",""," // prime the cache"," if (opts.cache) cache[name] = view;"," }",""," // render"," try {"," view.render(opts, fn);"," } catch (err) {"," fn(err);"," }","};"];
diff --git a/node_modules/express/lib-cov/express.js b/node_modules/express/lib-cov/express.js
new file mode 100644
index 0000000..8e191ab
--- /dev/null
+++ b/node_modules/express/lib-cov/express.js
@@ -0,0 +1,65 @@
1/* automatically generated by JSCoverage - do not edit */
2if (typeof _$jscoverage === 'undefined') _$jscoverage = {};
3if (! _$jscoverage['express.js']) {
4 _$jscoverage['express.js'] = [];
5 _$jscoverage['express.js'][12] = 0;
6 _$jscoverage['express.js'][25] = 0;
7 _$jscoverage['express.js'][31] = 0;
8 _$jscoverage['express.js'][40] = 0;
9 _$jscoverage['express.js'][41] = 0;
10 _$jscoverage['express.js'][42] = 0;
11 _$jscoverage['express.js'][43] = 0;
12 _$jscoverage['express.js'][44] = 0;
13 _$jscoverage['express.js'][45] = 0;
14 _$jscoverage['express.js'][46] = 0;
15 _$jscoverage['express.js'][54] = 0;
16 _$jscoverage['express.js'][55] = 0;
17 _$jscoverage['express.js'][65] = 0;
18 _$jscoverage['express.js'][66] = 0;
19 _$jscoverage['express.js'][67] = 0;
20 _$jscoverage['express.js'][73] = 0;
21 _$jscoverage['express.js'][74] = 0;
22 _$jscoverage['express.js'][80] = 0;
23 _$jscoverage['express.js'][84] = 0;
24}
25_$jscoverage['express.js'][12]++;
26var http = require("http"), connect = require("connect"), proto = require("./application"), Route = require("./router/route"), Router = require("./router"), req = require("./request"), res = require("./response"), utils = connect.utils;
27_$jscoverage['express.js'][25]++;
28exports = module.exports = createApplication;
29_$jscoverage['express.js'][31]++;
30exports.version = "3.0.0alpha1-pre";
31_$jscoverage['express.js'][40]++;
32function createApplication() {
33 _$jscoverage['express.js'][41]++;
34 var app = connect();
35 _$jscoverage['express.js'][42]++;
36 utils.merge(app, proto);
37 _$jscoverage['express.js'][43]++;
38 app.request = {__proto__: req};
39 _$jscoverage['express.js'][44]++;
40 app.response = {__proto__: res};
41 _$jscoverage['express.js'][45]++;
42 app.init();
43 _$jscoverage['express.js'][46]++;
44 return app;
45}
46_$jscoverage['express.js'][54]++;
47for (var key in connect.middleware) {
48 _$jscoverage['express.js'][55]++;
49 Object.defineProperty(exports, key, Object.getOwnPropertyDescriptor(connect.middleware, key));
50}
51_$jscoverage['express.js'][65]++;
52exports.application = proto;
53_$jscoverage['express.js'][66]++;
54exports.request = req;
55_$jscoverage['express.js'][67]++;
56exports.response = res;
57_$jscoverage['express.js'][73]++;
58exports.Route = Route;
59_$jscoverage['express.js'][74]++;
60exports.Router = Router;
61_$jscoverage['express.js'][80]++;
62exports.methods = require("./router/methods");
63_$jscoverage['express.js'][84]++;
64exports.errorHandler.title = "Express";
65_$jscoverage['express.js'].source = ["","/*!"," * Express"," * Copyright(c) 2010 TJ Holowaychuk &lt;tj@vision-media.ca&gt;"," * MIT Licensed"," */","","/**"," * Module dependencies."," */","","var http = require('http')"," , connect = require('connect')"," , proto = require('./application')"," , Route = require('./router/route')"," , Router = require('./router')"," , req = require('./request')"," , res = require('./response')"," , utils = connect.utils;","","/**"," * Expose `createApplication()`."," */","","exports = module.exports = createApplication;","","/**"," * Framework version."," */","","exports.version = '3.0.0alpha1-pre';","","/**"," * Create an express application."," *"," * @return {Function}"," * @api public"," */","","function createApplication() {"," var app = connect();"," utils.merge(app, proto);"," app.request = { __proto__: req };"," app.response = { __proto__: res };"," app.init();"," return app;","}","","/**"," * Expose connect.middleware as express.*"," * for example `express.logger` etc. "," */","","for (var key in connect.middleware) {"," Object.defineProperty("," exports"," , key"," , Object.getOwnPropertyDescriptor(connect.middleware, key));","}","","/**"," * Expose the prototypes."," */","","exports.application = proto;","exports.request = req;","exports.response = res;","","/**"," * Expose constructors."," */","","exports.Route = Route;","exports.Router = Router;","","/**"," * Expose HTTP methods."," */","","exports.methods = require('./router/methods');","","// Error handler title","","exports.errorHandler.title = 'Express';",""];
diff --git a/node_modules/express/lib-cov/middleware.js b/node_modules/express/lib-cov/middleware.js
new file mode 100644
index 0000000..f1a3e6d
--- /dev/null
+++ b/node_modules/express/lib-cov/middleware.js
@@ -0,0 +1,54 @@
1/* automatically generated by JSCoverage - do not edit */
2if (typeof _$jscoverage === 'undefined') _$jscoverage = {};
3if (! _$jscoverage['middleware.js']) {
4 _$jscoverage['middleware.js'] = [];
5 _$jscoverage['middleware.js'][18] = 0;
6 _$jscoverage['middleware.js'][19] = 0;
7 _$jscoverage['middleware.js'][20] = 0;
8 _$jscoverage['middleware.js'][21] = 0;
9 _$jscoverage['middleware.js'][22] = 0;
10 _$jscoverage['middleware.js'][23] = 0;
11 _$jscoverage['middleware.js'][24] = 0;
12 _$jscoverage['middleware.js'][25] = 0;
13 _$jscoverage['middleware.js'][27] = 0;
14 _$jscoverage['middleware.js'][28] = 0;
15 _$jscoverage['middleware.js'][30] = 0;
16 _$jscoverage['middleware.js'][31] = 0;
17 _$jscoverage['middleware.js'][32] = 0;
18 _$jscoverage['middleware.js'][35] = 0;
19}
20_$jscoverage['middleware.js'][18]++;
21exports.init = (function (app) {
22 _$jscoverage['middleware.js'][19]++;
23 return (function (req, res, next) {
24 _$jscoverage['middleware.js'][20]++;
25 var charset;
26 _$jscoverage['middleware.js'][21]++;
27 res.setHeader("X-Powered-By", "Express");
28 _$jscoverage['middleware.js'][22]++;
29 req.app = res.app = app;
30 _$jscoverage['middleware.js'][23]++;
31 req.res = res;
32 _$jscoverage['middleware.js'][24]++;
33 res.req = req;
34 _$jscoverage['middleware.js'][25]++;
35 req.next = next;
36 _$jscoverage['middleware.js'][27]++;
37 req.__proto__ = app.request;
38 _$jscoverage['middleware.js'][28]++;
39 res.__proto__ = app.response;
40 _$jscoverage['middleware.js'][30]++;
41 res.locals = (function (obj) {
42 _$jscoverage['middleware.js'][31]++;
43 for (var key in obj) {
44 _$jscoverage['middleware.js'][31]++;
45 res.locals[key] = obj[key];
46}
47 _$jscoverage['middleware.js'][32]++;
48 return res;
49});
50 _$jscoverage['middleware.js'][35]++;
51 next();
52});
53});
54_$jscoverage['middleware.js'].source = ["","/*!"," * Express - middleware - init"," * Copyright(c) 2010-2011 TJ Holowaychuk &lt;tj@vision-media.ca&gt;"," * MIT Licensed"," */","","/**"," * Initialization middleware, exposing the"," * request and response to eachother, as well"," * as defaulting the X-Powered-By header field."," *"," * @param {Function} app"," * @return {Function}"," * @api private"," */","","exports.init = function(app){"," return function(req, res, next){"," var charset;"," res.setHeader('X-Powered-By', 'Express');"," req.app = res.app = app;"," req.res = res;"," res.req = req;"," req.next = next;",""," req.__proto__ = app.request;"," res.__proto__ = app.response;",""," res.locals = function(obj){"," for (var key in obj) res.locals[key] = obj[key];"," return res;"," };",""," next();"," }","};"];
diff --git a/node_modules/express/lib-cov/request.js b/node_modules/express/lib-cov/request.js
new file mode 100644
index 0000000..2fdf100
--- /dev/null
+++ b/node_modules/express/lib-cov/request.js
@@ -0,0 +1,225 @@
1/* automatically generated by JSCoverage - do not edit */
2if (typeof _$jscoverage === 'undefined') _$jscoverage = {};
3if (! _$jscoverage['request.js']) {
4 _$jscoverage['request.js'] = [];
5 _$jscoverage['request.js'][12] = 0;
6 _$jscoverage['request.js'][22] = 0;
7 _$jscoverage['request.js'][49] = 0;
8 _$jscoverage['request.js'][50] = 0;
9 _$jscoverage['request.js'][53] = 0;
10 _$jscoverage['request.js'][56] = 0;
11 _$jscoverage['request.js'][86] = 0;
12 _$jscoverage['request.js'][87] = 0;
13 _$jscoverage['request.js'][99] = 0;
14 _$jscoverage['request.js'][100] = 0;
15 _$jscoverage['request.js'][101] = 0;
16 _$jscoverage['request.js'][115] = 0;
17 _$jscoverage['request.js'][116] = 0;
18 _$jscoverage['request.js'][117] = 0;
19 _$jscoverage['request.js'][141] = 0;
20 _$jscoverage['request.js'][142] = 0;
21 _$jscoverage['request.js'][143] = 0;
22 _$jscoverage['request.js'][161] = 0;
23 _$jscoverage['request.js'][162] = 0;
24 _$jscoverage['request.js'][163] = 0;
25 _$jscoverage['request.js'][167] = 0;
26 _$jscoverage['request.js'][185] = 0;
27 _$jscoverage['request.js'][186] = 0;
28 _$jscoverage['request.js'][187] = 0;
29 _$jscoverage['request.js'][191] = 0;
30 _$jscoverage['request.js'][213] = 0;
31 _$jscoverage['request.js'][215] = 0;
32 _$jscoverage['request.js'][218] = 0;
33 _$jscoverage['request.js'][221] = 0;
34 _$jscoverage['request.js'][225] = 0;
35 _$jscoverage['request.js'][227] = 0;
36 _$jscoverage['request.js'][267] = 0;
37 _$jscoverage['request.js'][268] = 0;
38 _$jscoverage['request.js'][269] = 0;
39 _$jscoverage['request.js'][270] = 0;
40 _$jscoverage['request.js'][271] = 0;
41 _$jscoverage['request.js'][272] = 0;
42 _$jscoverage['request.js'][273] = 0;
43 _$jscoverage['request.js'][274] = 0;
44 _$jscoverage['request.js'][275] = 0;
45 _$jscoverage['request.js'][276] = 0;
46 _$jscoverage['request.js'][277] = 0;
47 _$jscoverage['request.js'][279] = 0;
48 _$jscoverage['request.js'][294] = 0;
49 _$jscoverage['request.js'][295] = 0;
50 _$jscoverage['request.js'][296] = 0;
51 _$jscoverage['request.js'][310] = 0;
52 _$jscoverage['request.js'][311] = 0;
53 _$jscoverage['request.js'][324] = 0;
54 _$jscoverage['request.js'][325] = 0;
55 _$jscoverage['request.js'][338] = 0;
56 _$jscoverage['request.js'][339] = 0;
57 _$jscoverage['request.js'][351] = 0;
58 _$jscoverage['request.js'][352] = 0;
59 _$jscoverage['request.js'][364] = 0;
60 _$jscoverage['request.js'][365] = 0;
61 _$jscoverage['request.js'][375] = 0;
62 _$jscoverage['request.js'][376] = 0;
63 _$jscoverage['request.js'][377] = 0;
64}
65_$jscoverage['request.js'][12]++;
66var http = require("http"), utils = require("./utils"), connect = require("connect"), parse = require("url").parse, mime = require("mime");
67_$jscoverage['request.js'][22]++;
68var req = exports = module.exports = {__proto__: http.IncomingMessage.prototype};
69_$jscoverage['request.js'][49]++;
70req.get = (function (name) {
71 _$jscoverage['request.js'][50]++;
72 switch (name = name.toLowerCase()) {
73 case "referer":
74 case "referrer":
75 _$jscoverage['request.js'][53]++;
76 return this.headers.referrer || this.headers.referer;
77 default:
78 _$jscoverage['request.js'][56]++;
79 return this.headers[name];
80 }
81});
82_$jscoverage['request.js'][86]++;
83req.accepts = (function (type) {
84 _$jscoverage['request.js'][87]++;
85 return utils.accepts(type, this.get("Accept"));
86});
87_$jscoverage['request.js'][99]++;
88req.acceptsCharset = (function (charset) {
89 _$jscoverage['request.js'][100]++;
90 var accepted = this.acceptedCharsets;
91 _$jscoverage['request.js'][101]++;
92 return accepted.length? ~ accepted.indexOf(charset): true;
93});
94_$jscoverage['request.js'][115]++;
95req.acceptsLanguage = (function (lang) {
96 _$jscoverage['request.js'][116]++;
97 var accepted = this.acceptedLanguages;
98 _$jscoverage['request.js'][117]++;
99 return accepted.length? ~ accepted.indexOf(lang): true;
100});
101_$jscoverage['request.js'][141]++;
102req.__defineGetter__("accepted", (function () {
103 _$jscoverage['request.js'][142]++;
104 var accept = this.get("Accept");
105 _$jscoverage['request.js'][143]++;
106 return accept? utils.parseAccept(accept): [];
107}));
108_$jscoverage['request.js'][161]++;
109req.__defineGetter__("acceptedLanguages", (function () {
110 _$jscoverage['request.js'][162]++;
111 var accept = this.get("Accept-Language");
112 _$jscoverage['request.js'][163]++;
113 return accept? utils.parseQuality(accept).map((function (obj) {
114 _$jscoverage['request.js'][167]++;
115 return obj.value;
116})): [];
117}));
118_$jscoverage['request.js'][185]++;
119req.__defineGetter__("acceptedCharsets", (function () {
120 _$jscoverage['request.js'][186]++;
121 var accept = this.get("Accept-Charset");
122 _$jscoverage['request.js'][187]++;
123 return accept? utils.parseQuality(accept).map((function (obj) {
124 _$jscoverage['request.js'][191]++;
125 return obj.value;
126})): [];
127}));
128_$jscoverage['request.js'][213]++;
129req.param = (function (name, defaultValue) {
130 _$jscoverage['request.js'][215]++;
131 if (this.body && undefined !== this.body[name]) {
132 _$jscoverage['request.js'][215]++;
133 return this.body[name];
134 }
135 _$jscoverage['request.js'][218]++;
136 if (this.params && this.params.hasOwnProperty(name) && undefined !== this.params[name]) {
137 _$jscoverage['request.js'][221]++;
138 return this.params[name];
139 }
140 _$jscoverage['request.js'][225]++;
141 if (undefined !== this.query[name]) {
142 _$jscoverage['request.js'][225]++;
143 return this.query[name];
144 }
145 _$jscoverage['request.js'][227]++;
146 return defaultValue;
147});
148_$jscoverage['request.js'][267]++;
149req.is = (function (type) {
150 _$jscoverage['request.js'][268]++;
151 var ct = this.get("Content-Type");
152 _$jscoverage['request.js'][269]++;
153 if (! ct) {
154 _$jscoverage['request.js'][269]++;
155 return false;
156 }
157 _$jscoverage['request.js'][270]++;
158 ct = ct.split(";")[0];
159 _$jscoverage['request.js'][271]++;
160 if (! ~ type.indexOf("/")) {
161 _$jscoverage['request.js'][271]++;
162 type = mime.lookup(type);
163 }
164 _$jscoverage['request.js'][272]++;
165 if (~ type.indexOf("*")) {
166 _$jscoverage['request.js'][273]++;
167 type = type.split("/");
168 _$jscoverage['request.js'][274]++;
169 ct = ct.split("/");
170 _$jscoverage['request.js'][275]++;
171 if ("*" == type[0] && type[1] == ct[1]) {
172 _$jscoverage['request.js'][275]++;
173 return true;
174 }
175 _$jscoverage['request.js'][276]++;
176 if ("*" == type[1] && type[0] == ct[0]) {
177 _$jscoverage['request.js'][276]++;
178 return true;
179 }
180 _$jscoverage['request.js'][277]++;
181 return false;
182 }
183 _$jscoverage['request.js'][279]++;
184 return ! ! ~ ct.indexOf(type);
185});
186_$jscoverage['request.js'][294]++;
187req.__defineGetter__("protocol", (function (trustProxy) {
188 _$jscoverage['request.js'][295]++;
189 var trustProxy = this.app.settings["trust proxy"];
190 _$jscoverage['request.js'][296]++;
191 return this.secure? "https": trustProxy? (this.get("X-Forwarded-Proto") || "http"): "http";
192}));
193_$jscoverage['request.js'][310]++;
194req.__defineGetter__("secure", (function () {
195 _$jscoverage['request.js'][311]++;
196 return this.connection.encrypted;
197}));
198_$jscoverage['request.js'][324]++;
199req.__defineGetter__("subdomains", (function () {
200 _$jscoverage['request.js'][325]++;
201 return this.get("Host").split(".").slice(0, -2).reverse();
202}));
203_$jscoverage['request.js'][338]++;
204req.__defineGetter__("path", (function () {
205 _$jscoverage['request.js'][339]++;
206 return parse(this.url).pathname;
207}));
208_$jscoverage['request.js'][351]++;
209req.__defineGetter__("fresh", (function () {
210 _$jscoverage['request.js'][352]++;
211 return ! this.stale;
212}));
213_$jscoverage['request.js'][364]++;
214req.__defineGetter__("stale", (function () {
215 _$jscoverage['request.js'][365]++;
216 return connect.utils.modified(this, this.res);
217}));
218_$jscoverage['request.js'][375]++;
219req.__defineGetter__("xhr", (function () {
220 _$jscoverage['request.js'][376]++;
221 var val = this.get("X-Requested-With") || "";
222 _$jscoverage['request.js'][377]++;
223 return "xmlhttprequest" == val.toLowerCase();
224}));
225_$jscoverage['request.js'].source = ["","/*!"," * Express - request"," * Copyright(c) 2010 TJ Holowaychuk &lt;tj@vision-media.ca&gt;"," * MIT Licensed"," */","","/**"," * Module dependencies."," */","","var http = require('http')"," , utils = require('./utils')"," , connect = require('connect')"," , parse = require('url').parse"," , mime = require('mime');","","/**"," * Request prototype."," */","","var req = exports = module.exports = {"," __proto__: http.IncomingMessage.prototype","};","","/**"," * Return request header."," *"," * The `Referrer` header field is special-cased,"," * both `Referrer` and `Referer` will yield are"," * interchangeable."," *"," * Examples:"," *"," * req.get('Content-Type');"," * // =&gt; \"text/plain\""," * "," * req.get('content-type');"," * // =&gt; \"text/plain\""," * "," * req.get('Something');"," * // =&gt; undefined"," * "," * @param {String} name"," * @return {String} "," * @api public"," */","","req.get = function(name){"," switch (name = name.toLowerCase()) {"," case 'referer':"," case 'referrer':"," return this.headers.referrer"," || this.headers.referer;"," default:"," return this.headers[name];"," }","};","","/**"," * Check if the given `type` is acceptable,"," * otherwise you should respond with 406 \"Not Acceptable\"."," *"," * Examples:"," * "," * // Accept: text/html"," * req.accepts('html');"," * // =&gt; true"," *"," * // Accept: text/*; application/json"," * req.accepts('html');"," * req.accepts('text/html');"," * req.accepts('text/plain');"," * req.accepts('application/json');"," * // =&gt; true"," *"," * req.accepts('image/png');"," * req.accepts('png');"," * // =&gt; false"," *"," * @param {String} type"," * @return {Boolean}"," * @api public"," */","","req.accepts = function(type){"," return utils.accepts(type, this.get('Accept'));","};","","/**"," * Check if the given `charset` is acceptable,"," * otherwise you should respond with 406 \"Not Acceptable\"."," *"," * @param {String} charset"," * @return {Boolean}"," * @api public"," */","","req.acceptsCharset = function(charset){"," var accepted = this.acceptedCharsets;"," return accepted.length"," ? ~accepted.indexOf(charset)"," : true;","};","","/**"," * Check if the given `lang` is acceptable,"," * otherwise you should respond with 406 \"Not Acceptable\"."," *"," * @param {String} lang"," * @return {Boolean}"," * @api public"," */","","req.acceptsLanguage = function(lang){"," var accepted = this.acceptedLanguages;"," return accepted.length"," ? ~accepted.indexOf(lang)"," : true;","};","","/**"," * Return an array of Accepted media types"," * ordered from highest quality to lowest."," *"," * Examples:"," *"," * [ { value: 'application/json',"," * quality: 1,"," * type: 'application',"," * subtype: 'json' },"," * { value: 'text/html',"," * quality: 0.5,"," * type: 'text',"," * subtype: 'html' } ]"," *"," * @return {Array}"," * @api public"," */","","req.__defineGetter__('accepted', function(){"," var accept = this.get('Accept');"," return accept"," ? utils.parseAccept(accept)"," : [];","});","","/**"," * Return an array of Accepted languages"," * ordered from highest quality to lowest."," *"," * Examples:"," *"," * Accept-Language: en;q=.5, en-us"," * ['en-us', 'en']"," *"," * @return {Array}"," * @api public"," */","","req.__defineGetter__('acceptedLanguages', function(){"," var accept = this.get('Accept-Language');"," return accept"," ? utils"," .parseQuality(accept)"," .map(function(obj){"," return obj.value;"," })"," : [];","});","","/**"," * Return an array of Accepted charsets"," * ordered from highest quality to lowest."," *"," * Examples:"," *"," * Accept-Charset: iso-8859-5;q=.2, unicode-1-1;q=0.8"," * ['unicode-1-1', 'iso-8859-5']"," *"," * @return {Array}"," * @api public"," */","","req.__defineGetter__('acceptedCharsets', function(){"," var accept = this.get('Accept-Charset');"," return accept"," ? utils"," .parseQuality(accept)"," .map(function(obj){"," return obj.value;"," })"," : [];","});","","/**"," * Return the value of param `name` when present or `defaultValue`."," *"," * - Checks body params, ex: id=12, {\"id\":12}"," * - Checks route placeholders, ex: _/user/:id_"," * - Checks query string params, ex: ?id=12"," *"," * To utilize request bodies, `req.body`"," * should be an object. This can be done by using"," * the `connect.bodyParser()` middleware."," *"," * @param {String} name"," * @param {Mixed} defaultValue"," * @return {String}"," * @api public"," */","","req.param = function(name, defaultValue){"," // req.body"," if (this.body &amp;&amp; undefined !== this.body[name]) return this.body[name];",""," // route params"," if (this.params"," &amp;&amp; this.params.hasOwnProperty(name)"," &amp;&amp; undefined !== this.params[name]) {"," return this.params[name]; "," }",""," // query-string"," if (undefined !== this.query[name]) return this.query[name]; ",""," return defaultValue;","};","","/**"," * Check if the incoming request contains the \"Content-Type\" "," * header field, and it contains the give mime `type`."," *"," * Examples:"," *"," * // With Content-Type: text/html; charset=utf-8"," * req.is('html');"," * req.is('text/html');"," * req.is('text/*');"," * // =&gt; true"," * "," * // When Content-Type is application/json"," * req.is('json');"," * req.is('application/json');"," * req.is('application/*');"," * // =&gt; true"," * "," * req.is('html');"," * // =&gt; false"," * "," * Now within our route callbacks, we can use to to assert content types"," * such as \"image/jpeg\", \"image/png\", etc."," * "," * app.post('/image/upload', function(req, res, next){"," * if (req.is('image/*')) {"," * // do something"," * } else {"," * next();"," * }"," * });"," * "," * @param {String} type"," * @return {Boolean}"," * @api public"," */","","req.is = function(type){"," var ct = this.get('Content-Type');"," if (!ct) return false;"," ct = ct.split(';')[0];"," if (!~type.indexOf('/')) type = mime.lookup(type);"," if (~type.indexOf('*')) {"," type = type.split('/');"," ct = ct.split('/');"," if ('*' == type[0] &amp;&amp; type[1] == ct[1]) return true;"," if ('*' == type[1] &amp;&amp; type[0] == ct[0]) return true;"," return false;"," }"," return !! ~ct.indexOf(type);","};","","/**"," * Return the protocol string \"http\" or \"https\""," * when requested with TLS. When the \"trust proxy\" "," * setting is enabled the \"X-Forwarded-Proto\" header"," * field will be trusted. If you're running behind"," * a reverse proxy that supplies https for you this"," * may be enabled."," *"," * @return {String}"," * @api public"," */","","req.__defineGetter__('protocol', function(trustProxy){"," var trustProxy = this.app.settings['trust proxy'];"," return this.secure"," ? 'https'"," : trustProxy"," ? (this.get('X-Forwarded-Proto') || 'http')"," : 'http';","});","","/**"," * Short-hand for `req.connection.encrypted`."," *"," * @return {Boolean}"," * @api public"," */","","req.__defineGetter__('secure', function(){"," return this.connection.encrypted;","});","","/**"," * Return subdomains as an array."," *"," * For example \"tobi.ferrets.example.com\""," * would provide `[\"ferrets\", \"tobi\"]`."," *"," * @return {Array}"," * @api public"," */","","req.__defineGetter__('subdomains', function(){"," return this.get('Host')"," .split('.')"," .slice(0, -2)"," .reverse();","});","","/**"," * Short-hand for `require('url').parse(req.url).pathname`."," *"," * @return {String}"," * @api public"," */","","req.__defineGetter__('path', function(){"," return parse(this.url).pathname;","});","","/**"," * Check if the request is fresh, aka"," * Last-Modified and/or the ETag"," * still match."," *"," * @return {Boolean}"," * @api public"," */","","req.__defineGetter__('fresh', function(){"," return ! this.stale;","});","","/**"," * Check if the request is stale, aka"," * \"Last-Modified\" and / or the \"ETag\" for the"," * resource has changed."," *"," * @return {Boolean}"," * @api public"," */","","req.__defineGetter__('stale', function(){"," return connect.utils.modified(this, this.res);","});","","/**"," * Check if the request was an _XMLHttpRequest_."," *"," * @return {Boolean}"," * @api public"," */","","req.__defineGetter__('xhr', function(){"," var val = this.get('X-Requested-With') || '';"," return 'xmlhttprequest' == val.toLowerCase();","});"];
diff --git a/node_modules/express/lib-cov/response.js b/node_modules/express/lib-cov/response.js
new file mode 100644
index 0000000..a33f97e
--- /dev/null
+++ b/node_modules/express/lib-cov/response.js
@@ -0,0 +1,611 @@
1/* automatically generated by JSCoverage - do not edit */
2if (typeof _$jscoverage === 'undefined') _$jscoverage = {};
3if (! _$jscoverage['response.js']) {
4 _$jscoverage['response.js'] = [];
5 _$jscoverage['response.js'][12] = 0;
6 _$jscoverage['response.js'][28] = 0;
7 _$jscoverage['response.js'][40] = 0;
8 _$jscoverage['response.js'][41] = 0;
9 _$jscoverage['response.js'][42] = 0;
10 _$jscoverage['response.js'][58] = 0;
11 _$jscoverage['response.js'][59] = 0;
12 _$jscoverage['response.js'][60] = 0;
13 _$jscoverage['response.js'][61] = 0;
14 _$jscoverage['response.js'][62] = 0;
15 _$jscoverage['response.js'][82] = 0;
16 _$jscoverage['response.js'][83] = 0;
17 _$jscoverage['response.js'][87] = 0;
18 _$jscoverage['response.js'][88] = 0;
19 _$jscoverage['response.js'][89] = 0;
20 _$jscoverage['response.js'][92] = 0;
21 _$jscoverage['response.js'][95] = 0;
22 _$jscoverage['response.js'][96] = 0;
23 _$jscoverage['response.js'][97] = 0;
24 _$jscoverage['response.js'][98] = 0;
25 _$jscoverage['response.js'][101] = 0;
26 _$jscoverage['response.js'][102] = 0;
27 _$jscoverage['response.js'][103] = 0;
28 _$jscoverage['response.js'][105] = 0;
29 _$jscoverage['response.js'][108] = 0;
30 _$jscoverage['response.js'][109] = 0;
31 _$jscoverage['response.js'][110] = 0;
32 _$jscoverage['response.js'][111] = 0;
33 _$jscoverage['response.js'][113] = 0;
34 _$jscoverage['response.js'][115] = 0;
35 _$jscoverage['response.js'][119] = 0;
36 _$jscoverage['response.js'][120] = 0;
37 _$jscoverage['response.js'][126] = 0;
38 _$jscoverage['response.js'][127] = 0;
39 _$jscoverage['response.js'][128] = 0;
40 _$jscoverage['response.js'][129] = 0;
41 _$jscoverage['response.js'][133] = 0;
42 _$jscoverage['response.js'][134] = 0;
43 _$jscoverage['response.js'][153] = 0;
44 _$jscoverage['response.js'][155] = 0;
45 _$jscoverage['response.js'][156] = 0;
46 _$jscoverage['response.js'][157] = 0;
47 _$jscoverage['response.js'][160] = 0;
48 _$jscoverage['response.js'][167] = 0;
49 _$jscoverage['response.js'][168] = 0;
50 _$jscoverage['response.js'][170] = 0;
51 _$jscoverage['response.js'][171] = 0;
52 _$jscoverage['response.js'][172] = 0;
53 _$jscoverage['response.js'][175] = 0;
54 _$jscoverage['response.js'][198] = 0;
55 _$jscoverage['response.js'][199] = 0;
56 _$jscoverage['response.js'][205] = 0;
57 _$jscoverage['response.js'][206] = 0;
58 _$jscoverage['response.js'][207] = 0;
59 _$jscoverage['response.js'][211] = 0;
60 _$jscoverage['response.js'][212] = 0;
61 _$jscoverage['response.js'][214] = 0;
62 _$jscoverage['response.js'][219] = 0;
63 _$jscoverage['response.js'][222] = 0;
64 _$jscoverage['response.js'][225] = 0;
65 _$jscoverage['response.js'][228] = 0;
66 _$jscoverage['response.js'][230] = 0;
67 _$jscoverage['response.js'][233] = 0;
68 _$jscoverage['response.js'][237] = 0;
69 _$jscoverage['response.js'][238] = 0;
70 _$jscoverage['response.js'][255] = 0;
71 _$jscoverage['response.js'][257] = 0;
72 _$jscoverage['response.js'][258] = 0;
73 _$jscoverage['response.js'][259] = 0;
74 _$jscoverage['response.js'][262] = 0;
75 _$jscoverage['response.js'][285] = 0;
76 _$jscoverage['response.js'][287] = 0;
77 _$jscoverage['response.js'][341] = 0;
78 _$jscoverage['response.js'][342] = 0;
79 _$jscoverage['response.js'][352] = 0;
80 _$jscoverage['response.js'][353] = 0;
81 _$jscoverage['response.js'][354] = 0;
82 _$jscoverage['response.js'][361] = 0;
83 _$jscoverage['response.js'][363] = 0;
84 _$jscoverage['response.js'][364] = 0;
85 _$jscoverage['response.js'][365] = 0;
86 _$jscoverage['response.js'][366] = 0;
87 _$jscoverage['response.js'][367] = 0;
88 _$jscoverage['response.js'][373] = 0;
89 _$jscoverage['response.js'][374] = 0;
90 _$jscoverage['response.js'][375] = 0;
91 _$jscoverage['response.js'][378] = 0;
92 _$jscoverage['response.js'][379] = 0;
93 _$jscoverage['response.js'][380] = 0;
94 _$jscoverage['response.js'][382] = 0;
95 _$jscoverage['response.js'][383] = 0;
96 _$jscoverage['response.js'][384] = 0;
97 _$jscoverage['response.js'][385] = 0;
98 _$jscoverage['response.js'][388] = 0;
99 _$jscoverage['response.js'][399] = 0;
100 _$jscoverage['response.js'][400] = 0;
101 _$jscoverage['response.js'][401] = 0;
102 _$jscoverage['response.js'][404] = 0;
103 _$jscoverage['response.js'][422] = 0;
104 _$jscoverage['response.js'][423] = 0;
105 _$jscoverage['response.js'][424] = 0;
106 _$jscoverage['response.js'][426] = 0;
107 _$jscoverage['response.js'][427] = 0;
108 _$jscoverage['response.js'][430] = 0;
109 _$jscoverage['response.js'][441] = 0;
110 _$jscoverage['response.js'][442] = 0;
111 _$jscoverage['response.js'][454] = 0;
112 _$jscoverage['response.js'][455] = 0;
113 _$jscoverage['response.js'][456] = 0;
114 _$jscoverage['response.js'][471] = 0;
115 _$jscoverage['response.js'][472] = 0;
116 _$jscoverage['response.js'][473] = 0;
117 _$jscoverage['response.js'][474] = 0;
118 _$jscoverage['response.js'][475] = 0;
119 _$jscoverage['response.js'][476] = 0;
120 _$jscoverage['response.js'][501] = 0;
121 _$jscoverage['response.js'][502] = 0;
122 _$jscoverage['response.js'][503] = 0;
123 _$jscoverage['response.js'][504] = 0;
124 _$jscoverage['response.js'][505] = 0;
125 _$jscoverage['response.js'][506] = 0;
126 _$jscoverage['response.js'][507] = 0;
127 _$jscoverage['response.js'][508] = 0;
128 _$jscoverage['response.js'][543] = 0;
129 _$jscoverage['response.js'][544] = 0;
130 _$jscoverage['response.js'][551] = 0;
131 _$jscoverage['response.js'][552] = 0;
132 _$jscoverage['response.js'][553] = 0;
133 _$jscoverage['response.js'][557] = 0;
134 _$jscoverage['response.js'][560] = 0;
135 _$jscoverage['response.js'][563] = 0;
136 _$jscoverage['response.js'][564] = 0;
137 _$jscoverage['response.js'][567] = 0;
138 _$jscoverage['response.js'][568] = 0;
139 _$jscoverage['response.js'][570] = 0;