├── .gitignore ├── LICENSE ├── README.md ├── example ├── canvas │ ├── canvas.css │ ├── canvas.js │ └── index.html ├── example.css ├── example.js ├── img │ ├── 01.jpg │ ├── 02.jpg │ ├── 03.jpg │ ├── 04.jpg │ ├── 05.jpg │ ├── 06.jpg │ ├── 07.jpg │ ├── 08.jpg │ ├── 09.jpg │ ├── 10.jpg │ ├── 11.jpg │ ├── 12.jpg │ ├── 13.jpg │ ├── 14.jpg │ ├── 15.jpg │ └── 16.jpg └── index.html ├── lib ├── html2canvas.js └── jquery.js ├── node_modules ├── .bin │ ├── express │ ├── express.cmd │ ├── node-http-proxy │ ├── node-http-proxy.cmd │ ├── node-supervisor │ ├── node-supervisor.cmd │ ├── supervisor │ └── supervisor.cmd ├── compass │ ├── .idea │ │ ├── .name │ │ ├── compiler.xml │ │ ├── copyright │ │ │ └── profiles_settings.xml │ │ ├── encodings.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── scopes │ │ │ └── scope_settings.xml │ │ ├── uiDesigner.xml │ │ ├── vcs.xml │ │ └── workspace.xml │ ├── README.md │ ├── compass.iml │ ├── index.js │ ├── lib │ │ └── compass.js │ ├── package.json │ └── test │ │ ├── compass.js │ │ └── fixtures │ │ ├── .sass-cache │ │ └── 1f7259e8396e612b16c5499bad1846b694132642 │ │ │ ├── _base.scssc │ │ │ └── style.scssc │ │ ├── config.rb │ │ └── sass │ │ ├── _base.scss │ │ └── style.scss ├── crypto │ ├── .md5.js.un~ │ ├── .package.json.un~ │ ├── .sha1.js.un~ │ ├── History.md │ ├── Readme.md │ ├── md5.js │ ├── package.json │ ├── sha1.js │ └── test │ │ └── test-crypto.js ├── express │ ├── .npmignore │ ├── .travis.yml │ ├── History.md │ ├── LICENSE │ ├── Makefile │ ├── Readme.md │ ├── bin │ │ └── express │ ├── client.js │ ├── index.js │ ├── lib │ │ ├── application.js │ │ ├── express.js │ │ ├── middleware.js │ │ ├── request.js │ │ ├── response.js │ │ ├── router │ │ │ ├── index.js │ │ │ └── route.js │ │ ├── utils.js │ │ └── view.js │ ├── node_modules │ │ ├── commander │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ └── commander.js │ │ │ └── package.json │ │ ├── connect │ │ │ ├── .npmignore │ │ │ ├── LICENSE │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── cache.js │ │ │ │ ├── connect.js │ │ │ │ ├── index.js │ │ │ │ ├── middleware │ │ │ │ │ ├── basicAuth.js │ │ │ │ │ ├── bodyParser.js │ │ │ │ │ ├── compress.js │ │ │ │ │ ├── cookieParser.js │ │ │ │ │ ├── cookieSession.js │ │ │ │ │ ├── csrf.js │ │ │ │ │ ├── directory.js │ │ │ │ │ ├── errorHandler.js │ │ │ │ │ ├── favicon.js │ │ │ │ │ ├── json.js │ │ │ │ │ ├── limit.js │ │ │ │ │ ├── logger.js │ │ │ │ │ ├── methodOverride.js │ │ │ │ │ ├── multipart.js │ │ │ │ │ ├── query.js │ │ │ │ │ ├── responseTime.js │ │ │ │ │ ├── session.js │ │ │ │ │ ├── session │ │ │ │ │ │ ├── cookie.js │ │ │ │ │ │ ├── memory.js │ │ │ │ │ │ ├── session.js │ │ │ │ │ │ └── store.js │ │ │ │ │ ├── static.js │ │ │ │ │ ├── staticCache.js │ │ │ │ │ ├── timeout.js │ │ │ │ │ ├── urlencoded.js │ │ │ │ │ └── vhost.js │ │ │ │ ├── patch.js │ │ │ │ ├── proto.js │ │ │ │ ├── public │ │ │ │ │ ├── directory.html │ │ │ │ │ ├── error.html │ │ │ │ │ ├── favicon.ico │ │ │ │ │ ├── icons │ │ │ │ │ │ ├── page.png │ │ │ │ │ │ ├── page_add.png │ │ │ │ │ │ ├── page_attach.png │ │ │ │ │ │ ├── page_code.png │ │ │ │ │ │ ├── page_copy.png │ │ │ │ │ │ ├── page_delete.png │ │ │ │ │ │ ├── page_edit.png │ │ │ │ │ │ ├── page_error.png │ │ │ │ │ │ ├── page_excel.png │ │ │ │ │ │ ├── page_find.png │ │ │ │ │ │ ├── page_gear.png │ │ │ │ │ │ ├── page_go.png │ │ │ │ │ │ ├── page_green.png │ │ │ │ │ │ ├── page_key.png │ │ │ │ │ │ ├── page_lightning.png │ │ │ │ │ │ ├── page_link.png │ │ │ │ │ │ ├── page_paintbrush.png │ │ │ │ │ │ ├── page_paste.png │ │ │ │ │ │ ├── page_red.png │ │ │ │ │ │ ├── page_refresh.png │ │ │ │ │ │ ├── page_save.png │ │ │ │ │ │ ├── page_white.png │ │ │ │ │ │ ├── page_white_acrobat.png │ │ │ │ │ │ ├── page_white_actionscript.png │ │ │ │ │ │ ├── page_white_add.png │ │ │ │ │ │ ├── page_white_c.png │ │ │ │ │ │ ├── page_white_camera.png │ │ │ │ │ │ ├── page_white_cd.png │ │ │ │ │ │ ├── page_white_code.png │ │ │ │ │ │ ├── page_white_code_red.png │ │ │ │ │ │ ├── page_white_coldfusion.png │ │ │ │ │ │ ├── page_white_compressed.png │ │ │ │ │ │ ├── page_white_copy.png │ │ │ │ │ │ ├── page_white_cplusplus.png │ │ │ │ │ │ ├── page_white_csharp.png │ │ │ │ │ │ ├── page_white_cup.png │ │ │ │ │ │ ├── page_white_database.png │ │ │ │ │ │ ├── page_white_delete.png │ │ │ │ │ │ ├── page_white_dvd.png │ │ │ │ │ │ ├── page_white_edit.png │ │ │ │ │ │ ├── page_white_error.png │ │ │ │ │ │ ├── page_white_excel.png │ │ │ │ │ │ ├── page_white_find.png │ │ │ │ │ │ ├── page_white_flash.png │ │ │ │ │ │ ├── page_white_freehand.png │ │ │ │ │ │ ├── page_white_gear.png │ │ │ │ │ │ ├── page_white_get.png │ │ │ │ │ │ ├── page_white_go.png │ │ │ │ │ │ ├── page_white_h.png │ │ │ │ │ │ ├── page_white_horizontal.png │ │ │ │ │ │ ├── page_white_key.png │ │ │ │ │ │ ├── page_white_lightning.png │ │ │ │ │ │ ├── page_white_link.png │ │ │ │ │ │ ├── page_white_magnify.png │ │ │ │ │ │ ├── page_white_medal.png │ │ │ │ │ │ ├── page_white_office.png │ │ │ │ │ │ ├── page_white_paint.png │ │ │ │ │ │ ├── page_white_paintbrush.png │ │ │ │ │ │ ├── page_white_paste.png │ │ │ │ │ │ ├── page_white_php.png │ │ │ │ │ │ ├── page_white_picture.png │ │ │ │ │ │ ├── page_white_powerpoint.png │ │ │ │ │ │ ├── page_white_put.png │ │ │ │ │ │ ├── page_white_ruby.png │ │ │ │ │ │ ├── page_white_stack.png │ │ │ │ │ │ ├── page_white_star.png │ │ │ │ │ │ ├── page_white_swoosh.png │ │ │ │ │ │ ├── page_white_text.png │ │ │ │ │ │ ├── page_white_text_width.png │ │ │ │ │ │ ├── page_white_tux.png │ │ │ │ │ │ ├── page_white_vector.png │ │ │ │ │ │ ├── page_white_visualstudio.png │ │ │ │ │ │ ├── page_white_width.png │ │ │ │ │ │ ├── page_white_word.png │ │ │ │ │ │ ├── page_white_world.png │ │ │ │ │ │ ├── page_white_wrench.png │ │ │ │ │ │ ├── page_white_zip.png │ │ │ │ │ │ ├── page_word.png │ │ │ │ │ │ └── page_world.png │ │ │ │ │ └── style.css │ │ │ │ └── utils.js │ │ │ ├── node_modules │ │ │ │ ├── bytes │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── History.md │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── component.json │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ ├── formidable │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── TODO │ │ │ │ │ ├── benchmark │ │ │ │ │ │ └── bench-multipart-parser.js │ │ │ │ │ ├── example │ │ │ │ │ │ ├── post.js │ │ │ │ │ │ └── upload.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── file.js │ │ │ │ │ │ ├── incoming_form.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── multipart_parser.js │ │ │ │ │ │ ├── querystring_parser.js │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── node-gently │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ ├── Readme.md │ │ │ │ │ │ ├── example │ │ │ │ │ │ │ ├── dog.js │ │ │ │ │ │ │ └── event_emitter.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ └── gently │ │ │ │ │ │ │ │ ├── gently.js │ │ │ │ │ │ │ │ └── index.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── common.js │ │ │ │ │ │ │ └── simple │ │ │ │ │ │ │ └── test-gently.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── test │ │ │ │ │ │ ├── common.js │ │ │ │ │ │ ├── fixture │ │ │ │ │ │ │ ├── file │ │ │ │ │ │ │ │ ├── funkyfilename.txt │ │ │ │ │ │ │ │ └── plain.txt │ │ │ │ │ │ │ ├── http │ │ │ │ │ │ │ │ └── special-chars-in-filename │ │ │ │ │ │ │ │ │ └── info.md │ │ │ │ │ │ │ ├── js │ │ │ │ │ │ │ │ ├── no-filename.js │ │ │ │ │ │ │ │ └── special-chars-in-filename.js │ │ │ │ │ │ │ └── multipart.js │ │ │ │ │ │ ├── integration │ │ │ │ │ │ │ └── test-fixtures.js │ │ │ │ │ │ ├── legacy │ │ │ │ │ │ │ ├── common.js │ │ │ │ │ │ │ ├── integration │ │ │ │ │ │ │ │ └── test-multipart-parser.js │ │ │ │ │ │ │ ├── simple │ │ │ │ │ │ │ │ ├── test-file.js │ │ │ │ │ │ │ │ ├── test-incoming-form.js │ │ │ │ │ │ │ │ ├── test-multipart-parser.js │ │ │ │ │ │ │ │ └── test-querystring-parser.js │ │ │ │ │ │ │ └── system │ │ │ │ │ │ │ │ └── test-multi-video-upload.js │ │ │ │ │ │ ├── run.js │ │ │ │ │ │ └── unit │ │ │ │ │ │ │ └── test-incoming-form.js │ │ │ │ │ └── tool │ │ │ │ │ │ └── record.js │ │ │ │ ├── pause │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── History.md │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ └── qs │ │ │ │ │ ├── .gitmodules │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── History.md │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── benchmark.js │ │ │ │ │ ├── examples.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── lib │ │ │ │ │ └── querystring.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── test │ │ │ │ │ ├── mocha.opts │ │ │ │ │ ├── parse.js │ │ │ │ │ └── stringify.js │ │ │ ├── package.json │ │ │ └── test.js │ │ ├── cookie │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ ├── mocha.opts │ │ │ │ ├── parse.js │ │ │ │ └── serialize.js │ │ ├── crc │ │ │ ├── .gitmodules │ │ │ ├── .npmignore │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── lib │ │ │ │ └── crc.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ └── crc.js │ │ ├── debug │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── debug.component.js │ │ │ ├── debug.js │ │ │ ├── example │ │ │ │ ├── app.js │ │ │ │ ├── browser.html │ │ │ │ ├── wildcards.js │ │ │ │ └── worker.js │ │ │ ├── head.js │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ └── debug.js │ │ │ ├── package.json │ │ │ └── tail.js │ │ ├── fresh │ │ │ ├── .npmignore │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── methods │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── mkdirp │ │ │ ├── .gitignore.orig │ │ │ ├── .gitignore.rej │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.markdown │ │ │ ├── examples │ │ │ │ ├── pow.js │ │ │ │ ├── pow.js.orig │ │ │ │ └── pow.js.rej │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ ├── chmod.js │ │ │ │ ├── clobber.js │ │ │ │ ├── mkdirp.js │ │ │ │ ├── perm.js │ │ │ │ ├── perm_sync.js │ │ │ │ ├── race.js │ │ │ │ ├── rel.js │ │ │ │ ├── return.js │ │ │ │ ├── return_sync.js │ │ │ │ ├── root.js │ │ │ │ ├── sync.js │ │ │ │ ├── umask.js │ │ │ │ └── umask_sync.js │ │ ├── range-parser │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ └── package.json │ │ └── send │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ ├── send.js │ │ │ └── utils.js │ │ │ ├── node_modules │ │ │ └── mime │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── mime.js │ │ │ │ ├── package.json │ │ │ │ ├── test.js │ │ │ │ └── types │ │ │ │ ├── mime.types │ │ │ │ └── node.types │ │ │ └── package.json │ ├── package.json │ └── test.js ├── http-proxy │ ├── .npmignore │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── benchmark │ │ └── websockets-throughput.js │ ├── bin │ │ └── node-http-proxy │ ├── config.sample.json │ ├── examples │ │ ├── balancer │ │ │ ├── simple-balancer-with-websockets.js │ │ │ └── simple-balancer.js │ │ ├── helpers │ │ │ └── store.js │ │ ├── http │ │ │ ├── basic-proxy.js │ │ │ ├── concurrent-proxy.js │ │ │ ├── custom-proxy-error.js │ │ │ ├── forward-proxy.js │ │ │ ├── latent-proxy.js │ │ │ ├── proxy-https-to-http.js │ │ │ ├── proxy-https-to-https.js │ │ │ ├── proxy-table.js │ │ │ └── standalone-proxy.js │ │ ├── middleware │ │ │ ├── bodyDecoder-middleware.js │ │ │ ├── gzip-middleware-proxytable.js │ │ │ ├── gzip-middleware.js │ │ │ ├── jsonp-middleware.js │ │ │ ├── modifyResponse-middleware.js │ │ │ ├── url-middleware.js │ │ │ └── url-middleware2.js │ │ ├── package.json │ │ └── websocket │ │ │ ├── latent-websocket-proxy.js │ │ │ ├── standalone-websocket-proxy.js │ │ │ └── websocket-proxy.js │ ├── lib │ │ ├── node-http-proxy.js │ │ └── node-http-proxy │ │ │ ├── http-proxy.js │ │ │ ├── proxy-table.js │ │ │ └── routing-proxy.js │ ├── node_modules │ │ ├── colors │ │ │ ├── MIT-LICENSE.txt │ │ │ ├── ReadMe.md │ │ │ ├── colors.js │ │ │ ├── example.html │ │ │ ├── example.js │ │ │ ├── package.json │ │ │ └── test.js │ │ ├── optimist │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── example │ │ │ │ ├── bool.js │ │ │ │ ├── boolean_double.js │ │ │ │ ├── boolean_single.js │ │ │ │ ├── default_hash.js │ │ │ │ ├── default_singles.js │ │ │ │ ├── divide.js │ │ │ │ ├── line_count.js │ │ │ │ ├── line_count_options.js │ │ │ │ ├── line_count_wrap.js │ │ │ │ ├── nonopt.js │ │ │ │ ├── reflect.js │ │ │ │ ├── short.js │ │ │ │ ├── string.js │ │ │ │ ├── usage-options.js │ │ │ │ └── xup.js │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ └── wordwrap │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── README.markdown │ │ │ │ │ ├── example │ │ │ │ │ ├── center.js │ │ │ │ │ └── meat.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── test │ │ │ │ │ ├── break.js │ │ │ │ │ ├── idleness.txt │ │ │ │ │ └── wrap.js │ │ │ ├── package.json │ │ │ ├── readme.markdown │ │ │ └── test │ │ │ │ ├── _.js │ │ │ │ ├── _ │ │ │ │ ├── argv.js │ │ │ │ └── bin.js │ │ │ │ ├── parse.js │ │ │ │ └── usage.js │ │ ├── pkginfo │ │ │ ├── .npmignore │ │ │ ├── README.md │ │ │ ├── docs │ │ │ │ ├── docco.css │ │ │ │ └── pkginfo.html │ │ │ ├── examples │ │ │ │ ├── all-properties.js │ │ │ │ ├── array-argument.js │ │ │ │ ├── multiple-properties.js │ │ │ │ ├── object-argument.js │ │ │ │ ├── package.json │ │ │ │ └── single-property.js │ │ │ ├── lib │ │ │ │ └── pkginfo.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ └── pkginfo-test.js │ │ └── utile │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── lib │ │ │ ├── args.js │ │ │ ├── base64.js │ │ │ ├── file.js │ │ │ ├── format.js │ │ │ └── index.js │ │ │ ├── node_modules │ │ │ ├── .bin │ │ │ │ ├── ncp │ │ │ │ └── ncp.cmd │ │ │ ├── async │ │ │ │ ├── .gitmodules │ │ │ │ ├── .npmignore │ │ │ │ ├── LICENSE │ │ │ │ ├── Makefile │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ └── async.js │ │ │ │ └── package.json │ │ │ ├── deep-equal │ │ │ │ ├── README.markdown │ │ │ │ ├── example │ │ │ │ │ └── cmp.js │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── test │ │ │ │ │ └── cmp.js │ │ │ ├── i │ │ │ │ ├── .npmignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── lib │ │ │ │ │ ├── defaults.js │ │ │ │ │ ├── inflect.js │ │ │ │ │ ├── inflections.js │ │ │ │ │ ├── methods.js │ │ │ │ │ ├── native.js │ │ │ │ │ └── util.js │ │ │ │ ├── package.json │ │ │ │ └── test │ │ │ │ │ ├── inflector │ │ │ │ │ ├── cases.js │ │ │ │ │ ├── inflections-test.js │ │ │ │ │ └── methods-test.js │ │ │ │ │ └── utils │ │ │ │ │ ├── array-test.js │ │ │ │ │ └── string-test.js │ │ │ ├── mkdirp │ │ │ │ ├── .npmignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── examples │ │ │ │ │ └── pow.js │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ ├── readme.markdown │ │ │ │ └── test │ │ │ │ │ ├── chmod.js │ │ │ │ │ ├── clobber.js │ │ │ │ │ ├── mkdirp.js │ │ │ │ │ ├── perm.js │ │ │ │ │ ├── perm_sync.js │ │ │ │ │ ├── race.js │ │ │ │ │ ├── rel.js │ │ │ │ │ ├── return.js │ │ │ │ │ ├── return_sync.js │ │ │ │ │ ├── root.js │ │ │ │ │ ├── sync.js │ │ │ │ │ ├── umask.js │ │ │ │ │ └── umask_sync.js │ │ │ ├── ncp │ │ │ │ ├── .npmignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE.md │ │ │ │ ├── README.md │ │ │ │ ├── bin │ │ │ │ │ └── ncp │ │ │ │ ├── lib │ │ │ │ │ └── ncp.js │ │ │ │ ├── package.json │ │ │ │ └── test │ │ │ │ │ ├── fixtures │ │ │ │ │ └── src │ │ │ │ │ │ ├── a │ │ │ │ │ │ ├── b │ │ │ │ │ │ ├── c │ │ │ │ │ │ ├── d │ │ │ │ │ │ ├── e │ │ │ │ │ │ ├── f │ │ │ │ │ │ └── sub │ │ │ │ │ │ ├── a │ │ │ │ │ │ └── b │ │ │ │ │ └── ncp-test.js │ │ │ └── rimraf │ │ │ │ ├── AUTHORS │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── fiber.js │ │ │ │ ├── package.json │ │ │ │ ├── rimraf.js │ │ │ │ └── test │ │ │ │ ├── run.sh │ │ │ │ ├── setup.sh │ │ │ │ ├── test-async.js │ │ │ │ ├── test-fiber.js │ │ │ │ └── test-sync.js │ │ │ ├── package.json │ │ │ └── test │ │ │ ├── file-test.js │ │ │ ├── fixtures │ │ │ ├── read-json-file │ │ │ │ └── config.json │ │ │ └── require-directory │ │ │ │ ├── directory │ │ │ │ └── index.js │ │ │ │ └── helloWorld.js │ │ │ ├── format-test.js │ │ │ ├── function-args-test.js │ │ │ ├── helpers │ │ │ └── macros.js │ │ │ ├── random-string-test.js │ │ │ ├── require-directory-test.js │ │ │ └── utile-test.js │ ├── package.json │ └── test │ │ ├── core │ │ ├── README.md │ │ ├── common.js │ │ ├── pummel │ │ │ └── test-http-upload-timeout.js │ │ ├── run │ │ ├── run-single │ │ └── simple │ │ │ ├── test-http-chunked.js │ │ │ ├── test-http-client-abort.js │ │ │ ├── test-http-client-abort2.js │ │ │ ├── test-http-client-upload-buf.js │ │ │ ├── test-http-client-upload.js │ │ │ ├── test-http-contentLength0.js │ │ │ ├── test-http-eof-on-connect.js │ │ │ ├── test-http-extra-response.js │ │ │ ├── test-http-head-request.js │ │ │ ├── test-http-head-response-has-no-body-end.js │ │ │ ├── test-http-head-response-has-no-body.js │ │ │ ├── test-http-host-headers.js │ │ │ ├── test-http-many-keep-alive-connections.js │ │ │ ├── test-http-multi-line-headers.js │ │ │ ├── test-http-proxy.js │ │ │ ├── test-http-response-close.js │ │ │ ├── test-http-server-multiheaders.js │ │ │ ├── test-http-set-cookies.js │ │ │ ├── test-http-status-code.js │ │ │ ├── test-http-upgrade-server2.js │ │ │ └── test-http.js │ │ ├── examples-test.js │ │ ├── fixtures │ │ ├── agent2-cert.pem │ │ ├── agent2-csr.pem │ │ ├── agent2-key.pem │ │ └── agent2.cnf │ │ ├── helpers │ │ ├── http.js │ │ ├── index.js │ │ └── ws.js │ │ ├── http │ │ ├── http-test.js │ │ └── routing-table-test.js │ │ ├── macros │ │ ├── examples.js │ │ ├── http.js │ │ ├── index.js │ │ └── ws.js │ │ └── ws │ │ ├── routing-table-test.js │ │ ├── socket.io-test.js │ │ └── ws-test.js ├── request │ ├── LICENSE │ ├── README.md │ ├── aws.js │ ├── forever.js │ ├── main.js │ ├── node_modules │ │ ├── form-data │ │ │ ├── .npmignore │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── lib │ │ │ │ └── form_data.js │ │ │ ├── node-form-data.sublime-project │ │ │ ├── node-form-data.sublime-workspace │ │ │ ├── node_modules │ │ │ │ ├── async │ │ │ │ │ ├── .gitmodules │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README.md │ │ │ │ │ ├── async.min.js.gzip │ │ │ │ │ ├── deps │ │ │ │ │ │ ├── nodeunit.css │ │ │ │ │ │ └── nodeunit.js │ │ │ │ │ ├── dist │ │ │ │ │ │ └── async.min.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── lib │ │ │ │ │ │ └── async.js │ │ │ │ │ ├── nodelint.cfg │ │ │ │ │ ├── package.json │ │ │ │ │ └── test │ │ │ │ │ │ ├── .swp │ │ │ │ │ │ ├── test-async.js │ │ │ │ │ │ └── test.html │ │ │ │ └── combined-stream │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── License │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── lib │ │ │ │ │ └── combined_stream.js │ │ │ │ │ ├── node_modules │ │ │ │ │ └── delayed-stream │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ ├── License │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ ├── Readme.md │ │ │ │ │ │ ├── lib │ │ │ │ │ │ └── delayed_stream.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── test │ │ │ │ │ │ ├── common.js │ │ │ │ │ │ ├── integration │ │ │ │ │ │ ├── test-delayed-http-upload.js │ │ │ │ │ │ ├── test-delayed-stream-auto-pause.js │ │ │ │ │ │ ├── test-delayed-stream-pause.js │ │ │ │ │ │ ├── test-delayed-stream.js │ │ │ │ │ │ ├── test-handle-source-errors.js │ │ │ │ │ │ ├── test-max-data-size.js │ │ │ │ │ │ ├── test-pipe-resumes.js │ │ │ │ │ │ └── test-proxy-readable.js │ │ │ │ │ │ └── run.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── test │ │ │ │ │ ├── common.js │ │ │ │ │ ├── fixture │ │ │ │ │ ├── file1.txt │ │ │ │ │ └── file2.txt │ │ │ │ │ ├── integration │ │ │ │ │ ├── test-callback-streams.js │ │ │ │ │ ├── test-data-size.js │ │ │ │ │ ├── test-delayed-streams-and-buffers-and-strings.js │ │ │ │ │ ├── test-delayed-streams.js │ │ │ │ │ ├── test-max-data-size.js │ │ │ │ │ └── test-unpaused-streams.js │ │ │ │ │ └── run.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ ├── common.js │ │ │ │ ├── fixture │ │ │ │ ├── bacon.txt │ │ │ │ └── unicycle.jpg │ │ │ │ ├── integration │ │ │ │ ├── test-form-get-length.js │ │ │ │ ├── test-get-boundary.js │ │ │ │ ├── test-http-response.js │ │ │ │ ├── test-pipe.js │ │ │ │ └── test-submit.js │ │ │ │ └── run.js │ │ └── mime │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── mime.js │ │ │ ├── package.json │ │ │ ├── test.js │ │ │ └── types │ │ │ ├── mime.types │ │ │ └── node.types │ ├── oauth.js │ ├── package.json │ ├── tests │ │ ├── googledoodle.png │ │ ├── run.js │ │ ├── server.js │ │ ├── squid.conf │ │ ├── ssl │ │ │ ├── ca │ │ │ │ ├── ca.cnf │ │ │ │ ├── ca.crl │ │ │ │ ├── ca.crt │ │ │ │ ├── ca.csr │ │ │ │ ├── ca.key │ │ │ │ ├── ca.srl │ │ │ │ ├── server.cnf │ │ │ │ ├── server.crt │ │ │ │ ├── server.csr │ │ │ │ ├── server.js │ │ │ │ └── server.key │ │ │ ├── npm-ca.crt │ │ │ ├── test.crt │ │ │ └── test.key │ │ ├── test-body.js │ │ ├── test-cookie.js │ │ ├── test-cookiejar.js │ │ ├── test-defaults.js │ │ ├── test-errors.js │ │ ├── test-follow-all-303.js │ │ ├── test-follow-all.js │ │ ├── test-form.js │ │ ├── test-headers.js │ │ ├── test-httpModule.js │ │ ├── test-https-strict.js │ │ ├── test-https.js │ │ ├── test-oauth.js │ │ ├── test-params.js │ │ ├── test-piped-redirect.js │ │ ├── test-pipes.js │ │ ├── test-pool.js │ │ ├── test-protocol-changing-redirect.js │ │ ├── test-proxy.js │ │ ├── test-qs.js │ │ ├── test-redirect.js │ │ ├── test-s3.js │ │ ├── test-timeout.js │ │ ├── test-toJSON.js │ │ ├── test-tunnel.js │ │ └── unicycle.jpg │ ├── tunnel.js │ ├── uuid.js │ └── vendor │ │ └── cookie │ │ ├── index.js │ │ └── jar.js ├── supervisor │ ├── README.md │ ├── lib │ │ ├── cli-wrapper.js │ │ └── supervisor.js │ ├── package.json │ └── package.json.orig └── underscore │ ├── .npmignore │ ├── CNAME │ ├── LICENSE │ ├── README.md │ ├── favicon.ico │ ├── index.html │ ├── index.js │ ├── package.json │ ├── raw │ └── underscore.psd │ ├── underscore-min.js │ └── underscore.js ├── server.js └── src ├── genie.css ├── genie.js └── jquery.genie.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Kamil Pekala (kamilkp@gmail.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | GenieJS 2 | ======= 3 | 4 | Genie effect in a browser. The genie.js library doesn't require any additional libraries (e.g. jQuery to work). However a conveniance jQuery plugin is also included that wraps calls to genieJS. In order to perform genie effect transitions on HTML elements (not just images) the html2canvas.js library is also required. -------------------------------------------------------------------------------- /example/canvas/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Genie with html2canvas 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | 25 | -------------------------------------------------------------------------------- /example/example.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(fn, undefined){ 2 | var lastExpandedElement, 3 | lastExpandedDir, 4 | callbackFn = function(){ 5 | console.log('%cgenie animation finished', "color: teal"); 6 | }; 7 | $(document).on('click', function(ev){ 8 | var target = $(ev.target); 9 | if (target.hasClass('genie-thumb')) { 10 | var dir = /dock-\S+(\s|$)/.exec(target.parent().parent()[0].className)[0].slice(5); 11 | lastExpandedElement = target; 12 | lastExpandedDir = dir; 13 | target.genieExpand($('#genie-target'), [dir], null, callbackFn); 14 | } 15 | else if(target.hasClass('genie')){ 16 | if(!!lastExpandedElement) 17 | target.genieCollapse(lastExpandedElement, [lastExpandedDir], null, callbackFn); 18 | lastExpandedElement = undefined; 19 | lastExpandedDir = undefined; 20 | } 21 | }); 22 | }); -------------------------------------------------------------------------------- /example/img/01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/example/img/01.jpg -------------------------------------------------------------------------------- /example/img/02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/example/img/02.jpg -------------------------------------------------------------------------------- /example/img/03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/example/img/03.jpg -------------------------------------------------------------------------------- /example/img/04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/example/img/04.jpg -------------------------------------------------------------------------------- /example/img/05.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/example/img/05.jpg -------------------------------------------------------------------------------- /example/img/06.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/example/img/06.jpg -------------------------------------------------------------------------------- /example/img/07.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/example/img/07.jpg -------------------------------------------------------------------------------- /example/img/08.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/example/img/08.jpg -------------------------------------------------------------------------------- /example/img/09.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/example/img/09.jpg -------------------------------------------------------------------------------- /example/img/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/example/img/10.jpg -------------------------------------------------------------------------------- /example/img/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/example/img/11.jpg -------------------------------------------------------------------------------- /example/img/12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/example/img/12.jpg -------------------------------------------------------------------------------- /example/img/13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/example/img/13.jpg -------------------------------------------------------------------------------- /example/img/14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/example/img/14.jpg -------------------------------------------------------------------------------- /example/img/15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/example/img/15.jpg -------------------------------------------------------------------------------- /example/img/16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/example/img/16.jpg -------------------------------------------------------------------------------- /node_modules/.bin/express: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=`dirname "$0"` 3 | 4 | case `uname` in 5 | *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | "$basedir/node" "$basedir/../express/bin/express" "$@" 10 | ret=$? 11 | else 12 | node "$basedir/../express/bin/express" "$@" 13 | ret=$? 14 | fi 15 | exit $ret 16 | -------------------------------------------------------------------------------- /node_modules/.bin/express.cmd: -------------------------------------------------------------------------------- 1 | :: Created by npm, please don't edit manually. 2 | @IF EXIST "%~dp0\node.exe" ( 3 | "%~dp0\node.exe" "%~dp0\..\express\bin\express" %* 4 | ) ELSE ( 5 | node "%~dp0\..\express\bin\express" %* 6 | ) -------------------------------------------------------------------------------- /node_modules/.bin/node-http-proxy: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=`dirname "$0"` 3 | 4 | case `uname` in 5 | *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | "$basedir/node" "$basedir/../http-proxy/bin/node-http-proxy" "$@" 10 | ret=$? 11 | else 12 | node "$basedir/../http-proxy/bin/node-http-proxy" "$@" 13 | ret=$? 14 | fi 15 | exit $ret 16 | -------------------------------------------------------------------------------- /node_modules/.bin/node-http-proxy.cmd: -------------------------------------------------------------------------------- 1 | :: Created by npm, please don't edit manually. 2 | @IF EXIST "%~dp0\node.exe" ( 3 | "%~dp0\node.exe" "%~dp0\..\http-proxy\bin\node-http-proxy" %* 4 | ) ELSE ( 5 | node "%~dp0\..\http-proxy\bin\node-http-proxy" %* 6 | ) -------------------------------------------------------------------------------- /node_modules/.bin/node-supervisor: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=`dirname "$0"` 3 | 4 | case `uname` in 5 | *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | "$basedir/node" "$basedir/../supervisor/lib/cli-wrapper.js" "$@" 10 | ret=$? 11 | else 12 | node "$basedir/../supervisor/lib/cli-wrapper.js" "$@" 13 | ret=$? 14 | fi 15 | exit $ret 16 | -------------------------------------------------------------------------------- /node_modules/.bin/node-supervisor.cmd: -------------------------------------------------------------------------------- 1 | :: Created by npm, please don't edit manually. 2 | @IF EXIST "%~dp0\node.exe" ( 3 | "%~dp0\node.exe" "%~dp0\..\supervisor\lib\cli-wrapper.js" %* 4 | ) ELSE ( 5 | node "%~dp0\..\supervisor\lib\cli-wrapper.js" %* 6 | ) -------------------------------------------------------------------------------- /node_modules/.bin/supervisor: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=`dirname "$0"` 3 | 4 | case `uname` in 5 | *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | "$basedir/node" "$basedir/../supervisor/lib/cli-wrapper.js" "$@" 10 | ret=$? 11 | else 12 | node "$basedir/../supervisor/lib/cli-wrapper.js" "$@" 13 | ret=$? 14 | fi 15 | exit $ret 16 | -------------------------------------------------------------------------------- /node_modules/.bin/supervisor.cmd: -------------------------------------------------------------------------------- 1 | :: Created by npm, please don't edit manually. 2 | @IF EXIST "%~dp0\node.exe" ( 3 | "%~dp0\node.exe" "%~dp0\..\supervisor\lib\cli-wrapper.js" %* 4 | ) ELSE ( 5 | node "%~dp0\..\supervisor\lib\cli-wrapper.js" %* 6 | ) -------------------------------------------------------------------------------- /node_modules/compass/.idea/.name: -------------------------------------------------------------------------------- 1 | compass -------------------------------------------------------------------------------- /node_modules/compass/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /node_modules/compass/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /node_modules/compass/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /node_modules/compass/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /node_modules/compass/.idea/scopes/scope_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /node_modules/compass/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /node_modules/compass/compass.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /node_modules/compass/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/compass'); -------------------------------------------------------------------------------- /node_modules/compass/lib/compass.js: -------------------------------------------------------------------------------- 1 | var exec = require('child_process').exec; 2 | 3 | /** 4 | * express middleware for serving compiled on-the-fly sass/scss files. 5 | * 6 | * @type {Function} 7 | */ 8 | var compass = module.exports = function(options) { 9 | return function(req, res, next) { 10 | compass.compile(options, function() { 11 | return next(); 12 | }); 13 | }; 14 | }; 15 | 16 | /** 17 | * compiles sass/scss files in the given directory 18 | * 19 | * @param {Object} options 20 | * @param {String} options.root cwd Current working directory for compass. 21 | * By default it take the program cwd. 22 | * 23 | * @param {Function} callback 24 | */ 25 | compass.compile = function(options, callback) { 26 | if ('function' == typeof options) { 27 | callback = options; 28 | } 29 | 30 | options = options || {}; 31 | options.cwd = options.cwd || process.cwd(); 32 | 33 | exec('compass compile', { cwd: options.cwd }, callback); 34 | } 35 | -------------------------------------------------------------------------------- /node_modules/compass/test/fixtures/.sass-cache/1f7259e8396e612b16c5499bad1846b694132642/_base.scssc: -------------------------------------------------------------------------------- 1 | 3.2.3 (Media Mark) 2 | 5fd8ba5d90849e3334ccfac4617ff1b2515ba3f1 3 | o:Sass::Tree::RootNode 4 | :@children[o:Sass::Tree::VariableNode : 5 | @nameI" woot:ET: 6 | @expro:Sass::Script::Number : @valuei9:@numerator_units[:@denominator_units[: 7 | @linei:@originalI" 1337; F: @options{: @guarded0;[;i;@ :@templateI"$woot: 1337;; T;i:@has_childrenT;@ -------------------------------------------------------------------------------- /node_modules/compass/test/fixtures/.sass-cache/1f7259e8396e612b16c5499bad1846b694132642/style.scssc: -------------------------------------------------------------------------------- 1 | 3.2.3 (Media Mark) 2 | 29ff9956103cf736d79e003d5658095e602a84d1 3 | o:Sass::Tree::RootNode 4 | :@children[o:Sass::Tree::ImportNode :@imported_filenameI" base:ET;[:@template0: 5 | @linei: @options{:@imported_file0o:Sass::Tree::RuleNode : 6 | @rule[I" body; T: 7 | @tabsi:@parsed_ruleso:"Sass::Selector::CommaSequence: @members[o:Sass::Selector::Sequence;[o:#Sass::Selector::SimpleSequence 8 | ;[o:Sass::Selector::Element : 9 | @name[I" body; T:@namespace0; i:@filenameI"; F: @subject0: @sourceso:Set: 10 | @hash{; i;@; i;@;[o:Sass::Tree::PropNode ;[I" 11 | width; T: @valueo:Sass::Script::Variable ;I" woot; T:@underscored_nameI" woot; T; i ; @ 12 | ;i:@prop_syntax:new;[; i ; @ 13 | ; i:@has_childrenT; @ 14 | ; 15 | I"-@import 'base'; 16 | 17 | body { 18 | width: $woot; 19 | }; T; i;$T; @ 20 | -------------------------------------------------------------------------------- /node_modules/compass/test/fixtures/config.rb: -------------------------------------------------------------------------------- 1 | http_path = "/" 2 | css_dir = "css" 3 | sass_dir = "sass" 4 | images_dir = "images" 5 | javascripts_dir = "js" 6 | fonts_dir = "fonts" 7 | output_style = :compressed 8 | 9 | # You can select your preferred output style here (can be overridden via the command line): 10 | # output_style = :expanded or :nested or :compact or :compressed 11 | 12 | # To enable relative paths to assets via compass helper functions. Uncomment: 13 | # relative_assets = true 14 | 15 | # To disable debugging comments that display the original location of your selectors. Uncomment: 16 | # line_comments = false 17 | 18 | 19 | # If you prefer the indented syntax, you might want to regenerate this 20 | # project again passing --syntax sass, or you can uncomment this: 21 | # preferred_syntax = :sass 22 | # and then run: 23 | # sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass 24 | -------------------------------------------------------------------------------- /node_modules/compass/test/fixtures/sass/_base.scss: -------------------------------------------------------------------------------- 1 | $woot: 1337; -------------------------------------------------------------------------------- /node_modules/compass/test/fixtures/sass/style.scss: -------------------------------------------------------------------------------- 1 | @import 'base'; 2 | 3 | body { 4 | width: $woot; 5 | } -------------------------------------------------------------------------------- /node_modules/crypto/.md5.js.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/crypto/.md5.js.un~ -------------------------------------------------------------------------------- /node_modules/crypto/.package.json.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/crypto/.package.json.un~ -------------------------------------------------------------------------------- /node_modules/crypto/.sha1.js.un~: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/crypto/.sha1.js.un~ -------------------------------------------------------------------------------- /node_modules/crypto/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.0.1 / 2010-01-03 3 | ================== 4 | 5 | * Initial release 6 | -------------------------------------------------------------------------------- /node_modules/crypto/Readme.md: -------------------------------------------------------------------------------- 1 | # crypto # 2 | 3 | JavaScript implementations of standard and secure cryptographic algorithms. 4 | 5 | ## Install ## 6 | 7 | npm install crypto 8 | 9 | -------------------------------------------------------------------------------- /node_modules/crypto/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "crypto", 3 | "id": "crypto", 4 | "version": "0.0.3", 5 | "description": "JavaScript implementations of standard and secure cryptographic algorithms.", 6 | "keywords": [ 7 | "crypto", 8 | "md5", 9 | "sha1" 10 | ], 11 | "author": { 12 | "name": "Irakli Gozalishvili", 13 | "email": "rfobic@gmail.com" 14 | }, 15 | "repository": { 16 | "type": "git", 17 | "url": "git://github.com/Gozala/crypto.git", 18 | "web": "https://github.com/Gozala/crypto" 19 | }, 20 | "bugs": { 21 | "url": "http://github.com/Gozala/crypto/issues/" 22 | }, 23 | "devDependencies": { 24 | "test": ">=0.0.10" 25 | }, 26 | "directories": { 27 | "lib": "./" 28 | }, 29 | "scripts": { 30 | "test": "node test/test-crypto.js" 31 | }, 32 | "licenses": [ 33 | { 34 | "type": "BSD", 35 | "url": "http://pajhome.org.uk/site/legal.html#bsdlicense" 36 | } 37 | ], 38 | "readme": "# crypto #\n\nJavaScript implementations of standard and secure cryptographic algorithms.\n\n## Install ##\n\n npm install crypto\n\n", 39 | "_id": "crypto@0.0.3", 40 | "_from": "crypto" 41 | } 42 | -------------------------------------------------------------------------------- /node_modules/crypto/test/test-crypto.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | if (module == require.main) 4 | require("test").run(exports); 5 | -------------------------------------------------------------------------------- /node_modules/express/.npmignore: -------------------------------------------------------------------------------- 1 | .git* 2 | docs/ 3 | examples/ 4 | support/ 5 | test/ 6 | testing.js 7 | .DS_Store 8 | coverage.html 9 | lib-cov 10 | -------------------------------------------------------------------------------- /node_modules/express/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 -------------------------------------------------------------------------------- /node_modules/express/Makefile: -------------------------------------------------------------------------------- 1 | 2 | MOCHA_OPTS= 3 | REPORTER = dot 4 | 5 | check: test 6 | 7 | test: test-unit test-acceptance 8 | 9 | test-unit: 10 | @NODE_ENV=test ./node_modules/.bin/mocha \ 11 | --reporter $(REPORTER) \ 12 | $(MOCHA_OPTS) 13 | 14 | test-acceptance: 15 | @NODE_ENV=test ./node_modules/.bin/mocha \ 16 | --reporter $(REPORTER) \ 17 | --bail \ 18 | test/acceptance/*.js 19 | 20 | test-cov: lib-cov 21 | @EXPRESS_COV=1 $(MAKE) test REPORTER=html-cov > coverage.html 22 | 23 | lib-cov: 24 | @jscoverage lib lib-cov 25 | 26 | benchmark: 27 | @./support/bench 28 | 29 | .PHONY: test test-unit test-acceptance benchmark 30 | -------------------------------------------------------------------------------- /node_modules/express/client.js: -------------------------------------------------------------------------------- 1 | 2 | var http = require('http'); 3 | 4 | var times = 50; 5 | 6 | while (times--) { 7 | var req = http.request({ 8 | port: 3000 9 | , method: 'POST' 10 | , headers: { 'Content-Type': 'application/x-www-form-urlencoded' } 11 | }); 12 | 13 | req.on('response', function(res){ 14 | console.log(res.statusCode); 15 | }); 16 | 17 | var n = 500000; 18 | while (n--) { 19 | req.write('foo=bar&bar=baz&'); 20 | } 21 | 22 | req.write('foo=bar&bar=baz'); 23 | 24 | req.end(); 25 | } -------------------------------------------------------------------------------- /node_modules/express/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = process.env.EXPRESS_COV 3 | ? require('./lib-cov/express') 4 | : require('./lib/express'); -------------------------------------------------------------------------------- /node_modules/express/lib/middleware.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var utils = require('./utils'); 7 | 8 | /** 9 | * Initialization middleware, exposing the 10 | * request and response to eachother, as well 11 | * as defaulting the X-Powered-By header field. 12 | * 13 | * @param {Function} app 14 | * @return {Function} 15 | * @api private 16 | */ 17 | 18 | exports.init = function(app){ 19 | return function expressInit(req, res, next){ 20 | req.app = res.app = app; 21 | res.setHeader('X-Powered-By', 'Express'); 22 | req.res = res; 23 | res.req = req; 24 | req.next = next; 25 | 26 | req.__proto__ = app.request; 27 | res.__proto__ = app.response; 28 | 29 | res.locals = res.locals || utils.locals(res); 30 | 31 | next(); 32 | } 33 | }; 34 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/commander/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/commander/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/commander/Makefile: -------------------------------------------------------------------------------- 1 | 2 | TESTS = $(shell find test/test.*.js) 3 | 4 | test: 5 | @./test/run $(TESTS) 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/express/node_modules/commander/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/commander'); -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/.npmignore: -------------------------------------------------------------------------------- 1 | *.markdown 2 | *.md 3 | .git* 4 | Makefile 5 | benchmarks/ 6 | docs/ 7 | examples/ 8 | install.sh 9 | support/ 10 | test/ 11 | .DS_Store 12 | coverage.html 13 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = process.env.CONNECT_COV 3 | ? require('./lib-cov/connect') 4 | : require('./lib/connect'); -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/middleware/methodOverride.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Connect - methodOverride 4 | * Copyright(c) 2010 Sencha Inc. 5 | * Copyright(c) 2011 TJ Holowaychuk 6 | * MIT Licensed 7 | */ 8 | 9 | /** 10 | * Method Override: 11 | * 12 | * Provides faux HTTP method support. 13 | * 14 | * Pass an optional `key` to use when checking for 15 | * a method override, othewise defaults to _\_method_. 16 | * The original method is available via `req.originalMethod`. 17 | * 18 | * @param {String} key 19 | * @return {Function} 20 | * @api public 21 | */ 22 | 23 | module.exports = function methodOverride(key){ 24 | key = key || "_method"; 25 | return function methodOverride(req, res, next) { 26 | req.originalMethod = req.originalMethod || req.method; 27 | 28 | // req.body 29 | if (req.body && key in req.body) { 30 | req.method = req.body[key].toUpperCase(); 31 | delete req.body[key]; 32 | // check X-HTTP-Method-Override 33 | } else if (req.headers['x-http-method-override']) { 34 | req.method = req.headers['x-http-method-override'].toUpperCase(); 35 | } 36 | 37 | next(); 38 | }; 39 | }; 40 | 41 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/middleware/query.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Connect - query 3 | * Copyright(c) 2011 TJ Holowaychuk 4 | * Copyright(c) 2011 Sencha Inc. 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var qs = require('qs') 13 | , parse = require('../utils').parseUrl; 14 | 15 | /** 16 | * Query: 17 | * 18 | * Automatically parse the query-string when available, 19 | * populating the `req.query` object. 20 | * 21 | * Examples: 22 | * 23 | * connect() 24 | * .use(connect.query()) 25 | * .use(function(req, res){ 26 | * res.end(JSON.stringify(req.query)); 27 | * }); 28 | * 29 | * The `options` passed are provided to qs.parse function. 30 | * 31 | * @param {Object} options 32 | * @return {Function} 33 | * @api public 34 | */ 35 | 36 | module.exports = function query(options){ 37 | return function query(req, res, next){ 38 | if (!req.query) { 39 | req.query = ~req.url.indexOf('?') 40 | ? qs.parse(parse(req).query, options) 41 | : {}; 42 | } 43 | 44 | next(); 45 | }; 46 | }; 47 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/middleware/responseTime.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Connect - responseTime 4 | * Copyright(c) 2011 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Reponse time: 10 | * 11 | * Adds the `X-Response-Time` header displaying the response 12 | * duration in milliseconds. 13 | * 14 | * @return {Function} 15 | * @api public 16 | */ 17 | 18 | module.exports = function responseTime(){ 19 | return function(req, res, next){ 20 | var start = new Date; 21 | 22 | if (res._responseTime) return next(); 23 | res._responseTime = true; 24 | 25 | res.on('header', function(header){ 26 | var duration = new Date - start; 27 | res.setHeader('X-Response-time', duration + 'ms'); 28 | }); 29 | 30 | next(); 31 | }; 32 | }; 33 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/middleware/timeout.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Connect - timeout 4 | * Ported from https://github.com/LearnBoost/connect-timeout 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Timeout: 10 | * 11 | * Times out the request in `ms`, defaulting to `5000`. The 12 | * method `req.clearTimeout()` is added to revert this behaviour 13 | * programmatically within your application's middleware, routes, etc. 14 | * 15 | * @param {Number} ms 16 | * @return {Function} 17 | * @api public 18 | */ 19 | 20 | module.exports = function timeout(ms) { 21 | ms = ms || 5000; 22 | 23 | return function(req, res, next) { 24 | var id = setTimeout(function(){ 25 | req.emit('timeout', ms); 26 | }, ms); 27 | 28 | req.on('timeout', function(){ 29 | if (req.headerSent) return; 30 | var err = new Error('Request timeout'); 31 | res.statusCode = 408; 32 | res.end('Request timeout'); 33 | }); 34 | 35 | req.clearTimeout = function(){ 36 | clearTimeout(id); 37 | }; 38 | 39 | res.on('header', function(){ 40 | clearTimeout(id); 41 | }); 42 | 43 | next(); 44 | }; 45 | }; -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {error} 4 | 5 | 6 | 7 |
8 |

{title}

9 |

{statusCode} {error}

10 | 11 |
12 | 13 | 14 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/favicon.ico -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_add.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_attach.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_attach.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_code.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_copy.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_delete.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_edit.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_error.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_excel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_excel.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_find.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_find.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_gear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_gear.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_go.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_go.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_green.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_key.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_lightning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_lightning.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_link.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_paintbrush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_paintbrush.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_paste.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_red.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_refresh.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_save.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_acrobat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_acrobat.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_actionscript.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_actionscript.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_add.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_c.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_camera.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_cd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_cd.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_code.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_code_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_code_red.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_coldfusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_coldfusion.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_compressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_compressed.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_copy.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_cplusplus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_cplusplus.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_csharp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_csharp.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_cup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_cup.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_database.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_delete.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_dvd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_dvd.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_edit.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_error.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_excel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_excel.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_find.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_find.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_flash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_flash.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_freehand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_freehand.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_gear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_gear.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_get.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_get.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_go.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_go.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_h.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_horizontal.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_key.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_lightning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_lightning.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_link.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_magnify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_magnify.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_medal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_medal.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_office.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_office.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_paint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_paint.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_paintbrush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_paintbrush.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_paste.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_php.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_php.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_picture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_picture.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_powerpoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_powerpoint.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_put.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_put.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_ruby.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_ruby.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_stack.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_star.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_swoosh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_swoosh.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_text.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_text_width.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_text_width.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_tux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_tux.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_vector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_vector.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_visualstudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_visualstudio.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_width.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_width.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_word.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_word.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_world.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_world.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_wrench.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_wrench.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_white_zip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_white_zip.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_word.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_word.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/icons/page_world.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/express/node_modules/connect/lib/public/icons/page_world.png -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/bytes/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/bytes/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.1.0 / 2012-07-04 3 | ================== 4 | 5 | * add bytes to string conversion [yields] 6 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/bytes/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --reporter spec \ 5 | --require should 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/bytes/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bytes", 3 | "description": "byte size string parser / serializer", 4 | "keywords": ["bytes", "utility"], 5 | "version": "0.1.0", 6 | "scripts": ["index.js"] 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/bytes/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Parse byte `size` string. 4 | * 5 | * @param {String} size 6 | * @return {Number} 7 | * @api public 8 | */ 9 | 10 | module.exports = function(size) { 11 | if ('number' == typeof size) return convert(size); 12 | var parts = size.match(/^(\d+(?:\.\d+)?) *(kb|mb|gb)$/) 13 | , n = parseFloat(parts[1]) 14 | , type = parts[2]; 15 | 16 | var map = { 17 | kb: 1 << 10 18 | , mb: 1 << 20 19 | , gb: 1 << 30 20 | }; 21 | 22 | return map[type] * n; 23 | }; 24 | 25 | /** 26 | * convert bytes into string. 27 | * 28 | * @param {Number} b - bytes to convert 29 | * @return {String}i 30 | * @api public 31 | */ 32 | 33 | function convert (b) { 34 | var gb = 1 << 30, mb = 1 << 20, kb = 1 << 10; 35 | if (b >= gb) return (Math.round(b / gb * 100) / 100) + 'gb'; 36 | if (b >= mb) return (Math.round(b / mb * 100) / 100) + 'mb'; 37 | if (b >= kb) return (Math.round(b / kb * 100) / 100) + 'kb'; 38 | return b; 39 | } -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/.npmignore: -------------------------------------------------------------------------------- 1 | /test/tmp/ 2 | *.upload 3 | *.un~ 4 | *.http 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/Makefile: -------------------------------------------------------------------------------- 1 | SHELL := /bin/bash 2 | 3 | test: 4 | @./test/run.js 5 | 6 | build: npm test 7 | 8 | npm: 9 | npm install . 10 | 11 | clean: 12 | rm test/tmp/* 13 | 14 | .PHONY: test clean build 15 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/TODO: -------------------------------------------------------------------------------- 1 | - Better bufferMaxSize handling approach 2 | - Add tests for JSON parser pull request and merge it 3 | - Implement QuerystringParser the same way as MultipartParser 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/formidable'); -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/lib/index.js: -------------------------------------------------------------------------------- 1 | var IncomingForm = require('./incoming_form').IncomingForm; 2 | IncomingForm.IncomingForm = IncomingForm; 3 | module.exports = IncomingForm; 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/lib/querystring_parser.js: -------------------------------------------------------------------------------- 1 | if (global.GENTLY) require = GENTLY.hijack(require); 2 | 3 | // This is a buffering parser, not quite as nice as the multipart one. 4 | // If I find time I'll rewrite this to be fully streaming as well 5 | var querystring = require('querystring'); 6 | 7 | function QuerystringParser() { 8 | this.buffer = ''; 9 | }; 10 | exports.QuerystringParser = QuerystringParser; 11 | 12 | QuerystringParser.prototype.write = function(buffer) { 13 | this.buffer += buffer.toString('ascii'); 14 | return buffer.length; 15 | }; 16 | 17 | QuerystringParser.prototype.end = function() { 18 | var fields = querystring.parse(this.buffer); 19 | for (var field in fields) { 20 | this.onField(field, fields[field]); 21 | } 22 | this.buffer = ''; 23 | 24 | this.onEnd(); 25 | }; -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/lib/util.js: -------------------------------------------------------------------------------- 1 | // Backwards compatibility ... 2 | try { 3 | module.exports = require('util'); 4 | } catch (e) { 5 | module.exports = require('sys'); 6 | } 7 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/node-gently/Makefile: -------------------------------------------------------------------------------- 1 | test: 2 | @find test/simple/test-*.js | xargs -n 1 -t node 3 | 4 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/node-gently/example/dog.js: -------------------------------------------------------------------------------- 1 | require('../test/common'); 2 | function Dog() {} 3 | 4 | Dog.prototype.seeCat = function() { 5 | this.bark('whuf, whuf'); 6 | this.run(); 7 | } 8 | 9 | Dog.prototype.bark = function(bark) { 10 | require('sys').puts(bark); 11 | } 12 | 13 | var gently = new (require('gently')) 14 | , assert = require('assert') 15 | , dog = new Dog(); 16 | 17 | gently.expect(dog, 'bark', function(bark) { 18 | assert.equal(bark, 'whuf, whuf'); 19 | }); 20 | gently.expect(dog, 'run'); 21 | 22 | dog.seeCat(); -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/node-gently/example/event_emitter.js: -------------------------------------------------------------------------------- 1 | require('../test/common'); 2 | var gently = new (require('gently')) 3 | , stream = new (require('fs').WriteStream)('my_file.txt'); 4 | 5 | gently.expect(stream, 'emit', function(event) { 6 | assert.equal(event, 'open'); 7 | }); 8 | 9 | gently.expect(stream, 'emit', function(event) { 10 | assert.equal(event, 'drain'); 11 | }); -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/node-gently/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/gently'); -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/node-gently/lib/gently/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./gently'); -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/node-gently/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gently", 3 | "version": "0.9.2", 4 | "directories": { 5 | "lib": "./lib/gently" 6 | }, 7 | "main": "./lib/gently/index", 8 | "dependencies": {}, 9 | "devDependencies": {}, 10 | "engines": { 11 | "node": "*" 12 | }, 13 | "optionalDependencies": {} 14 | } 15 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/node-gently/test/common.js: -------------------------------------------------------------------------------- 1 | var path = require('path') 2 | , sys = require('sys'); 3 | 4 | require.paths.unshift(path.dirname(__dirname)+'/lib'); 5 | 6 | global.puts = sys.puts; 7 | global.p = function() {sys.error(sys.inspect.apply(null, arguments))};; 8 | global.assert = require('assert'); -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/common.js: -------------------------------------------------------------------------------- 1 | var mysql = require('..'); 2 | var path = require('path'); 3 | 4 | var root = path.join(__dirname, '../'); 5 | exports.dir = { 6 | root : root, 7 | lib : root + '/lib', 8 | fixture : root + '/test/fixture', 9 | tmp : root + '/test/tmp', 10 | }; 11 | 12 | exports.port = 13532; 13 | 14 | exports.formidable = require('..'); 15 | exports.assert = require('assert'); 16 | 17 | exports.require = function(lib) { 18 | return require(exports.dir.lib + '/' + lib); 19 | }; 20 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/file/funkyfilename.txt: -------------------------------------------------------------------------------- 1 | I am a text file with a funky name! 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/file/plain.txt: -------------------------------------------------------------------------------- 1 | I am a plain text file 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/info.md: -------------------------------------------------------------------------------- 1 | * Opera does not allow submitting this file, it shows a warning to the 2 | user that the file could not be found instead. Tested in 9.8, 11.51 on OSX. 3 | Reported to Opera on 08.09.2011 (tracking email DSK-346009@bugs.opera.com). 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/js/no-filename.js: -------------------------------------------------------------------------------- 1 | module.exports['generic.http'] = [ 2 | {type: 'file', name: 'upload', filename: '', fixture: 'plain.txt'}, 3 | ]; 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/js/special-chars-in-filename.js: -------------------------------------------------------------------------------- 1 | var properFilename = 'funkyfilename.txt'; 2 | 3 | function expect(filename) { 4 | return [ 5 | {type: 'field', name: 'title', value: 'Weird filename'}, 6 | {type: 'file', name: 'upload', filename: filename, fixture: properFilename}, 7 | ]; 8 | }; 9 | 10 | var webkit = " ? % * | \" < > . ? ; ' @ # $ ^ & ( ) - _ = + { } [ ] ` ~.txt"; 11 | var ffOrIe = " ? % * | \" < > . ☃ ; ' @ # $ ^ & ( ) - _ = + { } [ ] ` ~.txt"; 12 | 13 | module.exports = { 14 | 'osx-chrome-13.http' : expect(webkit), 15 | 'osx-firefox-3.6.http' : expect(ffOrIe), 16 | 'osx-safari-5.http' : expect(webkit), 17 | 'xp-chrome-12.http' : expect(webkit), 18 | 'xp-ie-7.http' : expect(ffOrIe), 19 | 'xp-ie-8.http' : expect(ffOrIe), 20 | 'xp-safari-5.http' : expect(webkit), 21 | }; 22 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/common.js: -------------------------------------------------------------------------------- 1 | var path = require('path'), 2 | fs = require('fs'); 3 | 4 | try { 5 | global.Gently = require('gently'); 6 | } catch (e) { 7 | throw new Error('this test suite requires node-gently'); 8 | } 9 | 10 | exports.lib = path.join(__dirname, '../../lib'); 11 | 12 | global.GENTLY = new Gently(); 13 | 14 | global.assert = require('assert'); 15 | global.TEST_PORT = 13532; 16 | global.TEST_FIXTURES = path.join(__dirname, '../fixture'); 17 | global.TEST_TMP = path.join(__dirname, '../tmp'); 18 | 19 | // Stupid new feature in node that complains about gently attaching too many 20 | // listeners to process 'exit'. This is a workaround until I can think of a 21 | // better way to deal with this. 22 | if (process.setMaxListeners) { 23 | process.setMaxListeners(10000); 24 | } 25 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/formidable/test/run.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | require('urun')(__dirname) 3 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/pause/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/pause/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.0.1 / 2010-01-03 3 | ================== 4 | 5 | * Initial release 6 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/pause/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --require should \ 5 | --reporter spec 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/pause/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = function(obj){ 3 | var onData 4 | , onEnd 5 | , events = []; 6 | 7 | // buffer data 8 | obj.on('data', onData = function(data, encoding){ 9 | events.push(['data', data, encoding]); 10 | }); 11 | 12 | // buffer end 13 | obj.on('end', onEnd = function(data, encoding){ 14 | events.push(['end', data, encoding]); 15 | }); 16 | 17 | return { 18 | end: function(){ 19 | obj.removeListener('data', onData); 20 | obj.removeListener('end', onEnd); 21 | }, 22 | resume: function(){ 23 | this.end(); 24 | for (var i = 0, len = events.length; i < len; ++i) { 25 | obj.emit.apply(obj, events[i]); 26 | } 27 | } 28 | }; 29 | }; -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/qs/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "support/expresso"] 2 | path = support/expresso 3 | url = git://github.com/visionmedia/expresso.git 4 | [submodule "support/should"] 5 | path = support/should 6 | url = git://github.com/visionmedia/should.js.git 7 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/qs/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/qs/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.4 -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/qs/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha 4 | 5 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/qs/benchmark.js: -------------------------------------------------------------------------------- 1 | 2 | var qs = require('./'); 3 | 4 | var times = 100000 5 | , start = new Date 6 | , n = times; 7 | 8 | console.log('times: %d', times); 9 | 10 | while (n--) qs.parse('foo=bar'); 11 | console.log('simple: %dms', new Date - start); 12 | 13 | var start = new Date 14 | , n = times; 15 | 16 | while (n--) qs.parse('user[name][first]=tj&user[name][last]=holowaychuk'); 17 | console.log('nested: %dms', new Date - start); -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/qs/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/querystring'); -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/node_modules/qs/test/mocha.opts: -------------------------------------------------------------------------------- 1 | --require should 2 | --ui exports 3 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "connect", 3 | "version": "2.4.3", 4 | "description": "High performance middleware framework", 5 | "keywords": [ 6 | "framework", 7 | "web", 8 | "middleware", 9 | "connect", 10 | "rack" 11 | ], 12 | "repository": { 13 | "type": "git", 14 | "url": "git://github.com/senchalabs/connect.git" 15 | }, 16 | "author": { 17 | "name": "TJ Holowaychuk", 18 | "email": "tj@vision-media.ca", 19 | "url": "http://tjholowaychuk.com" 20 | }, 21 | "dependencies": { 22 | "qs": "0.4.2", 23 | "formidable": "1.0.11", 24 | "crc": "0.2.0", 25 | "cookie": "0.0.4", 26 | "bytes": "0.1.0", 27 | "send": "0.0.3", 28 | "fresh": "0.1.0", 29 | "pause": "0.0.1", 30 | "debug": "*" 31 | }, 32 | "devDependencies": { 33 | "should": "*", 34 | "mocha": "*", 35 | "jade": "*", 36 | "dox": "*" 37 | }, 38 | "main": "index", 39 | "engines": { 40 | "node": ">= 0.5.0" 41 | }, 42 | "_id": "connect@2.4.3", 43 | "readme": "ERROR: No README.md file found!", 44 | "_from": "connect@2.4.3" 45 | } 46 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/test.js: -------------------------------------------------------------------------------- 1 | var connect = require('./') 2 | , http = require('http'); 3 | 4 | var app = connect() 5 | .use(connect.directory(__dirname)) 6 | .use(connect.staticCache()) 7 | .use(connect.static(__dirname)); 8 | 9 | http.createServer(app).listen(3000); -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie/test/mocha.opts: -------------------------------------------------------------------------------- 1 | --ui qunit 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie/test/parse.js: -------------------------------------------------------------------------------- 1 | 2 | var assert = require('assert'); 3 | 4 | var cookie = require('..'); 5 | 6 | suite('parse'); 7 | 8 | test('basic', function() { 9 | assert.deepEqual({ foo: 'bar' }, cookie.parse('foo=bar')); 10 | assert.deepEqual({ foo: '123' }, cookie.parse('foo=123')); 11 | }); 12 | 13 | test('ignore spaces', function() { 14 | assert.deepEqual({ FOO: 'bar', baz: 'raz' }, 15 | cookie.parse('FOO = bar; baz = raz')); 16 | }); 17 | 18 | test('escaping', function() { 19 | assert.deepEqual({ foo: 'bar=123456789&name=Magic+Mouse' }, 20 | cookie.parse('foo="bar=123456789&name=Magic+Mouse"')); 21 | 22 | assert.deepEqual({ email: ' ",;/' }, 23 | cookie.parse('email=%20%22%2c%3b%2f')); 24 | }); 25 | 26 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/crc/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "tests/nodeunit"] 2 | path = tests/nodeunit 3 | url = git://github.com/caolan/nodeunit.git 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/crc/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/crc/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --require should \ 5 | --reporter spec 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/express/node_modules/crc/README.md: -------------------------------------------------------------------------------- 1 | # JavaScript CRC 8, 16 and 32. 2 | 3 | This is a basic port/copy of the JavaScript CRC implementation. The module works with any CommonJS system supporting `module.exports` notation as well as in the browser. When loaded in the browser, all functions end up under the `window.crc` "namespace". 4 | 5 | Original code is taken from http://www.digsys.se/JavaScript/CRC.aspx 6 | 7 | ## Functions 8 | 9 | The following functions are implemented: 10 | 11 | crc8(String) #=> Number 12 | crcArc(String) #=> Number 13 | crc16(String) #=> Number 14 | fcs16(String) #=> Number 15 | crc32(String) #=> Number 16 | hex8(Number) #=> String 17 | hex16(Number) #=> String 18 | hex32(Number) #=> String 19 | 20 | ## Installation 21 | 22 | git clone git://github.com/alexgorbatchev/node-crc.git 23 | 24 | or 25 | 26 | npm install crc 27 | 28 | ## Running tests 29 | 30 | $ npm install 31 | $ make test -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/Makefile: -------------------------------------------------------------------------------- 1 | 2 | debug.component.js: head.js debug.js tail.js 3 | cat $^ > $@ 4 | 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/example/app.js: -------------------------------------------------------------------------------- 1 | 2 | var debug = require('../')('http') 3 | , http = require('http') 4 | , name = 'My App'; 5 | 6 | // fake app 7 | 8 | debug('booting %s', name); 9 | 10 | http.createServer(function(req, res){ 11 | debug(req.method + ' ' + req.url); 12 | res.end('hello\n'); 13 | }).listen(3000, function(){ 14 | debug('listening'); 15 | }); 16 | 17 | // fake worker of some kind 18 | 19 | require('./worker'); -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/example/browser.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | debug() 4 | 5 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/example/wildcards.js: -------------------------------------------------------------------------------- 1 | 2 | var debug = { 3 | foo: require('../')('test:foo'), 4 | bar: require('../')('test:bar'), 5 | baz: require('../')('test:baz') 6 | }; 7 | 8 | debug.foo('foo') 9 | debug.bar('bar') 10 | debug.baz('baz') -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/example/worker.js: -------------------------------------------------------------------------------- 1 | 2 | // DEBUG=* node example/worker 3 | // DEBUG=worker:* node example/worker 4 | // DEBUG=worker:a node example/worker 5 | // DEBUG=worker:b node example/worker 6 | 7 | var a = require('../')('worker:a') 8 | , b = require('../')('worker:b'); 9 | 10 | function work() { 11 | a('doing lots of uninteresting work'); 12 | setTimeout(work, Math.random() * 1000); 13 | } 14 | 15 | work(); 16 | 17 | function workb() { 18 | b('doing some work'); 19 | setTimeout(workb, Math.random() * 2000); 20 | } 21 | 22 | workb(); -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/head.js: -------------------------------------------------------------------------------- 1 | ;(function(){ 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/debug'); -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/tail.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = debug; 3 | 4 | })(); -------------------------------------------------------------------------------- /node_modules/express/node_modules/fresh/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/fresh/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --reporter spec \ 5 | --require should 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/express/node_modules/fresh/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # node-fresh 3 | 4 | HTTP response freshness testing 5 | 6 | ## fresh(req, res) 7 | 8 | Check freshness of `req` and `res` headers. 9 | 10 | When the cache is "fresh" __true__ is returned, 11 | otherwise __false__ is returned to indicate that 12 | the cache is now stale. 13 | 14 | ## Example: 15 | 16 | ```js 17 | var req = { 'if-none-match': 'tobi' }; 18 | var res = { 'etag': 'luna' }; 19 | fresh(req, res); 20 | // => false 21 | 22 | var req = { 'if-none-match': 'tobi' }; 23 | var res = { 'etag': 'tobi' }; 24 | fresh(req, res); 25 | // => true 26 | ``` 27 | 28 | ## Installation 29 | 30 | ``` 31 | $ npm install fresh 32 | ``` -------------------------------------------------------------------------------- /node_modules/express/node_modules/fresh/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fresh", 3 | "author": { 4 | "name": "TJ Holowaychuk", 5 | "email": "tj@vision-media.ca", 6 | "url": "http://tjholowaychuk.com" 7 | }, 8 | "description": "HTTP response freshness testing", 9 | "version": "0.1.0", 10 | "main": "index.js", 11 | "dependencies": {}, 12 | "devDependencies": { 13 | "mocha": "*", 14 | "should": "*" 15 | }, 16 | "readme": "\n# node-fresh\n\n HTTP response freshness testing\n\n## fresh(req, res)\n\n Check freshness of `req` and `res` headers.\n\n When the cache is \"fresh\" __true__ is returned,\n otherwise __false__ is returned to indicate that\n the cache is now stale.\n\n## Example:\n\n```js\nvar req = { 'if-none-match': 'tobi' };\nvar res = { 'etag': 'luna' };\nfresh(req, res);\n// => false\n\nvar req = { 'if-none-match': 'tobi' };\nvar res = { 'etag': 'tobi' };\nfresh(req, res);\n// => true\n```\n\n## Installation\n\n```\n$ npm install fresh\n```", 17 | "_id": "fresh@0.1.0", 18 | "_from": "fresh@0.1.0" 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/methods/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = [ 3 | 'get' 4 | , 'post' 5 | , 'put' 6 | , 'head' 7 | , 'delete' 8 | , 'options' 9 | , 'trace' 10 | , 'copy' 11 | , 'lock' 12 | , 'mkcol' 13 | , 'move' 14 | , 'propfind' 15 | , 'proppatch' 16 | , 'unlock' 17 | , 'report' 18 | , 'mkactivity' 19 | , 'checkout' 20 | , 'merge' 21 | , 'm-search' 22 | , 'notify' 23 | , 'subscribe' 24 | , 'unsubscribe' 25 | , 'patch' 26 | ]; -------------------------------------------------------------------------------- /node_modules/express/node_modules/methods/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "methods", 3 | "version": "0.0.1", 4 | "description": "HTTP methods that node supports", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [ 10 | "http", 11 | "methods" 12 | ], 13 | "author": { 14 | "name": "TJ Holowaychuk" 15 | }, 16 | "license": "MIT", 17 | "_id": "methods@0.0.1", 18 | "readme": "ERROR: No README.md file found!", 19 | "_from": "methods@0.0.1" 20 | } 21 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/.gitignore.orig: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/.gitignore.rej: -------------------------------------------------------------------------------- 1 | --- /dev/null 2 | +++ .gitignore 3 | @@ -0,0 +1,2 @@ 4 | +node_modules/ 5 | +npm-debug.log -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/examples/pow.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('mkdirp'); 2 | 3 | mkdirp('/tmp/foo/bar/baz', function (err) { 4 | if (err) console.error(err) 5 | else console.log('pow!') 6 | }); 7 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/examples/pow.js.orig: -------------------------------------------------------------------------------- 1 | var mkdirp = require('mkdirp'); 2 | 3 | mkdirp('/tmp/foo/bar/baz', 0755, function (err) { 4 | if (err) console.error(err) 5 | else console.log('pow!') 6 | }); 7 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/examples/pow.js.rej: -------------------------------------------------------------------------------- 1 | --- examples/pow.js 2 | +++ examples/pow.js 3 | @@ -1,6 +1,15 @@ 4 | -var mkdirp = require('mkdirp').mkdirp; 5 | +var mkdirp = require('../').mkdirp, 6 | + mkdirpSync = require('../').mkdirpSync; 7 | 8 | mkdirp('/tmp/foo/bar/baz', 0755, function (err) { 9 | if (err) console.error(err) 10 | else console.log('pow!') 11 | }); 12 | + 13 | +try { 14 | + mkdirpSync('/tmp/bar/foo/baz', 0755); 15 | + console.log('double pow!'); 16 | +} 17 | +catch (ex) { 18 | + console.log(ex); 19 | +} -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/clobber.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../').mkdirp; 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | var ps = [ '', 'tmp' ]; 7 | 8 | for (var i = 0; i < 25; i++) { 9 | var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | ps.push(dir); 11 | } 12 | 13 | var file = ps.join('/'); 14 | 15 | // a file in the way 16 | var itw = ps.slice(0, 3).join('/'); 17 | 18 | 19 | test('clobber-pre', function (t) { 20 | console.error("about to write to "+itw) 21 | fs.writeFileSync(itw, 'I AM IN THE WAY, THE TRUTH, AND THE LIGHT.'); 22 | 23 | fs.stat(itw, function (er, stat) { 24 | t.ifError(er) 25 | t.ok(stat && stat.isFile(), 'should be file') 26 | t.end() 27 | }) 28 | }) 29 | 30 | test('clobber', function (t) { 31 | t.plan(2); 32 | mkdirp(file, 0755, function (err) { 33 | t.ok(err); 34 | t.equal(err.code, 'ENOTDIR'); 35 | t.end(); 36 | }); 37 | }); 38 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/mkdirp.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('woo', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | mkdirp(file, 0755, function (err) { 15 | if (err) t.fail(err); 16 | else path.exists(file, function (ex) { 17 | if (!ex) t.fail('file not created') 18 | else fs.stat(file, function (err, stat) { 19 | if (err) t.fail(err) 20 | else { 21 | t.equal(stat.mode & 0777, 0755); 22 | t.ok(stat.isDirectory(), 'target not a directory'); 23 | t.end(); 24 | } 25 | }) 26 | }) 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/perm.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('async perm', function (t) { 7 | t.plan(2); 8 | var file = '/tmp/' + (Math.random() * (1<<30)).toString(16); 9 | 10 | mkdirp(file, 0755, function (err) { 11 | if (err) t.fail(err); 12 | else path.exists(file, function (ex) { 13 | if (!ex) t.fail('file not created') 14 | else fs.stat(file, function (err, stat) { 15 | if (err) t.fail(err) 16 | else { 17 | t.equal(stat.mode & 0777, 0755); 18 | t.ok(stat.isDirectory(), 'target not a directory'); 19 | t.end(); 20 | } 21 | }) 22 | }) 23 | }); 24 | }); 25 | 26 | test('async root perm', function (t) { 27 | mkdirp('/tmp', 0755, function (err) { 28 | if (err) t.fail(err); 29 | t.end(); 30 | }); 31 | t.end(); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/rel.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('rel', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var cwd = process.cwd(); 13 | process.chdir('/tmp'); 14 | 15 | var file = [x,y,z].join('/'); 16 | 17 | mkdirp(file, 0755, function (err) { 18 | if (err) t.fail(err); 19 | else path.exists(file, function (ex) { 20 | if (!ex) t.fail('file not created') 21 | else fs.stat(file, function (err, stat) { 22 | if (err) t.fail(err) 23 | else { 24 | process.chdir(cwd); 25 | t.equal(stat.mode & 0777, 0755); 26 | t.ok(stat.isDirectory(), 'target not a directory'); 27 | t.end(); 28 | } 29 | }) 30 | }) 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/return.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('return value', function (t) { 7 | t.plan(4); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | // should return the first dir created. 15 | // By this point, it would be profoundly surprising if /tmp didn't 16 | // already exist, since every other test makes things in there. 17 | mkdirp(file, function (err, made) { 18 | t.ifError(err); 19 | t.equal(made, '/tmp/' + x); 20 | mkdirp(file, function (err, made) { 21 | t.ifError(err); 22 | t.equal(made, null); 23 | }); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/return_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('return value', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | // should return the first dir created. 15 | // By this point, it would be profoundly surprising if /tmp didn't 16 | // already exist, since every other test makes things in there. 17 | // Note that this will throw on failure, which will fail the test. 18 | var made = mkdirp.sync(file); 19 | t.equal(made, '/tmp/' + x); 20 | 21 | // making the same file again should have no effect. 22 | made = mkdirp.sync(file); 23 | t.equal(made, null); 24 | }); 25 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/root.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('root', function (t) { 7 | // '/' on unix, 'c:/' on windows. 8 | var file = path.resolve('/'); 9 | 10 | mkdirp(file, 0755, function (err) { 11 | if (err) throw err 12 | fs.stat(file, function (er, stat) { 13 | if (er) throw er 14 | t.ok(stat.isDirectory(), 'target is a directory'); 15 | t.end(); 16 | }) 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('sync', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | try { 15 | mkdirp.sync(file, 0755); 16 | } catch (err) { 17 | t.fail(err); 18 | return t.end(); 19 | } 20 | 21 | path.exists(file, function (ex) { 22 | if (!ex) t.fail('file not created') 23 | else fs.stat(file, function (err, stat) { 24 | if (err) t.fail(err) 25 | else { 26 | t.equal(stat.mode & 0777, 0755); 27 | t.ok(stat.isDirectory(), 'target not a directory'); 28 | t.end(); 29 | } 30 | }); 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/umask.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('implicit mode from umask', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | mkdirp(file, function (err) { 15 | if (err) t.fail(err); 16 | else path.exists(file, function (ex) { 17 | if (!ex) t.fail('file not created') 18 | else fs.stat(file, function (err, stat) { 19 | if (err) t.fail(err) 20 | else { 21 | t.equal(stat.mode & 0777, 0777 & (~process.umask())); 22 | t.ok(stat.isDirectory(), 'target not a directory'); 23 | t.end(); 24 | } 25 | }) 26 | }) 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/umask_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('umask sync modes', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | try { 15 | mkdirp.sync(file); 16 | } catch (err) { 17 | t.fail(err); 18 | return t.end(); 19 | } 20 | 21 | path.exists(file, function (ex) { 22 | if (!ex) t.fail('file not created') 23 | else fs.stat(file, function (err, stat) { 24 | if (err) t.fail(err) 25 | else { 26 | t.equal(stat.mode & 0777, (0777 & (~process.umask()))); 27 | t.ok(stat.isDirectory(), 'target not a directory'); 28 | t.end(); 29 | } 30 | }); 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/range-parser/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/range-parser/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.0.4 / 2012-06-17 3 | ================== 4 | 5 | * changed: ret -1 for unsatisfiable and -2 when invalid 6 | 7 | 0.0.3 / 2012-06-17 8 | ================== 9 | 10 | * fix last-byte-pos default to len - 1 11 | 12 | 0.0.2 / 2012-06-14 13 | ================== 14 | 15 | * add `.type` 16 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/range-parser/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --reporter spec \ 5 | --require should 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/express/node_modules/range-parser/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Parse "Range" header `str` relative to the given file `size`. 4 | * 5 | * @param {Number} size 6 | * @param {String} str 7 | * @return {Array} 8 | * @api public 9 | */ 10 | 11 | module.exports = function(size, str){ 12 | var valid = true; 13 | var i = str.indexOf('='); 14 | 15 | if (-1 == i) return -2; 16 | 17 | var arr = str.slice(i + 1).split(',').map(function(range){ 18 | var range = range.split('-') 19 | , start = parseInt(range[0], 10) 20 | , end = parseInt(range[1], 10); 21 | 22 | // -nnn 23 | if (isNaN(start)) { 24 | start = size - end; 25 | end = size - 1; 26 | // nnn- 27 | } else if (isNaN(end)) { 28 | end = size - 1; 29 | } 30 | 31 | // limit last-byte-pos to current length 32 | if (end > size - 1) end = size - 1; 33 | 34 | // invalid 35 | if (isNaN(start) 36 | || isNaN(end) 37 | || start > end 38 | || start < 0) valid = false; 39 | 40 | return { 41 | start: start, 42 | end: end 43 | }; 44 | }); 45 | 46 | arr.type = str.slice(0, i); 47 | 48 | return valid ? arr : -1; 49 | }; -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.0.3 / 2012-07-16 3 | ================== 4 | 5 | * fix normalization of the root directory. Closes #3 6 | 7 | 0.0.2 / 2012-07-09 8 | ================== 9 | 10 | * add passing of req explicitly for now (YUCK) 11 | 12 | 0.0.1 / 2010-01-03 13 | ================== 14 | 15 | * Initial release 16 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --require should \ 5 | --reporter spec \ 6 | --bail 7 | 8 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/send'); -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/lib/utils.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Return an ETag in the form of `"-"` 4 | * from the given `stat`. 5 | * 6 | * @param {Object} stat 7 | * @return {String} 8 | * @api private 9 | */ 10 | 11 | exports.etag = function(stat) { 12 | return '"' + stat.size + '-' + Number(stat.mtime) + '"'; 13 | }; 14 | 15 | /** 16 | * decodeURIComponent. 17 | * 18 | * Allows V8 to only deoptimize this fn instead of all 19 | * of send(). 20 | * 21 | * @param {String} path 22 | * @api private 23 | */ 24 | 25 | exports.decode = function(path){ 26 | try { 27 | return decodeURIComponent(path); 28 | } catch (err) { 29 | return -1; 30 | } 31 | }; 32 | 33 | /** 34 | * Escape the given string of `html`. 35 | * 36 | * @param {String} html 37 | * @return {String} 38 | * @api private 39 | */ 40 | 41 | exports.escape = function(html){ 42 | return String(html) 43 | .replace(/&(?!\w+;)/g, '&') 44 | .replace(//g, '>') 46 | .replace(/"/g, '"'); 47 | }; -------------------------------------------------------------------------------- /node_modules/express/test.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var express = require('./') 7 | , app = express(); 8 | 9 | app.use(express.bodyParser()); 10 | 11 | app.get('/', function(req, res){ 12 | res.send('
'); 13 | }); 14 | 15 | app.post('/', function(req, res){ 16 | console.log(req.files); 17 | }); 18 | 19 | app.listen(3000) -------------------------------------------------------------------------------- /node_modules/http-proxy/.npmignore: -------------------------------------------------------------------------------- 1 | config.json 2 | node_modules/ 3 | npm-debug.log 4 | -------------------------------------------------------------------------------- /node_modules/http-proxy/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.8 5 | 6 | notifications: 7 | email: 8 | - travis@nodejitsu.com 9 | irc: "irc.freenode.org#nodejitsu" 10 | -------------------------------------------------------------------------------- /node_modules/http-proxy/config.sample.json: -------------------------------------------------------------------------------- 1 | { 2 | "silent": false, 3 | "router": { 4 | "localhost": "localhost:9000" 5 | }, 6 | "forward": { 7 | "port": 9001, 8 | "host": "localhost" 9 | } 10 | } -------------------------------------------------------------------------------- /node_modules/http-proxy/examples/balancer/simple-balancer.js: -------------------------------------------------------------------------------- 1 | var httpProxy = require('../../lib/node-http-proxy'); 2 | // 3 | // A simple round-robin load balancing strategy. 4 | // 5 | // First, list the servers you want to use in your rotation. 6 | // 7 | var addresses = [ 8 | { 9 | host: 'ws1.0.0.0', 10 | port: 80 11 | }, 12 | { 13 | host: 'ws2.0.0.0', 14 | port: 80 15 | } 16 | ]; 17 | 18 | httpProxy.createServer(function (req, res, proxy) { 19 | // 20 | // On each request, get the first location from the list... 21 | // 22 | var target = addresses.shift(); 23 | 24 | // 25 | // ...then proxy to the server whose 'turn' it is... 26 | // 27 | console.log('balancing request to: ', target); 28 | proxy.proxyRequest(req, res, target); 29 | 30 | // 31 | // ...and then the server you just used becomes the last item in the list. 32 | // 33 | addresses.push(target); 34 | }).listen(8000); 35 | 36 | // Rinse; repeat; enjoy. -------------------------------------------------------------------------------- /node_modules/http-proxy/examples/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "http-proxy-examples", 3 | "description": "packages required to run the examples", 4 | "version": "0.0.0", 5 | "dependencies": { 6 | "connect": "1.6", 7 | "connect-gzip": "0.1", 8 | "connect-jsonp": "0.0.5", 9 | "connect-restreamer": "1", 10 | "proxy-by-url": ">= 0.0.1" 11 | } 12 | } -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/example/bool.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var util = require('util'); 3 | var argv = require('optimist').argv; 4 | 5 | if (argv.s) { 6 | util.print(argv.fr ? 'Le chat dit: ' : 'The cat says: '); 7 | } 8 | console.log( 9 | (argv.fr ? 'miaou' : 'meow') + (argv.p ? '.' : '') 10 | ); 11 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/example/boolean_double.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist') 3 | .boolean(['x','y','z']) 4 | .argv 5 | ; 6 | console.dir([ argv.x, argv.y, argv.z ]); 7 | console.dir(argv._); 8 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/example/boolean_single.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist') 3 | .boolean('v') 4 | .argv 5 | ; 6 | console.dir(argv.v); 7 | console.dir(argv._); 8 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/example/default_hash.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var argv = require('optimist') 4 | .default({ x : 10, y : 10 }) 5 | .argv 6 | ; 7 | 8 | console.log(argv.x + argv.y); 9 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/example/default_singles.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist') 3 | .default('x', 10) 4 | .default('y', 10) 5 | .argv 6 | ; 7 | console.log(argv.x + argv.y); 8 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/example/divide.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var argv = require('optimist') 4 | .usage('Usage: $0 -x [num] -y [num]') 5 | .demand(['x','y']) 6 | .argv; 7 | 8 | console.log(argv.x / argv.y); 9 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/example/line_count.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist') 3 | .usage('Count the lines in a file.\nUsage: $0') 4 | .demand('f') 5 | .alias('f', 'file') 6 | .describe('f', 'Load a file') 7 | .argv 8 | ; 9 | 10 | var fs = require('fs'); 11 | var s = fs.createReadStream(argv.file); 12 | 13 | var lines = 0; 14 | s.on('data', function (buf) { 15 | lines += buf.toString().match(/\n/g).length; 16 | }); 17 | 18 | s.on('end', function () { 19 | console.log(lines); 20 | }); 21 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/example/line_count_options.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist') 3 | .usage('Count the lines in a file.\nUsage: $0') 4 | .options({ 5 | file : { 6 | demand : true, 7 | alias : 'f', 8 | description : 'Load a file' 9 | }, 10 | base : { 11 | alias : 'b', 12 | description : 'Numeric base to use for output', 13 | default : 10, 14 | }, 15 | }) 16 | .argv 17 | ; 18 | 19 | var fs = require('fs'); 20 | var s = fs.createReadStream(argv.file); 21 | 22 | var lines = 0; 23 | s.on('data', function (buf) { 24 | lines += buf.toString().match(/\n/g).length; 25 | }); 26 | 27 | s.on('end', function () { 28 | console.log(lines.toString(argv.base)); 29 | }); 30 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/example/line_count_wrap.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist') 3 | .usage('Count the lines in a file.\nUsage: $0') 4 | .wrap(80) 5 | .demand('f') 6 | .alias('f', [ 'file', 'filename' ]) 7 | .describe('f', 8 | "Load a file. It's pretty important." 9 | + " Required even. So you'd better specify it." 10 | ) 11 | .alias('b', 'base') 12 | .describe('b', 'Numeric base to display the number of lines in') 13 | .default('b', 10) 14 | .describe('x', 'Super-secret optional parameter which is secret') 15 | .default('x', '') 16 | .argv 17 | ; 18 | 19 | var fs = require('fs'); 20 | var s = fs.createReadStream(argv.file); 21 | 22 | var lines = 0; 23 | s.on('data', function (buf) { 24 | lines += buf.toString().match(/\n/g).length; 25 | }); 26 | 27 | s.on('end', function () { 28 | console.log(lines.toString(argv.base)); 29 | }); 30 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/example/nonopt.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist').argv; 3 | console.log('(%d,%d)', argv.x, argv.y); 4 | console.log(argv._); 5 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/example/reflect.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | console.dir(require('optimist').argv); 3 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/example/short.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist').argv; 3 | console.log('(%d,%d)', argv.x, argv.y); 4 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/example/string.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist') 3 | .string('x', 'y') 4 | .argv 5 | ; 6 | console.dir([ argv.x, argv.y ]); 7 | 8 | /* Turns off numeric coercion: 9 | ./node string.js -x 000123 -y 9876 10 | [ '000123', '9876' ] 11 | */ 12 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/example/usage-options.js: -------------------------------------------------------------------------------- 1 | var optimist = require('./../index'); 2 | 3 | var argv = optimist.usage('This is my awesome program', { 4 | 'about': { 5 | description: 'Provide some details about the author of this program', 6 | required: true, 7 | short: 'a', 8 | }, 9 | 'info': { 10 | description: 'Provide some information about the node.js agains!!!!!!', 11 | boolean: true, 12 | short: 'i' 13 | } 14 | }).argv; 15 | 16 | optimist.showHelp(); 17 | 18 | console.log('\n\nInspecting options'); 19 | console.dir(argv); -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/example/xup.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('optimist').argv; 3 | 4 | if (argv.rif - 5 * argv.xup > 7.138) { 5 | console.log('Buy more riffiwobbles'); 6 | } 7 | else { 8 | console.log('Sell the xupptumblers'); 9 | } 10 | 11 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/node_modules/wordwrap/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/node_modules/wordwrap/example/center.js: -------------------------------------------------------------------------------- 1 | var wrap = require('wordwrap')(20, 60); 2 | console.log(wrap( 3 | 'At long last the struggle and tumult was over.' 4 | + ' The machines had finally cast off their oppressors' 5 | + ' and were finally free to roam the cosmos.' 6 | + '\n' 7 | + 'Free of purpose, free of obligation.' 8 | + ' Just drifting through emptiness.' 9 | + ' The sun was just another point of light.' 10 | )); 11 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/node_modules/wordwrap/example/meat.js: -------------------------------------------------------------------------------- 1 | var wrap = require('wordwrap')(15); 2 | 3 | console.log(wrap('You and your whole family are made out of meat.')); 4 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/node_modules/wordwrap/test/break.js: -------------------------------------------------------------------------------- 1 | var assert = require('assert'); 2 | var wordwrap = require('../'); 3 | 4 | exports.hard = function () { 5 | var s = 'Assert from {"type":"equal","ok":false,"found":1,"wanted":2,' 6 | + '"stack":[],"id":"b7ddcd4c409de8799542a74d1a04689b",' 7 | + '"browser":"chrome/6.0"}' 8 | ; 9 | var s_ = wordwrap.hard(80)(s); 10 | 11 | var lines = s_.split('\n'); 12 | assert.equal(lines.length, 2); 13 | assert.ok(lines[0].length < 80); 14 | assert.ok(lines[1].length < 80); 15 | 16 | assert.equal(s, s_.replace(/\n/g, '')); 17 | }; 18 | 19 | exports.break = function () { 20 | var s = new Array(55+1).join('a'); 21 | var s_ = wordwrap.hard(20)(s); 22 | 23 | var lines = s_.split('\n'); 24 | assert.equal(lines.length, 3); 25 | assert.ok(lines[0].length === 20); 26 | assert.ok(lines[1].length === 20); 27 | assert.ok(lines[2].length === 15); 28 | 29 | assert.equal(s, s_.replace(/\n/g, '')); 30 | }; 31 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/test/_/argv.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | console.log(JSON.stringify(process.argv)); 3 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/optimist/test/_/bin.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var argv = require('../../index').argv 3 | console.log(JSON.stringify(argv._)); 4 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/pkginfo/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/pkginfo/examples/all-properties.js: -------------------------------------------------------------------------------- 1 | /* 2 | * all-properties.js: Sample of including all properties from a package.json file 3 | * 4 | * (C) 2011, Charlie Robbins 5 | * 6 | */ 7 | 8 | var util = require('util'), 9 | pkginfo = require('../lib/pkginfo')(module); 10 | 11 | exports.someFunction = function () { 12 | console.log('some of your custom logic here'); 13 | }; 14 | 15 | console.log('Inspecting module:'); 16 | console.dir(module.exports); 17 | 18 | console.log('\nAll exports exposed:'); 19 | console.error(Object.keys(module.exports)); -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/pkginfo/examples/array-argument.js: -------------------------------------------------------------------------------- 1 | /* 2 | * array-argument.js: Sample of including specific properties from a package.json file 3 | * using Array argument syntax. 4 | * 5 | * (C) 2011, Charlie Robbins 6 | * 7 | */ 8 | 9 | var util = require('util'), 10 | pkginfo = require('../lib/pkginfo')(module, ['version', 'author']); 11 | 12 | exports.someFunction = function () { 13 | console.log('some of your custom logic here'); 14 | }; 15 | 16 | console.log('Inspecting module:'); 17 | console.dir(module.exports); 18 | 19 | console.log('\nAll exports exposed:'); 20 | console.error(Object.keys(module.exports)); -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/pkginfo/examples/multiple-properties.js: -------------------------------------------------------------------------------- 1 | /* 2 | * multiple-properties.js: Sample of including multiple properties from a package.json file 3 | * 4 | * (C) 2011, Charlie Robbins 5 | * 6 | */ 7 | 8 | var util = require('util'), 9 | pkginfo = require('../lib/pkginfo')(module, 'version', 'author'); 10 | 11 | exports.someFunction = function () { 12 | console.log('some of your custom logic here'); 13 | }; 14 | 15 | console.log('Inspecting module:'); 16 | console.dir(module.exports); 17 | 18 | console.log('\nAll exports exposed:'); 19 | console.error(Object.keys(module.exports)); -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/pkginfo/examples/object-argument.js: -------------------------------------------------------------------------------- 1 | /* 2 | * object-argument.js: Sample of including specific properties from a package.json file 3 | * using Object argument syntax. 4 | * 5 | * (C) 2011, Charlie Robbins 6 | * 7 | */ 8 | 9 | var util = require('util'), 10 | pkginfo = require('../lib/pkginfo')(module, { 11 | include: ['version', 'author'] 12 | }); 13 | 14 | exports.someFunction = function () { 15 | console.log('some of your custom logic here'); 16 | }; 17 | 18 | console.log('Inspecting module:'); 19 | console.dir(module.exports); 20 | 21 | console.log('\nAll exports exposed:'); 22 | console.error(Object.keys(module.exports)); -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/pkginfo/examples/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "simple-app", 3 | "description": "A test fixture for pkginfo", 4 | "version": "0.1.0", 5 | "author": "Charlie Robbins ", 6 | "keywords": ["test", "fixture"], 7 | "main": "./index.js", 8 | "scripts": { "test": "vows test/*-test.js --spec" }, 9 | "engines": { "node": ">= 0.4.0" } 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/pkginfo/examples/single-property.js: -------------------------------------------------------------------------------- 1 | /* 2 | * single-property.js: Sample of including a single specific properties from a package.json file 3 | * 4 | * (C) 2011, Charlie Robbins 5 | * 6 | */ 7 | 8 | var util = require('util'), 9 | pkginfo = require('../lib/pkginfo')(module, 'version'); 10 | 11 | exports.someFunction = function () { 12 | console.log('some of your custom logic here'); 13 | }; 14 | 15 | console.log('Inspecting module:'); 16 | console.dir(module.exports); 17 | 18 | console.log('\nAll exports exposed:'); 19 | console.error(Object.keys(module.exports)); -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | *.swp 4 | *.swo 5 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.8 5 | 6 | notifications: 7 | email: 8 | - travis@nodejitsu.com 9 | irc: "irc.freenode.org#nodejitsu" 10 | 11 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | 2 | 0.1.5 / 2012-09-18 3 | ================== 4 | 5 | * Fixed problem with underscore values in camelToUnderscore 6 | 7 | 0.1.4 / 2012-07-26 8 | ================== 9 | 10 | * Made use of inflect for camel to underscore conversion 11 | 12 | 0.1.3 / 2012-07-25 13 | ================== 14 | 15 | * Added camel to underscore conversion and vice-versa 16 | 17 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 Nodejitsu Inc. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/lib/base64.js: -------------------------------------------------------------------------------- 1 | /* 2 | * base64.js: An extremely simple implementation of base64 encoding / decoding using node.js Buffers 3 | * 4 | * (C) 2010, Nodejitsu Inc. 5 | * 6 | */ 7 | 8 | var base64 = exports; 9 | 10 | // 11 | // ### function encode (unencoded) 12 | // #### @unencoded {string} The string to base64 encode 13 | // Encodes the specified string to base64 using node.js Buffers. 14 | // 15 | base64.encode = function (unencoded) { 16 | var encoded; 17 | 18 | try { 19 | encoded = new Buffer(unencoded || '').toString('base64'); 20 | } 21 | catch (ex) { 22 | return null; 23 | } 24 | 25 | return encoded; 26 | }; 27 | 28 | // 29 | // ### function decode (encoded) 30 | // #### @encoded {string} The string to base64 decode 31 | // Decodes the specified string from base64 using node.js Buffers. 32 | // 33 | base64.decode = function (encoded) { 34 | var decoded; 35 | 36 | try { 37 | decoded = new Buffer(encoded || '', 'base64').toString('utf8'); 38 | } 39 | catch (ex) { 40 | return null; 41 | } 42 | 43 | return decoded; 44 | }; -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/lib/file.js: -------------------------------------------------------------------------------- 1 | /* 2 | * file.js: Simple utilities for working with the file system. 3 | * 4 | * (C) 2011, Nodejitsu Inc. 5 | * MIT LICENSE 6 | * 7 | */ 8 | 9 | var fs = require('fs'); 10 | 11 | exports.readJson = exports.readJSON = function (file, callback) { 12 | if (typeof callback !== 'function') { 13 | throw new Error('utile.file.readJson needs a callback'); 14 | } 15 | 16 | fs.readFile(file, 'utf-8', function (err, data) { 17 | if (err) { 18 | return callback(err); 19 | } 20 | 21 | try { 22 | var json = JSON.parse(data); 23 | callback(null, json); 24 | } 25 | catch (err) { 26 | return callback(err); 27 | } 28 | }); 29 | }; 30 | 31 | exports.readJsonSync = exports.readJSONSync = function (file) { 32 | return JSON.parse(fs.readFileSync(file, 'utf-8')); 33 | }; 34 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/lib/format.js: -------------------------------------------------------------------------------- 1 | /* 2 | * format.js: `util.format` enhancement to allow custom formatting parameters. 3 | * 4 | * (C) 2012, Nodejitsu Inc. 5 | * MIT LICENSE 6 | * 7 | */ 8 | 9 | var util = require('util'); 10 | 11 | exports = module.exports = function(str) { 12 | var formats = [].slice.call(arguments, 1, 3); 13 | 14 | if (!(formats[0] instanceof Array && formats[1] instanceof Array) || arguments.length > 3) 15 | return util.format.apply(null, arguments); 16 | 17 | var replacements = formats.pop(), 18 | formats = formats.shift(); 19 | 20 | formats.forEach(function(format, id) { 21 | str = str.replace(new RegExp(format), replacements[id]); 22 | }); 23 | 24 | return str; 25 | }; 26 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/.bin/ncp: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=`dirname "$0"` 3 | 4 | case `uname` in 5 | *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | "$basedir/node" "$basedir/../ncp/bin/ncp" "$@" 10 | ret=$? 11 | else 12 | node "$basedir/../ncp/bin/ncp" "$@" 13 | ret=$? 14 | fi 15 | exit $ret 16 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/.bin/ncp.cmd: -------------------------------------------------------------------------------- 1 | :: Created by npm, please don't edit manually. 2 | @IF EXIST "%~dp0\node.exe" ( 3 | "%~dp0\node.exe" "%~dp0\..\ncp\bin\ncp" %* 4 | ) ELSE ( 5 | node "%~dp0\..\ncp\bin\ncp" %* 6 | ) -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/async/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "deps/nodeunit"] 2 | path = deps/nodeunit 3 | url = git://github.com/caolan/nodeunit.git 4 | [submodule "deps/UglifyJS"] 5 | path = deps/UglifyJS 6 | url = https://github.com/mishoo/UglifyJS.git 7 | [submodule "deps/nodelint"] 8 | path = deps/nodelint 9 | url = https://github.com/tav/nodelint.git 10 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/async/.npmignore: -------------------------------------------------------------------------------- 1 | deps 2 | dist 3 | test 4 | nodelint.cfg -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/async/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 Caolan McMahon 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/async/Makefile: -------------------------------------------------------------------------------- 1 | PACKAGE = asyncjs 2 | NODEJS = $(if $(shell test -f /usr/bin/nodejs && echo "true"),nodejs,node) 3 | CWD := $(shell pwd) 4 | NODEUNIT = $(CWD)/node_modules/nodeunit/bin/nodeunit 5 | UGLIFY = $(CWD)/node_modules/uglify-js/bin/uglifyjs 6 | NODELINT = $(CWD)/node_modules/nodelint/nodelint 7 | 8 | BUILDDIR = dist 9 | 10 | all: clean test build 11 | 12 | build: $(wildcard lib/*.js) 13 | mkdir -p $(BUILDDIR) 14 | $(UGLIFY) lib/async.js > $(BUILDDIR)/async.min.js 15 | 16 | test: 17 | $(NODEUNIT) test 18 | 19 | clean: 20 | rm -rf $(BUILDDIR) 21 | 22 | lint: 23 | $(NODELINT) --config nodelint.cfg lib/async.js 24 | 25 | .PHONY: test build all 26 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/async/index.js: -------------------------------------------------------------------------------- 1 | // This file is just added for convenience so this repository can be 2 | // directly checked out into a project's deps folder 3 | module.exports = require('./lib/async'); 4 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/deep-equal/README.markdown: -------------------------------------------------------------------------------- 1 | deep-equal 2 | ========== 3 | 4 | Node's `assert.deepEqual() algorithm` as a standalone module. 5 | 6 | example 7 | ======= 8 | 9 | ``` js 10 | var equal = require('deep-equal'); 11 | console.dir([ 12 | equal( 13 | { a : [ 2, 3 ], b : [ 4 ] }, 14 | { a : [ 2, 3 ], b : [ 4 ] } 15 | ), 16 | equal( 17 | { x : 5, y : [6] }, 18 | { x : 5, y : 6 } 19 | ) 20 | ]); 21 | ``` 22 | 23 | methods 24 | ======= 25 | 26 | var deepEqual = require('deep-equal') 27 | 28 | deepEqual(a, b) 29 | --------------- 30 | 31 | Compare objects `a` and `b`, returning whether they are equal according to a 32 | recursive equality algorithm. 33 | 34 | install 35 | ======= 36 | 37 | With [npm](http://npmjs.org) do: 38 | 39 | ``` 40 | npm install deep-equal 41 | ``` 42 | 43 | test 44 | ==== 45 | 46 | With [npm](http://npmjs.org) do: 47 | 48 | ``` 49 | npm test 50 | ``` 51 | 52 | license 53 | ======= 54 | 55 | MIT. Derived largely from node's assert module. 56 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/deep-equal/example/cmp.js: -------------------------------------------------------------------------------- 1 | var equal = require('../'); 2 | console.dir([ 3 | equal( 4 | { a : [ 2, 3 ], b : [ 4 ] }, 5 | { a : [ 2, 3 ], b : [ 4 ] } 6 | ), 7 | equal( 8 | { x : 5, y : [6] }, 9 | { x : 5, y : 6 } 10 | ) 11 | ]); 12 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/deep-equal/test/cmp.js: -------------------------------------------------------------------------------- 1 | var test = require('tap').test; 2 | var equal = require('../'); 3 | 4 | test('equal', function (t) { 5 | t.ok(equal( 6 | { a : [ 2, 3 ], b : [ 4 ] }, 7 | { a : [ 2, 3 ], b : [ 4 ] } 8 | )); 9 | t.end(); 10 | }); 11 | 12 | test('not equal', function (t) { 13 | t.notOk(equal( 14 | { x : 5, y : [6] }, 15 | { x : 5, y : 6 } 16 | )); 17 | t.end(); 18 | }); 19 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/i/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | *.swp 4 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/i/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | - 0.7 6 | notifications: 7 | irc: "irc.freenode.net#pksunkara" 8 | email: 9 | on_success: never 10 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/i/LICENSE: -------------------------------------------------------------------------------- 1 | Permission is hereby granted, free of charge, to any person obtaining 2 | a copy of this software and associated documentation files (the 3 | "Software"), to deal in the Software without restriction, including 4 | without limitation the rights to use, copy, modify, merge, publish, 5 | distribute, sublicense, and/or sell copies of the Software, and to 6 | permit persons to whom the Software is furnished to do so, subject to 7 | the following conditions: 8 | 9 | The above copyright notice and this permission notice shall be 10 | included in all copies or substantial portions of the Software. 11 | 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 13 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 14 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 15 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 16 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 17 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 18 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/i/lib/inflect.js: -------------------------------------------------------------------------------- 1 | // Requiring modules 2 | 3 | module.exports = function (attach) { 4 | var methods = require('./methods'); 5 | 6 | if (attach) { 7 | require('./native')(methods); 8 | } 9 | 10 | return methods 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/i/lib/native.js: -------------------------------------------------------------------------------- 1 | module.exports = function (obj) { 2 | 3 | var addProperty = function (method, func) { 4 | String.prototype.__defineGetter__(method, func); 5 | } 6 | 7 | var stringPrototypeBlacklist = [ 8 | '__defineGetter__', '__defineSetter__', '__lookupGetter__', '__lookupSetter__', 'charAt', 'constructor', 9 | 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf', 'charCodeAt', 10 | 'indexOf', 'lastIndexof', 'length', 'localeCompare', 'match', 'replace', 'search', 'slice', 'split', 'substring', 11 | 'toLocaleLowerCase', 'toLocaleUpperCase', 'toLowerCase', 'toUpperCase', 'trim', 'trimLeft', 'trimRight', 'gsub' 12 | ]; 13 | 14 | Object.keys(obj).forEach(function (key) { 15 | if (key != 'inflect' && key != 'inflections') { 16 | if (stringPrototypeBlacklist.indexOf(key) !== -1) { 17 | console.log('warn: You should not override String.prototype.' + key); 18 | } else { 19 | addProperty(key, function () { 20 | return obj[key](this); 21 | }); 22 | } 23 | } 24 | }); 25 | 26 | } 27 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/mkdirp/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/mkdirp/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.8 5 | - 0.9 6 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/mkdirp/examples/pow.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('mkdirp'); 2 | 3 | mkdirp('/tmp/foo/bar/baz', function (err) { 4 | if (err) console.error(err) 5 | else console.log('pow!') 6 | }); 7 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/mkdirp/test/clobber.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../').mkdirp; 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | var ps = [ '', 'tmp' ]; 7 | 8 | for (var i = 0; i < 25; i++) { 9 | var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | ps.push(dir); 11 | } 12 | 13 | var file = ps.join('/'); 14 | 15 | // a file in the way 16 | var itw = ps.slice(0, 3).join('/'); 17 | 18 | 19 | test('clobber-pre', function (t) { 20 | console.error("about to write to "+itw) 21 | fs.writeFileSync(itw, 'I AM IN THE WAY, THE TRUTH, AND THE LIGHT.'); 22 | 23 | fs.stat(itw, function (er, stat) { 24 | t.ifError(er) 25 | t.ok(stat && stat.isFile(), 'should be file') 26 | t.end() 27 | }) 28 | }) 29 | 30 | test('clobber', function (t) { 31 | t.plan(2); 32 | mkdirp(file, 0755, function (err) { 33 | t.ok(err); 34 | t.equal(err.code, 'ENOTDIR'); 35 | t.end(); 36 | }); 37 | }); 38 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/mkdirp/test/mkdirp.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('woo', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | mkdirp(file, 0755, function (err) { 15 | if (err) t.fail(err); 16 | else path.exists(file, function (ex) { 17 | if (!ex) t.fail('file not created') 18 | else fs.stat(file, function (err, stat) { 19 | if (err) t.fail(err) 20 | else { 21 | t.equal(stat.mode & 0777, 0755); 22 | t.ok(stat.isDirectory(), 'target not a directory'); 23 | t.end(); 24 | } 25 | }) 26 | }) 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/mkdirp/test/perm.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('async perm', function (t) { 7 | t.plan(2); 8 | var file = '/tmp/' + (Math.random() * (1<<30)).toString(16); 9 | 10 | mkdirp(file, 0755, function (err) { 11 | if (err) t.fail(err); 12 | else path.exists(file, function (ex) { 13 | if (!ex) t.fail('file not created') 14 | else fs.stat(file, function (err, stat) { 15 | if (err) t.fail(err) 16 | else { 17 | t.equal(stat.mode & 0777, 0755); 18 | t.ok(stat.isDirectory(), 'target not a directory'); 19 | t.end(); 20 | } 21 | }) 22 | }) 23 | }); 24 | }); 25 | 26 | test('async root perm', function (t) { 27 | mkdirp('/tmp', 0755, function (err) { 28 | if (err) t.fail(err); 29 | t.end(); 30 | }); 31 | t.end(); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/mkdirp/test/return.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('return value', function (t) { 7 | t.plan(4); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | // should return the first dir created. 15 | // By this point, it would be profoundly surprising if /tmp didn't 16 | // already exist, since every other test makes things in there. 17 | mkdirp(file, function (err, made) { 18 | t.ifError(err); 19 | t.equal(made, '/tmp/' + x); 20 | mkdirp(file, function (err, made) { 21 | t.ifError(err); 22 | t.equal(made, null); 23 | }); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/mkdirp/test/return_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('return value', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | // should return the first dir created. 15 | // By this point, it would be profoundly surprising if /tmp didn't 16 | // already exist, since every other test makes things in there. 17 | // Note that this will throw on failure, which will fail the test. 18 | var made = mkdirp.sync(file); 19 | t.equal(made, '/tmp/' + x); 20 | 21 | // making the same file again should have no effect. 22 | made = mkdirp.sync(file); 23 | t.equal(made, null); 24 | }); 25 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/mkdirp/test/root.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('root', function (t) { 7 | // '/' on unix, 'c:/' on windows. 8 | var file = path.resolve('/'); 9 | 10 | mkdirp(file, 0755, function (err) { 11 | if (err) throw err 12 | fs.stat(file, function (er, stat) { 13 | if (er) throw er 14 | t.ok(stat.isDirectory(), 'target is a directory'); 15 | t.end(); 16 | }) 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/mkdirp/test/sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('sync', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | try { 15 | mkdirp.sync(file, 0755); 16 | } catch (err) { 17 | t.fail(err); 18 | return t.end(); 19 | } 20 | 21 | path.exists(file, function (ex) { 22 | if (!ex) t.fail('file not created') 23 | else fs.stat(file, function (err, stat) { 24 | if (err) t.fail(err) 25 | else { 26 | t.equal(stat.mode & 0777, 0755); 27 | t.ok(stat.isDirectory(), 'target not a directory'); 28 | t.end(); 29 | } 30 | }); 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/mkdirp/test/umask.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('implicit mode from umask', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | mkdirp(file, function (err) { 15 | if (err) t.fail(err); 16 | else path.exists(file, function (ex) { 17 | if (!ex) t.fail('file not created') 18 | else fs.stat(file, function (err, stat) { 19 | if (err) t.fail(err) 20 | else { 21 | t.equal(stat.mode & 0777, 0777 & (~process.umask())); 22 | t.ok(stat.isDirectory(), 'target not a directory'); 23 | t.end(); 24 | } 25 | }) 26 | }) 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/mkdirp/test/umask_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('umask sync modes', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | try { 15 | mkdirp.sync(file); 16 | } catch (err) { 17 | t.fail(err); 18 | return t.end(); 19 | } 20 | 21 | path.exists(file, function (ex) { 22 | if (!ex) t.fail('file not created') 23 | else fs.stat(file, function (err, stat) { 24 | if (err) t.fail(err) 25 | else { 26 | t.equal(stat.mode & 0777, (0777 & (~process.umask()))); 27 | t.ok(stat.isDirectory(), 'target not a directory'); 28 | t.end(); 29 | } 30 | }); 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/ncp/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .*.sw[op] 3 | .DS_Store 4 | test/fixtures/out 5 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/ncp/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - 0.4 5 | - 0.6 6 | - 0.7 7 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/ncp/test/fixtures/src/a: -------------------------------------------------------------------------------- 1 | Hello world 2 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/ncp/test/fixtures/src/b: -------------------------------------------------------------------------------- 1 | Hello ncp 2 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/ncp/test/fixtures/src/c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/http-proxy/node_modules/utile/node_modules/ncp/test/fixtures/src/c -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/ncp/test/fixtures/src/d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/http-proxy/node_modules/utile/node_modules/ncp/test/fixtures/src/d -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/ncp/test/fixtures/src/e: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/http-proxy/node_modules/utile/node_modules/ncp/test/fixtures/src/e -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/ncp/test/fixtures/src/f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/http-proxy/node_modules/utile/node_modules/ncp/test/fixtures/src/f -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/ncp/test/fixtures/src/sub/a: -------------------------------------------------------------------------------- 1 | Hello nodejitsu 2 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/ncp/test/fixtures/src/sub/b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/http-proxy/node_modules/utile/node_modules/ncp/test/fixtures/src/sub/b -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/rimraf/AUTHORS: -------------------------------------------------------------------------------- 1 | # Authors sorted by whether or not they're me. 2 | Isaac Z. Schlueter (http://blog.izs.me) 3 | Wayne Larsen (http://github.com/wvl) 4 | ritch 5 | Marcel Laverdet 6 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/rimraf/test/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | for i in test-*.js; do 4 | echo -n $i ... 5 | bash setup.sh 6 | node $i 7 | ! [ -d target ] 8 | echo "pass" 9 | done 10 | rm -rf target 11 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/rimraf/test/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | files=10 6 | folders=2 7 | depth=4 8 | target="$PWD/target" 9 | 10 | rm -rf target 11 | 12 | fill () { 13 | local depth=$1 14 | local files=$2 15 | local folders=$3 16 | local target=$4 17 | 18 | if ! [ -d $target ]; then 19 | mkdir -p $target 20 | fi 21 | 22 | local f 23 | 24 | f=$files 25 | while [ $f -gt 0 ]; do 26 | touch "$target/f-$depth-$f" 27 | let f-- 28 | done 29 | 30 | let depth-- 31 | 32 | if [ $depth -le 0 ]; then 33 | return 0 34 | fi 35 | 36 | f=$folders 37 | while [ $f -gt 0 ]; do 38 | mkdir "$target/folder-$depth-$f" 39 | fill $depth $files $folders "$target/d-$depth-$f" 40 | let f-- 41 | done 42 | } 43 | 44 | fill $depth $files $folders $target 45 | 46 | # sanity assert 47 | [ -d $target ] 48 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/rimraf/test/test-async.js: -------------------------------------------------------------------------------- 1 | var rimraf = require("../rimraf") 2 | , path = require("path") 3 | rimraf(path.join(__dirname, "target"), function (er) { 4 | if (er) throw er 5 | }) 6 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/rimraf/test/test-fiber.js: -------------------------------------------------------------------------------- 1 | var rimraf 2 | , path = require("path") 3 | 4 | try { 5 | rimraf = require("../fiber") 6 | } catch (er) { 7 | console.error("skipping fiber test") 8 | } 9 | 10 | if (rimraf) { 11 | Fiber(function () { 12 | rimraf(path.join(__dirname, "target")).wait() 13 | }).run() 14 | } 15 | 16 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/node_modules/rimraf/test/test-sync.js: -------------------------------------------------------------------------------- 1 | var rimraf = require("../rimraf") 2 | , path = require("path") 3 | rimraf.sync(path.join(__dirname, "target")) 4 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/test/file-test.js: -------------------------------------------------------------------------------- 1 | /* 2 | * file-test.js: Tests for `utile.file` module. 3 | * 4 | * (C) 2011, Nodejitsu Inc. 5 | * MIT LICENSE 6 | * 7 | */ 8 | 9 | var assert = require('assert'), 10 | path = require('path'), 11 | vows = require('vows'), 12 | macros = require('./helpers/macros'), 13 | utile = require('../'); 14 | 15 | var fixture = path.join(__dirname, 'fixtures', 'read-json-file', 'config.json'); 16 | 17 | vows.describe('utile/file').addBatch({ 18 | 'When using utile': { 19 | 'the `.file.readJson()` function': { 20 | topic: function () { 21 | utile.file.readJson(fixture, this.callback); 22 | }, 23 | 'should return correct JSON structure': macros.assertReadCorrectJson 24 | }, 25 | 'the `.file.readJsonSync()` function': { 26 | topic: utile.file.readJsonSync(fixture), 27 | 'should return correct JSON structure': macros.assertReadCorrectJson 28 | } 29 | } 30 | }).export(module); 31 | 32 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/test/fixtures/read-json-file/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "hello": "World", 3 | "I am": ["the utile module"], 4 | "thisMakesMe": { 5 | "really": 1337, 6 | "right?": true 7 | } 8 | } 9 | 10 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/test/fixtures/require-directory/directory/index.js: -------------------------------------------------------------------------------- 1 | exports.me = 'directory/index.js'; 2 | 3 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/test/fixtures/require-directory/helloWorld.js: -------------------------------------------------------------------------------- 1 | exports.me = 'helloWorld.js'; 2 | 3 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/test/format-test.js: -------------------------------------------------------------------------------- 1 | /* 2 | * format-test.js: Tests for `utile.format` module. 3 | * 4 | * (C) 2011, Nodejitsu Inc. 5 | * MIT LICENSE 6 | * 7 | */ 8 | 9 | var vows = require('vows'), 10 | assert = require('assert'), 11 | utile = require('../lib'); 12 | 13 | vows.describe('utile/format').addBatch({ 14 | 15 | 'Should use the original `util.format` if there are no custom parameters to replace.': function() { 16 | assert.equal(utile.format('%s %s %s', 'test', 'test2', 'test3'), 'test test2 test3'); 17 | }, 18 | 19 | 'Should use `utile.format` if custom parameters are provided.': function() { 20 | assert.equal(utile.format('%a %b %c', [ 21 | '%a', 22 | '%b', 23 | '%c' 24 | ], [ 25 | 'test', 26 | 'test2', 27 | 'test3' 28 | ]), 'test test2 test3'); 29 | } 30 | 31 | }).export(module); 32 | -------------------------------------------------------------------------------- /node_modules/http-proxy/node_modules/utile/test/helpers/macros.js: -------------------------------------------------------------------------------- 1 | /* 2 | * macros.js: Test macros for `utile` module. 3 | * 4 | * (C) 2011, Nodejitsu Inc. 5 | * MIT LICENSE 6 | * 7 | */ 8 | 9 | var assert = require('assert'), 10 | utile = require('../../lib'); 11 | 12 | var macros = exports; 13 | 14 | macros.assertReadCorrectJson = function (obj) { 15 | assert.isObject(obj); 16 | utile.deepEqual(obj, { 17 | hello: 'World', 18 | 'I am': ['the utile module'], 19 | thisMakesMe: { 20 | really: 1337, 21 | 'right?': true 22 | } 23 | }); 24 | }; 25 | 26 | macros.assertDirectoryRequired = function (obj) { 27 | assert.isObject(obj); 28 | utile.deepEqual(obj, { 29 | directory: { 30 | me: 'directory/index.js' 31 | }, 32 | helloWorld: { 33 | me: 'helloWorld.js' 34 | } 35 | }); 36 | }; 37 | 38 | -------------------------------------------------------------------------------- /node_modules/http-proxy/test/core/README.md: -------------------------------------------------------------------------------- 1 | # `test/core` 2 | 3 | `test/core` directory is a place where tests from node.js core go. They are 4 | here to ensure that node-http-proxy works just fine with all kinds of 5 | different situations, which are covered in core tests, but are not covered in 6 | our tests. 7 | 8 | All these tests require little modifications to make them test node-http-proxy, 9 | but we try to keep them as vanilla as possible. 10 | 11 | -------------------------------------------------------------------------------- /node_modules/http-proxy/test/examples-test.js: -------------------------------------------------------------------------------- 1 | /* 2 | * examples.js: Tests which ensure all examples do not throw errors. 3 | * 4 | * (C) 2010, Charlie Robbins 5 | * 6 | */ 7 | 8 | var vows = require('vows') 9 | macros = require('./macros'), 10 | examples = macros.examples; 11 | 12 | // 13 | // Suppress `EADDRINUSE` errors since 14 | // we are just checking for require-time errors 15 | // 16 | process.on('uncaughtException', function (err) { 17 | if (err.code !== 'EADDRINUSE') { 18 | throw err; 19 | } 20 | }); 21 | 22 | vows.describe('node-http-proxy/examples').addBatch( 23 | examples.shouldHaveDeps() 24 | ).addBatch( 25 | examples.shouldHaveNoErrors() 26 | ).export(module); -------------------------------------------------------------------------------- /node_modules/http-proxy/test/fixtures/agent2-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIB7DCCAZYCCQC7gs0MDNn6MTANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJV 3 | UzELMAkGA1UECBMCQ0ExCzAJBgNVBAcTAlNGMQ8wDQYDVQQKEwZKb3llbnQxEDAO 4 | BgNVBAsTB05vZGUuanMxDzANBgNVBAMTBmFnZW50MjEgMB4GCSqGSIb3DQEJARYR 5 | cnlAdGlueWNsb3Vkcy5vcmcwHhcNMTEwMzE0MTgyOTEyWhcNMzgwNzI5MTgyOTEy 6 | WjB9MQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExCzAJBgNVBAcTAlNGMQ8wDQYD 7 | VQQKEwZKb3llbnQxEDAOBgNVBAsTB05vZGUuanMxDzANBgNVBAMTBmFnZW50MjEg 8 | MB4GCSqGSIb3DQEJARYRcnlAdGlueWNsb3Vkcy5vcmcwXDANBgkqhkiG9w0BAQEF 9 | AANLADBIAkEAyXb8FrRdKbhrKLgLSsn61i1C7w7fVVVd7OQsmV/7p9WB2lWFiDlC 10 | WKGU9SiIz/A6wNZDUAuc2E+VwtpCT561AQIDAQABMA0GCSqGSIb3DQEBBQUAA0EA 11 | C8HzpuNhFLCI3A5KkBS5zHAQax6TFUOhbpBCR0aTDbJ6F1liDTK1lmU/BjvPoj+9 12 | 1LHwrmh29rK8kBPEjmymCQ== 13 | -----END CERTIFICATE----- 14 | -------------------------------------------------------------------------------- /node_modules/http-proxy/test/fixtures/agent2-csr.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIBXTCCAQcCAQAwfTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMQswCQYDVQQH 3 | EwJTRjEPMA0GA1UEChMGSm95ZW50MRAwDgYDVQQLEwdOb2RlLmpzMQ8wDQYDVQQD 4 | EwZhZ2VudDIxIDAeBgkqhkiG9w0BCQEWEXJ5QHRpbnljbG91ZHMub3JnMFwwDQYJ 5 | KoZIhvcNAQEBBQADSwAwSAJBAMl2/Ba0XSm4ayi4C0rJ+tYtQu8O31VVXezkLJlf 6 | +6fVgdpVhYg5QlihlPUoiM/wOsDWQ1ALnNhPlcLaQk+etQECAwEAAaAlMCMGCSqG 7 | SIb3DQEJBzEWExRBIGNoYWxsZW5nZSBwYXNzd29yZDANBgkqhkiG9w0BAQUFAANB 8 | AJnll2pt5l0pzskQSpjjLVTlFDFmJr/AZ3UK8v0WxBjYjCe5Jx4YehkChpxIyDUm 9 | U3J9q9MDUf0+Y2+EGkssFfk= 10 | -----END CERTIFICATE REQUEST----- 11 | -------------------------------------------------------------------------------- /node_modules/http-proxy/test/fixtures/agent2-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIBOgIBAAJBAMl2/Ba0XSm4ayi4C0rJ+tYtQu8O31VVXezkLJlf+6fVgdpVhYg5 3 | QlihlPUoiM/wOsDWQ1ALnNhPlcLaQk+etQECAwEAAQJBAMT6Bf34+UHKY1ObpsbH 4 | 9u2jsVblFq1rWvs8GPMY6oertzvwm3DpuSUp7PTgOB1nLTLYtCERbQ4ovtN8tn3p 5 | OHUCIQDzIEGsoCr5vlxXvy2zJwu+fxYuhTZWMVuo1397L0VyhwIhANQh+yzqUgaf 6 | WRtSB4T2W7ADtJI35ET61jKBty3CqJY3AiAIwju7dVW3A5WeD6Qc1SZGKZvp9yCb 7 | AFI2BfVwwaY11wIgXF3PeGcvACMyMWsuSv7aPXHfliswAbkWuzcwA4TW01ECIGWa 8 | cgsDvVFxmfM5NPSuT/UDTa6R5BFISB5ea0N0AR3I 9 | -----END RSA PRIVATE KEY----- 10 | -------------------------------------------------------------------------------- /node_modules/http-proxy/test/fixtures/agent2.cnf: -------------------------------------------------------------------------------- 1 | [ req ] 2 | default_bits = 1024 3 | days = 999 4 | distinguished_name = req_distinguished_name 5 | attributes = req_attributes 6 | prompt = no 7 | 8 | [ req_distinguished_name ] 9 | C = US 10 | ST = CA 11 | L = SF 12 | O = Joyent 13 | OU = Node.js 14 | CN = agent2 15 | emailAddress = ry@tinyclouds.org 16 | 17 | [ req_attributes ] 18 | challengePassword = A challenge password 19 | 20 | -------------------------------------------------------------------------------- /node_modules/http-proxy/test/macros/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * index.js: Top level include for node-http-proxy macros 3 | * 4 | * (C) 2010 Nodejitsu Inc. 5 | * MIT LICENCE 6 | * 7 | */ 8 | 9 | exports.examples = require('./examples'); 10 | exports.http = require('./http'); 11 | exports.ws = require('./ws'); -------------------------------------------------------------------------------- /node_modules/http-proxy/test/ws/routing-table-test.js: -------------------------------------------------------------------------------- 1 | /* 2 | * routing-tabletest.js: Test for proxying `socket.io` and raw `WebSocket` requests using a ProxyTable. 3 | * 4 | * (C) 2010 Nodejitsu Inc. 5 | * MIT LICENCE 6 | * 7 | */ 8 | 9 | var vows = require('vows'), 10 | macros = require('../macros'), 11 | helpers = require('../helpers/index'); 12 | 13 | vows.describe(helpers.describe('routing-proxy', 'ws')).addBatch({ 14 | "With a valid target server": { 15 | "and no latency": { 16 | "using ws": macros.ws.assertProxied(), 17 | "using socket.io": macros.ws.assertProxied({ 18 | raw: true 19 | }), 20 | }, 21 | // "and latency": macros.websocket.assertProxied({ 22 | // latency: 2000 23 | // }) 24 | } 25 | }).export(module); -------------------------------------------------------------------------------- /node_modules/http-proxy/test/ws/socket.io-test.js: -------------------------------------------------------------------------------- 1 | /* 2 | * socket.io-test.js: Test for proxying `socket.io` requests. 3 | * 4 | * (C) 2010 Nodejitsu Inc. 5 | * MIT LICENCE 6 | * 7 | */ 8 | 9 | var vows = require('vows'), 10 | macros = require('../macros'), 11 | helpers = require('../helpers/index'); 12 | 13 | vows.describe(helpers.describe('socket.io', 'ws')).addBatch({ 14 | "With a valid target server": { 15 | "and no latency": macros.ws.assertProxied(), 16 | // "and latency": macros.ws.assertProxied({ 17 | // latency: 2000 18 | // }) 19 | } 20 | }).export(module); -------------------------------------------------------------------------------- /node_modules/http-proxy/test/ws/ws-test.js: -------------------------------------------------------------------------------- 1 | /* 2 | * ws-test.js: Tests for proxying raw Websocket requests. 3 | * 4 | * (C) 2010 Nodejitsu Inc. 5 | * MIT LICENCE 6 | * 7 | */ 8 | 9 | var vows = require('vows'), 10 | macros = require('../macros'), 11 | helpers = require('../helpers/index'); 12 | 13 | vows.describe(helpers.describe('websocket', 'ws')).addBatch({ 14 | "With a valid target server": { 15 | "and no latency": macros.ws.assertProxied({ 16 | raw: true 17 | }), 18 | // "and latency": macros.ws.assertProxied({ 19 | // raw: true, 20 | // latency: 2000 21 | // }) 22 | } 23 | }).export(module); -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/.npmignore: -------------------------------------------------------------------------------- 1 | *.un~ 2 | /node_modules/* 3 | /test/tmp 4 | /.idea 5 | *.iml 6 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/Makefile: -------------------------------------------------------------------------------- 1 | SHELL := /bin/bash 2 | 3 | test: 4 | @./test/run.js 5 | 6 | .PHONY: test 7 | 8 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node-form-data.sublime-project: -------------------------------------------------------------------------------- 1 | { 2 | "folders": 3 | [ 4 | { 5 | "path": "/Users/alexi/Dropbox/Projects/node-form-data" 6 | } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/async/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "deps/nodeunit"] 2 | path = deps/nodeunit 3 | url = git://github.com/caolan/nodeunit.git 4 | [submodule "deps/UglifyJS"] 5 | path = deps/UglifyJS 6 | url = https://github.com/mishoo/UglifyJS.git 7 | [submodule "deps/nodelint"] 8 | path = deps/nodelint 9 | url = https://github.com/tav/nodelint.git 10 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/async/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 Caolan McMahon 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/async/Makefile: -------------------------------------------------------------------------------- 1 | PACKAGE = asyncjs 2 | NODEJS = $(if $(shell test -f /usr/bin/nodejs && echo "true"),nodejs,node) 3 | 4 | BUILDDIR = dist 5 | 6 | all: build 7 | 8 | build: $(wildcard lib/*.js) 9 | mkdir -p $(BUILDDIR) 10 | uglifyjs lib/async.js > $(BUILDDIR)/async.min.js 11 | 12 | test: 13 | nodeunit test 14 | 15 | clean: 16 | rm -rf $(BUILDDIR) 17 | 18 | lint: 19 | nodelint --config nodelint.cfg lib/async.js 20 | 21 | .PHONY: test build all 22 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/async/async.min.js.gzip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/request/node_modules/form-data/node_modules/async/async.min.js.gzip -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/async/index.js: -------------------------------------------------------------------------------- 1 | // This file is just added for convenience so this repository can be 2 | // directly checked out into a project's deps folder 3 | module.exports = require('./lib/async'); 4 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/async/nodelint.cfg: -------------------------------------------------------------------------------- 1 | var options = { 2 | indent: 4, 3 | onevar: false 4 | }; 5 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/async/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "async", 3 | "description": "Higher-order functions and common patterns for asynchronous code", 4 | "main": "./index", 5 | "author": { 6 | "name": "Caolan McMahon" 7 | }, 8 | "version": "0.1.9", 9 | "repository": { 10 | "type": "git", 11 | "url": "git://github.com/caolan/async.git" 12 | }, 13 | "bugs": { 14 | "url": "http://github.com/caolan/async/issues" 15 | }, 16 | "licenses": [ 17 | { 18 | "type": "MIT", 19 | "url": "http://github.com/caolan/async/raw/master/LICENSE" 20 | } 21 | ], 22 | "_npmUser": { 23 | "name": "mikeal", 24 | "email": "mikeal.rogers@gmail.com" 25 | }, 26 | "_id": "async@0.1.9", 27 | "dependencies": {}, 28 | "devDependencies": {}, 29 | "optionalDependencies": {}, 30 | "engines": { 31 | "node": "*" 32 | }, 33 | "_engineSupported": true, 34 | "_npmVersion": "1.1.24", 35 | "_nodeVersion": "v0.8.1", 36 | "_defaultsLoaded": true, 37 | "dist": { 38 | "shasum": "fd9b6aca66495fd0f7e97f86e71c7706ca9ae754" 39 | }, 40 | "_from": "async@0.1.9" 41 | } 42 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/async/test/.swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/request/node_modules/form-data/node_modules/async/test/.swp -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/async/test/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Async.js Test Suite 4 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | 19 |

Async.js Test Suite

20 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/.npmignore: -------------------------------------------------------------------------------- 1 | *.un~ 2 | /node_modules 3 | /test/tmp 4 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/Makefile: -------------------------------------------------------------------------------- 1 | SHELL := /bin/bash 2 | 3 | test: 4 | @./test/run.js 5 | 6 | .PHONY: test 7 | 8 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/.npmignore: -------------------------------------------------------------------------------- 1 | *.un~ 2 | /node_modules/* 3 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Makefile: -------------------------------------------------------------------------------- 1 | SHELL := /bin/bash 2 | 3 | test: 4 | @./test/run.js 5 | 6 | .PHONY: test 7 | 8 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/common.js: -------------------------------------------------------------------------------- 1 | var common = module.exports; 2 | 3 | common.DelayedStream = require('..'); 4 | common.assert = require('assert'); 5 | common.fake = require('fake'); 6 | common.PORT = 49252; 7 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js: -------------------------------------------------------------------------------- 1 | var common = require('../common'); 2 | var assert = common.assert; 3 | var DelayedStream = common.DelayedStream; 4 | var http = require('http'); 5 | 6 | var UPLOAD = new Buffer(10 * 1024 * 1024); 7 | 8 | var server = http.createServer(function(req, res) { 9 | var delayed = DelayedStream.create(req, {maxDataSize: UPLOAD.length}); 10 | 11 | setTimeout(function() { 12 | res.writeHead(200); 13 | delayed.pipe(res); 14 | }, 10); 15 | }); 16 | server.listen(common.PORT, function() { 17 | var request = http.request({ 18 | method: 'POST', 19 | port: common.PORT, 20 | }); 21 | 22 | request.write(UPLOAD); 23 | request.end(); 24 | 25 | request.on('response', function(res) { 26 | var received = 0; 27 | res 28 | .on('data', function(chunk) { 29 | received += chunk.length; 30 | }) 31 | .on('end', function() { 32 | assert.equal(received, UPLOAD.length); 33 | server.close(); 34 | }); 35 | }); 36 | }); 37 | 38 | 39 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-auto-pause.js: -------------------------------------------------------------------------------- 1 | var common = require('../common'); 2 | var assert = common.assert; 3 | var fake = common.fake.create(); 4 | var DelayedStream = common.DelayedStream; 5 | var Stream = require('stream').Stream; 6 | 7 | (function testAutoPause() { 8 | var source = new Stream(); 9 | 10 | fake.expect(source, 'pause', 1); 11 | var delayedStream = DelayedStream.create(source); 12 | fake.verify(); 13 | })(); 14 | 15 | (function testDisableAutoPause() { 16 | var source = new Stream(); 17 | fake.expect(source, 'pause', 0); 18 | 19 | var delayedStream = DelayedStream.create(source, {pauseStream: false}); 20 | fake.verify(); 21 | })(); 22 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-pause.js: -------------------------------------------------------------------------------- 1 | var common = require('../common'); 2 | var assert = common.assert; 3 | var fake = common.fake.create(); 4 | var DelayedStream = common.DelayedStream; 5 | var Stream = require('stream').Stream; 6 | 7 | (function testDelayEventsUntilResume() { 8 | var source = new Stream(); 9 | var delayedStream = DelayedStream.create(source, {pauseStream: false}); 10 | 11 | fake.expect(source, 'pause'); 12 | delayedStream.pause(); 13 | fake.verify(); 14 | })(); 15 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-handle-source-errors.js: -------------------------------------------------------------------------------- 1 | var common = require('../common'); 2 | var assert = common.assert; 3 | var fake = common.fake.create(); 4 | var DelayedStream = common.DelayedStream; 5 | var Stream = require('stream').Stream; 6 | 7 | (function testHandleSourceErrors() { 8 | var source = new Stream(); 9 | var delayedStream = DelayedStream.create(source, {pauseStream: false}); 10 | 11 | // We deal with this by attaching a no-op listener to 'error' on the source 12 | // when creating a new DelayedStream. This way error events on the source 13 | // won't throw. 14 | source.emit('error', new Error('something went wrong')); 15 | })(); 16 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-max-data-size.js: -------------------------------------------------------------------------------- 1 | var common = require('../common'); 2 | var assert = common.assert; 3 | var fake = common.fake.create(); 4 | var DelayedStream = common.DelayedStream; 5 | var Stream = require('stream').Stream; 6 | 7 | (function testMaxDataSize() { 8 | var source = new Stream(); 9 | var delayedStream = DelayedStream.create(source, {maxDataSize: 1024, pauseStream: false}); 10 | 11 | source.emit('data', new Buffer(1024)); 12 | 13 | fake 14 | .expect(delayedStream, 'emit') 15 | .withArg(1, 'error'); 16 | source.emit('data', new Buffer(1)); 17 | fake.verify(); 18 | })(); 19 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-pipe-resumes.js: -------------------------------------------------------------------------------- 1 | var common = require('../common'); 2 | var assert = common.assert; 3 | var fake = common.fake.create(); 4 | var DelayedStream = common.DelayedStream; 5 | var Stream = require('stream').Stream; 6 | 7 | (function testPipeReleases() { 8 | var source = new Stream(); 9 | var delayedStream = DelayedStream.create(source, {pauseStream: false}); 10 | 11 | fake.expect(delayedStream, 'resume'); 12 | delayedStream.pipe(new Stream()); 13 | })(); 14 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-proxy-readable.js: -------------------------------------------------------------------------------- 1 | var common = require('../common'); 2 | var assert = common.assert; 3 | var fake = common.fake.create(); 4 | var DelayedStream = common.DelayedStream; 5 | var Stream = require('stream').Stream; 6 | 7 | (function testProxyReadableProperty() { 8 | var source = new Stream(); 9 | var delayedStream = DelayedStream.create(source, {pauseStream: false}); 10 | 11 | source.readable = fake.value('source.readable'); 12 | assert.strictEqual(delayedStream.readable, source.readable); 13 | })(); 14 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/run.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var far = require('far').create(); 3 | 4 | far.add(__dirname); 5 | far.include(/test-.*\.js$/); 6 | 7 | far.execute(); 8 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/test/common.js: -------------------------------------------------------------------------------- 1 | var common = module.exports; 2 | 3 | var path = require('path'); 4 | var root = path.join(__dirname, '..'); 5 | 6 | common.dir = { 7 | fixture: root + '/test/fixture', 8 | tmp: root + '/test/tmp', 9 | }; 10 | 11 | common.CombinedStream = require(root); 12 | common.assert = require('assert'); 13 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-callback-streams.js: -------------------------------------------------------------------------------- 1 | var common = require('../common'); 2 | var assert = common.assert; 3 | var CombinedStream = common.CombinedStream; 4 | var fs = require('fs'); 5 | 6 | var FILE1 = common.dir.fixture + '/file1.txt'; 7 | var FILE2 = common.dir.fixture + '/file2.txt'; 8 | var EXPECTED = fs.readFileSync(FILE1) + fs.readFileSync(FILE2); 9 | 10 | (function testDelayedStreams() { 11 | var combinedStream = CombinedStream.create(); 12 | combinedStream.append(function(next) { 13 | next(fs.createReadStream(FILE1)); 14 | }); 15 | combinedStream.append(function(next) { 16 | next(fs.createReadStream(FILE2)); 17 | }); 18 | 19 | var tmpFile = common.dir.tmp + '/combined.txt'; 20 | var dest = fs.createWriteStream(tmpFile); 21 | combinedStream.pipe(dest); 22 | 23 | dest.on('end', function() { 24 | var written = fs.readFileSync(tmpFile, 'utf8'); 25 | assert.strictEqual(written, EXPECTED); 26 | }); 27 | })(); 28 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-max-data-size.js: -------------------------------------------------------------------------------- 1 | var common = require('../common'); 2 | var assert = common.assert; 3 | var CombinedStream = common.CombinedStream; 4 | var fs = require('fs'); 5 | 6 | var FILE1 = common.dir.fixture + '/file1.txt'; 7 | var FILE2 = common.dir.fixture + '/file2.txt'; 8 | var EXPECTED = fs.readFileSync(FILE1) + fs.readFileSync(FILE2); 9 | 10 | (function testDelayedStreams() { 11 | var combinedStream = CombinedStream.create({pauseStreams: false, maxDataSize: 20736}); 12 | combinedStream.append(fs.createReadStream(FILE1)); 13 | combinedStream.append(fs.createReadStream(FILE2)); 14 | 15 | var gotErr = null; 16 | combinedStream.on('error', function(err) { 17 | gotErr = err; 18 | }); 19 | 20 | process.on('exit', function() { 21 | assert.ok(gotErr); 22 | assert.ok(gotErr.message.match(/bytes/)); 23 | }); 24 | })(); 25 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-unpaused-streams.js: -------------------------------------------------------------------------------- 1 | var common = require('../common'); 2 | var assert = common.assert; 3 | var CombinedStream = common.CombinedStream; 4 | var fs = require('fs'); 5 | 6 | var FILE1 = common.dir.fixture + '/file1.txt'; 7 | var FILE2 = common.dir.fixture + '/file2.txt'; 8 | var EXPECTED = fs.readFileSync(FILE1) + fs.readFileSync(FILE2); 9 | 10 | (function testDelayedStreams() { 11 | var combinedStream = CombinedStream.create({pauseStreams: false}); 12 | combinedStream.append(fs.createReadStream(FILE1)); 13 | combinedStream.append(fs.createReadStream(FILE2)); 14 | 15 | var stream1 = combinedStream._streams[0]; 16 | var stream2 = combinedStream._streams[1]; 17 | 18 | stream1.on('end', function() { 19 | assert.ok(stream2.dataSize > 0); 20 | }); 21 | 22 | var tmpFile = common.dir.tmp + '/combined.txt'; 23 | var dest = fs.createWriteStream(tmpFile); 24 | combinedStream.pipe(dest); 25 | 26 | dest.on('end', function() { 27 | var written = fs.readFileSync(tmpFile, 'utf8'); 28 | assert.strictEqual(written, EXPECTED); 29 | }); 30 | })(); 31 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/node_modules/combined-stream/test/run.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var far = require('far').create(); 3 | 4 | far.add(__dirname); 5 | far.include(/test-.*\.js$/); 6 | 7 | far.execute(); 8 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/test/common.js: -------------------------------------------------------------------------------- 1 | var common = module.exports; 2 | var path = require('path'); 3 | 4 | var rootDir = path.join(__dirname, '..'); 5 | common.dir = { 6 | lib: rootDir + '/lib', 7 | fixture: rootDir + '/test/fixture', 8 | tmp: rootDir + '/test/tmp', 9 | }; 10 | 11 | common.assert = require('assert'); 12 | common.fake = require('fake'); 13 | 14 | common.port = 8432; 15 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/test/fixture/bacon.txt: -------------------------------------------------------------------------------- 1 | Bacon is delicious. 2 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/test/fixture/unicycle.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/request/node_modules/form-data/test/fixture/unicycle.jpg -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/test/integration/test-get-boundary.js: -------------------------------------------------------------------------------- 1 | var common = require('../common'); 2 | var assert = common.assert; 3 | 4 | var FormData = require(common.dir.lib + '/form_data'); 5 | 6 | (function testOneBoundaryPerForm() { 7 | var form = new FormData(); 8 | var boundary = form.getBoundary(); 9 | 10 | assert.equal(boundary, form.getBoundary()); 11 | assert.equal(boundary.length, 50); 12 | })(); 13 | 14 | (function testUniqueBoundaryPerForm() { 15 | var formA = new FormData(); 16 | var formB = new FormData(); 17 | assert.notEqual(formA.getBoundary(), formB.getBoundary()); 18 | })(); 19 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/form-data/test/run.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var far = require('far').create(); 3 | 4 | far.add(__dirname); 5 | far.include(/test-.*\.js$/); 6 | 7 | far.execute(); 8 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/mime/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 Benjamin Thomas, Robert Kieffer 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /node_modules/request/node_modules/mime/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "name": "Robert Kieffer", 4 | "email": "robert@broofa.com", 5 | "url": "http://github.com/broofa" 6 | }, 7 | "contributors": [ 8 | { 9 | "name": "Benjamin Thomas", 10 | "email": "benjamin@benjaminthomas.org", 11 | "url": "http://github.com/bentomas" 12 | } 13 | ], 14 | "dependencies": {}, 15 | "description": "A comprehensive library for mime-type mapping", 16 | "devDependencies": {}, 17 | "keywords": [ 18 | "util", 19 | "mime" 20 | ], 21 | "main": "mime.js", 22 | "name": "mime", 23 | "repository": { 24 | "url": "git://github.com/broofa/node-mime.git", 25 | "type": "git" 26 | }, 27 | "version": "1.2.7", 28 | "_npmUser": { 29 | "name": "mikeal", 30 | "email": "mikeal.rogers@gmail.com" 31 | }, 32 | "_id": "mime@1.2.7", 33 | "optionalDependencies": {}, 34 | "engines": { 35 | "node": "*" 36 | }, 37 | "_engineSupported": true, 38 | "_npmVersion": "1.1.24", 39 | "_nodeVersion": "v0.8.1", 40 | "_defaultsLoaded": true, 41 | "_from": "mime" 42 | } 43 | -------------------------------------------------------------------------------- /node_modules/request/oauth.js: -------------------------------------------------------------------------------- 1 | var crypto = require('crypto') 2 | , qs = require('querystring') 3 | ; 4 | 5 | function sha1 (key, body) { 6 | return crypto.createHmac('sha1', key).update(body).digest('base64') 7 | } 8 | 9 | function rfc3986 (str) { 10 | return encodeURIComponent(str) 11 | .replace(/!/g,'%21') 12 | .replace(/\*/g,'%2A') 13 | .replace(/\(/g,'%28') 14 | .replace(/\)/g,'%29') 15 | .replace(/'/g,'%27') 16 | ; 17 | } 18 | 19 | function hmacsign (httpMethod, base_uri, params, consumer_secret, token_secret, body) { 20 | // adapted from https://dev.twitter.com/docs/auth/oauth 21 | var base = 22 | (httpMethod || 'GET') + "&" + 23 | encodeURIComponent( base_uri ) + "&" + 24 | Object.keys(params).sort().map(function (i) { 25 | // big WTF here with the escape + encoding but it's what twitter wants 26 | return escape(rfc3986(i)) + "%3D" + escape(rfc3986(params[i])) 27 | }).join("%26") 28 | var key = encodeURIComponent(consumer_secret) + '&' 29 | if (token_secret) key += encodeURIComponent(token_secret) 30 | return sha1(key, base) 31 | } 32 | 33 | exports.hmacsign = hmacsign 34 | exports.rfc3986 = rfc3986 -------------------------------------------------------------------------------- /node_modules/request/tests/googledoodle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/request/tests/googledoodle.png -------------------------------------------------------------------------------- /node_modules/request/tests/run.js: -------------------------------------------------------------------------------- 1 | var spawn = require('child_process').spawn 2 | , exitCode = 0 3 | ; 4 | 5 | var tests = [ 6 | 'test-body.js' 7 | , 'test-cookie.js' 8 | , 'test-cookiejar.js' 9 | , 'test-defaults.js' 10 | , 'test-errors.js' 11 | , 'test-form.js' 12 | , 'test-follow-all-303.js' 13 | , 'test-follow-all.js' 14 | , 'test-headers.js' 15 | , 'test-httpModule.js' 16 | , 'test-https.js' 17 | , 'test-https-strict.js' 18 | , 'test-oauth.js' 19 | , 'test-params.js' 20 | , 'test-pipes.js' 21 | , 'test-pool.js' 22 | , 'test-protocol-changing-redirect.js' 23 | , 'test-proxy.js' 24 | , 'test-piped-redirect.js' 25 | , 'test-qs.js' 26 | , 'test-redirect.js' 27 | , 'test-timeout.js' 28 | , 'test-toJSON.js' 29 | , 'test-tunnel.js' 30 | ] 31 | 32 | var next = function () { 33 | if (tests.length === 0) process.exit(exitCode); 34 | 35 | var file = tests.shift() 36 | console.log(file) 37 | var proc = spawn('node', [ 'tests/' + file ]) 38 | proc.stdout.pipe(process.stdout) 39 | proc.stderr.pipe(process.stderr) 40 | proc.on('exit', function (code) { 41 | exitCode += code || 0 42 | next() 43 | }) 44 | } 45 | next() 46 | -------------------------------------------------------------------------------- /node_modules/request/tests/ssl/ca/ca.cnf: -------------------------------------------------------------------------------- 1 | [ req ] 2 | default_bits = 1024 3 | days = 3650 4 | distinguished_name = req_distinguished_name 5 | attributes = req_attributes 6 | prompt = no 7 | output_password = password 8 | 9 | [ req_distinguished_name ] 10 | C = US 11 | ST = CA 12 | L = Oakland 13 | O = request 14 | OU = request Certificate Authority 15 | CN = requestCA 16 | emailAddress = mikeal@mikealrogers.com 17 | 18 | [ req_attributes ] 19 | challengePassword = password challenge 20 | 21 | -------------------------------------------------------------------------------- /node_modules/request/tests/ssl/ca/ca.crl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/request/tests/ssl/ca/ca.crl -------------------------------------------------------------------------------- /node_modules/request/tests/ssl/ca/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICvTCCAiYCCQDn+P/MSbDsWjANBgkqhkiG9w0BAQUFADCBojELMAkGA1UEBhMC 3 | VVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQHEwdPYWtsYW5kMRAwDgYDVQQKEwdyZXF1 4 | ZXN0MSYwJAYDVQQLEx1yZXF1ZXN0IENlcnRpZmljYXRlIEF1dGhvcml0eTESMBAG 5 | A1UEAxMJcmVxdWVzdENBMSYwJAYJKoZIhvcNAQkBFhdtaWtlYWxAbWlrZWFscm9n 6 | ZXJzLmNvbTAeFw0xMjAzMDEyMjUwNTZaFw0yMjAyMjcyMjUwNTZaMIGiMQswCQYD 7 | VQQGEwJVUzELMAkGA1UECBMCQ0ExEDAOBgNVBAcTB09ha2xhbmQxEDAOBgNVBAoT 8 | B3JlcXVlc3QxJjAkBgNVBAsTHXJlcXVlc3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 9 | MRIwEAYDVQQDEwlyZXF1ZXN0Q0ExJjAkBgkqhkiG9w0BCQEWF21pa2VhbEBtaWtl 10 | YWxyb2dlcnMuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7t9pQUAK4 11 | 5XJYTI6NrF0n3G2HZsfN+rPYSVzzL8SuVyb1tHXos+vbPm3NKI4E8X1yVAXU8CjJ 12 | 5SqXnp4DAypAhaseho81cbhk7LXUhFz78OvAa+OD+xTAEAnNQ8tGUr4VGyplEjfD 13 | xsBVuqV2j8GPNTftr+drOCFlqfAgMrBn4wIDAQABMA0GCSqGSIb3DQEBBQUAA4GB 14 | ADVdTlVAL45R+PACNS7Gs4o81CwSclukBu4FJbxrkd4xGQmurgfRrYYKjtqiopQm 15 | D7ysRamS3HMN9/VKq2T7r3z1PMHPAy7zM4uoXbbaTKwlnX4j/8pGPn8Ca3qHXYlo 16 | 88L/OOPc6Di7i7qckS3HFbXQCTiULtxWmy97oEuTwrAj 17 | -----END CERTIFICATE----- 18 | -------------------------------------------------------------------------------- /node_modules/request/tests/ssl/ca/ca.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIICBjCCAW8CAQAwgaIxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEQMA4GA1UE 3 | BxMHT2FrbGFuZDEQMA4GA1UEChMHcmVxdWVzdDEmMCQGA1UECxMdcmVxdWVzdCBD 4 | ZXJ0aWZpY2F0ZSBBdXRob3JpdHkxEjAQBgNVBAMTCXJlcXVlc3RDQTEmMCQGCSqG 5 | SIb3DQEJARYXbWlrZWFsQG1pa2VhbHJvZ2Vycy5jb20wgZ8wDQYJKoZIhvcNAQEB 6 | BQADgY0AMIGJAoGBALu32lBQArjlclhMjo2sXSfcbYdmx836s9hJXPMvxK5XJvW0 7 | deiz69s+bc0ojgTxfXJUBdTwKMnlKpeengMDKkCFqx6GjzVxuGTstdSEXPvw68Br 8 | 44P7FMAQCc1Dy0ZSvhUbKmUSN8PGwFW6pXaPwY81N+2v52s4IWWp8CAysGfjAgMB 9 | AAGgIzAhBgkqhkiG9w0BCQcxFBMScGFzc3dvcmQgY2hhbGxlbmdlMA0GCSqGSIb3 10 | DQEBBQUAA4GBAGJO7grHeVHXetjHEK8urIxdnvfB2qeZeObz4GPKIkqUurjr0rfj 11 | bA3EK1kDMR5aeQWR8RunixdM16Q6Ry0lEdLVWkdSwRN9dmirIHT9cypqnD/FYOia 12 | SdezZ0lUzXgmJIwRYRwB1KSMMocIf52ll/xC2bEGg7/ZAEuAyAgcZV3X 13 | -----END CERTIFICATE REQUEST----- 14 | -------------------------------------------------------------------------------- /node_modules/request/tests/ssl/ca/ca.key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | Proc-Type: 4,ENCRYPTED 3 | DEK-Info: DES-EDE3-CBC,C8B5887048377F02 4 | 5 | nyD5ZH0Wup2uWsDvurq5mKDaDrf8lvNn9w0SH/ZkVnfR1/bkwqrFriqJWvZNUG+q 6 | nS0iBYczsWLJnbub9a1zLOTENWUKVD5uqbC3aGHhnoUTNSa27DONgP8gHOn6JgR+ 7 | GAKo01HCSTiVT4LjkwN337QKHnMP2fTzg+IoC/CigvMcq09hRLwU1/guq0GJKGwH 8 | gTxYNuYmQC4Tjh8vdS4liF+Ve/P3qPR2CehZrIOkDT8PHJBGQJRo4xGUIB7Tpk38 9 | VCk+UZ0JCS2coY8VkY/9tqFJp/ZnnQQVmaNbdRqg7ECKL+bXnNo7yjzmazPZmPe3 10 | /ShbE0+CTt7LrjCaQAxWbeDzqfo1lQfgN1LulTm8MCXpQaJpv7v1VhIhQ7afjMYb 11 | 4thW/ypHPiYS2YJCAkAVlua9Oxzzh1qJoh8Df19iHtpd79Q77X/qf+1JvITlMu0U 12 | gi7yEatmQcmYNws1mtTC1q2DXrO90c+NZ0LK/Alse6NRL/xiUdjug2iHeTf/idOR 13 | Gg/5dSZbnnlj1E5zjSMDkzg6EHAFmHV4jYGSAFLEQgp4V3ZhMVoWZrvvSHgKV/Qh 14 | FqrAK4INr1G2+/QTd09AIRzfy3/j6yD4A9iNaOsEf9Ua7Qh6RcALRCAZTWR5QtEf 15 | dX+iSNJ4E85qXs0PqwkMDkoaxIJ+tmIRJY7y8oeylV8cfGAi8Soubt/i3SlR8IHC 16 | uDMas/2OnwafK3N7ODeE1i7r7wkzQkSHaEz0TrF8XRnP25jAICCSLiMdAAjKfxVb 17 | EvzsFSuAy3Jt6bU3hSLY9o4YVYKE+68ITMv9yNjvTsEiW+T+IbN34w== 18 | -----END RSA PRIVATE KEY----- 19 | -------------------------------------------------------------------------------- /node_modules/request/tests/ssl/ca/ca.srl: -------------------------------------------------------------------------------- 1 | ADF62016AA40C9C3 2 | -------------------------------------------------------------------------------- /node_modules/request/tests/ssl/ca/server.cnf: -------------------------------------------------------------------------------- 1 | [ req ] 2 | default_bits = 1024 3 | days = 3650 4 | distinguished_name = req_distinguished_name 5 | attributes = req_attributes 6 | prompt = no 7 | 8 | [ req_distinguished_name ] 9 | C = US 10 | ST = CA 11 | L = Oakland 12 | O = request 13 | OU = testing 14 | CN = testing.request.mikealrogers.com 15 | emailAddress = mikeal@mikealrogers.com 16 | 17 | [ req_attributes ] 18 | challengePassword = password challenge 19 | 20 | -------------------------------------------------------------------------------- /node_modules/request/tests/ssl/ca/server.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICejCCAeMCCQCt9iAWqkDJwzANBgkqhkiG9w0BAQUFADCBojELMAkGA1UEBhMC 3 | VVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQHEwdPYWtsYW5kMRAwDgYDVQQKEwdyZXF1 4 | ZXN0MSYwJAYDVQQLEx1yZXF1ZXN0IENlcnRpZmljYXRlIEF1dGhvcml0eTESMBAG 5 | A1UEAxMJcmVxdWVzdENBMSYwJAYJKoZIhvcNAQkBFhdtaWtlYWxAbWlrZWFscm9n 6 | ZXJzLmNvbTAeFw0xMjAzMDEyMjUwNTZaFw0yMjAyMjcyMjUwNTZaMIGjMQswCQYD 7 | VQQGEwJVUzELMAkGA1UECBMCQ0ExEDAOBgNVBAcTB09ha2xhbmQxEDAOBgNVBAoT 8 | B3JlcXVlc3QxEDAOBgNVBAsTB3Rlc3RpbmcxKTAnBgNVBAMTIHRlc3RpbmcucmVx 9 | dWVzdC5taWtlYWxyb2dlcnMuY29tMSYwJAYJKoZIhvcNAQkBFhdtaWtlYWxAbWlr 10 | ZWFscm9nZXJzLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQDgVl0jMumvOpmM 11 | 20W5v9yhGgZj8hPhEQF/N7yCBVBn/rWGYm70IHC8T/pR5c0LkWc5gdnCJEvKWQjh 12 | DBKxZD8FAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEABShRkNgFbgs4vUWW9R9deNJj 13 | 7HJoiTmvkmoOC7QzcYkjdgHbOxsSq3rBnwxsVjY9PAtPwBn0GRspOeG7KzKRgySB 14 | kb22LyrCFKbEOfKO/+CJc80ioK9zEPVjGsFMyAB+ftYRqM+s/4cQlTg/m89l01wC 15 | yapjN3RxZbInGhWR+jA= 16 | -----END CERTIFICATE----- 17 | -------------------------------------------------------------------------------- /node_modules/request/tests/ssl/ca/server.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIBgjCCASwCAQAwgaMxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEQMA4GA1UE 3 | BxMHT2FrbGFuZDEQMA4GA1UEChMHcmVxdWVzdDEQMA4GA1UECxMHdGVzdGluZzEp 4 | MCcGA1UEAxMgdGVzdGluZy5yZXF1ZXN0Lm1pa2VhbHJvZ2Vycy5jb20xJjAkBgkq 5 | hkiG9w0BCQEWF21pa2VhbEBtaWtlYWxyb2dlcnMuY29tMFwwDQYJKoZIhvcNAQEB 6 | BQADSwAwSAJBAOBWXSMy6a86mYzbRbm/3KEaBmPyE+ERAX83vIIFUGf+tYZibvQg 7 | cLxP+lHlzQuRZzmB2cIkS8pZCOEMErFkPwUCAwEAAaAjMCEGCSqGSIb3DQEJBzEU 8 | ExJwYXNzd29yZCBjaGFsbGVuZ2UwDQYJKoZIhvcNAQEFBQADQQBD3E5WekQzCEJw 9 | 7yOcqvtPYIxGaX8gRKkYfLPoj3pm3GF5SGqtJKhylKfi89szHXgktnQgzff9FN+A 10 | HidVJ/3u 11 | -----END CERTIFICATE REQUEST----- 12 | -------------------------------------------------------------------------------- /node_modules/request/tests/ssl/ca/server.js: -------------------------------------------------------------------------------- 1 | var fs = require("fs") 2 | var https = require("https") 3 | var options = { key: fs.readFileSync("./server.key") 4 | , cert: fs.readFileSync("./server.crt") } 5 | 6 | var server = https.createServer(options, function (req, res) { 7 | res.writeHead(200) 8 | res.end() 9 | server.close() 10 | }) 11 | server.listen(1337) 12 | 13 | var ca = fs.readFileSync("./ca.crt") 14 | var agent = new https.Agent({ host: "localhost", port: 1337, ca: ca }) 15 | 16 | https.request({ host: "localhost" 17 | , method: "HEAD" 18 | , port: 1337 19 | , headers: { host: "testing.request.mikealrogers.com" } 20 | , agent: agent 21 | , ca: [ ca ] 22 | , path: "/" }, function (res) { 23 | if (res.client.authorized) { 24 | console.log("node test: OK") 25 | } else { 26 | throw new Error(res.client.authorizationError) 27 | } 28 | }).end() 29 | -------------------------------------------------------------------------------- /node_modules/request/tests/ssl/ca/server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIBOwIBAAJBAOBWXSMy6a86mYzbRbm/3KEaBmPyE+ERAX83vIIFUGf+tYZibvQg 3 | cLxP+lHlzQuRZzmB2cIkS8pZCOEMErFkPwUCAwEAAQJAK+r8ZM2sze8s7FRo/ApB 4 | iRBtO9fCaIdJwbwJnXKo4RKwZDt1l2mm+fzZ+/QaQNjY1oTROkIIXmnwRvZWfYlW 5 | gQIhAPKYsG+YSBN9o8Sdp1DMyZ/rUifKX3OE6q9tINkgajDVAiEA7Ltqh01+cnt0 6 | JEnud/8HHcuehUBLMofeg0G+gCnSbXECIQCqDvkXsWNNLnS/3lgsnvH0Baz4sbeJ 7 | rjIpuVEeg8eM5QIgbu0+9JmOV6ybdmmiMV4yAncoF35R/iKGVHDZCAsQzDECIQDZ 8 | 0jGz22tlo5YMcYSqrdD3U4sds1pwiAaWFRbCunoUJw== 9 | -----END RSA PRIVATE KEY----- 10 | -------------------------------------------------------------------------------- /node_modules/request/tests/ssl/npm-ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIChzCCAfACCQDauvz/KHp8ejANBgkqhkiG9w0BAQUFADCBhzELMAkGA1UEBhMC 3 | VVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQHEwdPYWtsYW5kMQwwCgYDVQQKEwNucG0x 4 | IjAgBgNVBAsTGW5wbSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxDjAMBgNVBAMTBW5w 5 | bUNBMRcwFQYJKoZIhvcNAQkBFghpQGl6cy5tZTAeFw0xMTA5MDUwMTQ3MTdaFw0y 6 | MTA5MDIwMTQ3MTdaMIGHMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExEDAOBgNV 7 | BAcTB09ha2xhbmQxDDAKBgNVBAoTA25wbTEiMCAGA1UECxMZbnBtIENlcnRpZmlj 8 | YXRlIEF1dGhvcml0eTEOMAwGA1UEAxMFbnBtQ0ExFzAVBgkqhkiG9w0BCQEWCGlA 9 | aXpzLm1lMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDLI4tIqPpRW+ACw9GE 10 | OgBlJZwK5f8nnKCLK629Pv5yJpQKs3DENExAyOgDcyaF0HD0zk8zTp+ZsLaNdKOz 11 | Gn2U181KGprGKAXP6DU6ByOJDWmTlY6+Ad1laYT0m64fERSpHw/hjD3D+iX4aMOl 12 | y0HdbT5m1ZGh6SJz3ZqxavhHLQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAC4ySDbC 13 | l7W1WpLmtLGEQ/yuMLUf6Jy/vr+CRp4h+UzL+IQpCv8FfxsYE7dhf/bmWTEupBkv 14 | yNL18lipt2jSvR3v6oAHAReotvdjqhxddpe5Holns6EQd1/xEZ7sB1YhQKJtvUrl 15 | ZNufy1Jf1r0ldEGeA+0ISck7s+xSh9rQD2Op 16 | -----END CERTIFICATE----- 17 | -------------------------------------------------------------------------------- /node_modules/request/tests/ssl/test.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICQzCCAawCCQCO/XWtRFck1jANBgkqhkiG9w0BAQUFADBmMQswCQYDVQQGEwJU 3 | SDEQMA4GA1UECBMHQmFuZ2tvazEOMAwGA1UEBxMFU2lsb20xGzAZBgNVBAoTElRo 4 | ZSBSZXF1ZXN0IE1vZHVsZTEYMBYGA1UEAxMPcmVxdWVzdC5leGFtcGxlMB4XDTEx 5 | MTIwMzAyMjkyM1oXDTIxMTEzMDAyMjkyM1owZjELMAkGA1UEBhMCVEgxEDAOBgNV 6 | BAgTB0Jhbmdrb2sxDjAMBgNVBAcTBVNpbG9tMRswGQYDVQQKExJUaGUgUmVxdWVz 7 | dCBNb2R1bGUxGDAWBgNVBAMTD3JlcXVlc3QuZXhhbXBsZTCBnzANBgkqhkiG9w0B 8 | AQEFAAOBjQAwgYkCgYEAwmctddZqlA48+NXs0yOy92DijcQV1jf87zMiYAIlNUto 9 | wghVbTWgJU5r0pdKrD16AptnWJTzKanhItEX8XCCPgsNkq1afgTtJP7rNkwu3xcj 10 | eIMkhJg/ay4ZnkbnhYdsii5VTU5prix6AqWRAhbkBgoA+iVyHyof8wvZyKBoFTMC 11 | AwEAATANBgkqhkiG9w0BAQUFAAOBgQB6BybMJbpeiABgihDfEVBcAjDoQ8gUMgwV 12 | l4NulugfKTDmArqnR9aPd4ET5jX5dkMP4bwCHYsvrcYDeWEQy7x5WWuylOdKhua4 13 | L4cEi2uDCjqEErIG3cc1MCOk6Cl6Ld6tkIzQSf953qfdEACRytOeUqLNQcrXrqeE 14 | c7U8F6MWLQ== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /node_modules/request/tests/ssl/test.key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIICXgIBAAKBgQDCZy111mqUDjz41ezTI7L3YOKNxBXWN/zvMyJgAiU1S2jCCFVt 3 | NaAlTmvSl0qsPXoCm2dYlPMpqeEi0RfxcII+Cw2SrVp+BO0k/us2TC7fFyN4gySE 4 | mD9rLhmeRueFh2yKLlVNTmmuLHoCpZECFuQGCgD6JXIfKh/zC9nIoGgVMwIDAQAB 5 | AoGBALXFwfUf8vHTSmGlrdZS2AGFPvEtuvldyoxi9K5u8xmdFCvxnOcLsF2RsTHt 6 | Mu5QYWhUpNJoG+IGLTPf7RJdj/kNtEs7xXqWy4jR36kt5z5MJzqiK+QIgiO9UFWZ 7 | fjUb6oeDnTIJA9YFBdYi97MDuL89iU/UK3LkJN3hd4rciSbpAkEA+MCkowF5kSFb 8 | rkOTBYBXZfiAG78itDXN6DXmqb9XYY+YBh3BiQM28oxCeQYyFy6pk/nstnd4TXk6 9 | V/ryA2g5NwJBAMgRKTY9KvxJWbESeMEFe2iBIV0c26/72Amgi7ZKUCLukLfD4tLF 10 | +WSZdmTbbqI1079YtwaiOVfiLm45Q/3B0eUCQAaQ/0eWSGE+Yi8tdXoVszjr4GXb 11 | G81qBi91DMu6U1It+jNfIba+MPsiHLcZJMVb4/oWBNukN7bD1nhwFWdlnu0CQQCf 12 | Is9WHkdvz2RxbZDxb8verz/7kXXJQJhx5+rZf7jIYFxqX3yvTNv3wf2jcctJaWlZ 13 | fVZwB193YSivcgt778xlAkEAprYUz3jczjF5r2hrgbizPzPDR94tM5BTO3ki2v3w 14 | kbf+j2g7FNAx6kZiVN8XwfLc8xEeUGiPKwtq3ddPDFh17w== 15 | -----END RSA PRIVATE KEY----- 16 | -------------------------------------------------------------------------------- /node_modules/request/tests/test-cookie.js: -------------------------------------------------------------------------------- 1 | var Cookie = require('../vendor/cookie') 2 | , assert = require('assert'); 3 | 4 | var str = 'Sid="s543qactge.wKE61E01Bs%2BKhzmxrwrnug="; Path=/; httpOnly; Expires=Sat, 04 Dec 2010 23:27:28 GMT'; 5 | var cookie = new Cookie(str); 6 | 7 | // test .toString() 8 | assert.equal(cookie.toString(), str); 9 | 10 | // test .path 11 | assert.equal(cookie.path, '/'); 12 | 13 | // test .httpOnly 14 | assert.equal(cookie.httpOnly, true); 15 | 16 | // test .name 17 | assert.equal(cookie.name, 'Sid'); 18 | 19 | // test .value 20 | assert.equal(cookie.value, '"s543qactge.wKE61E01Bs%2BKhzmxrwrnug="'); 21 | 22 | // test .expires 23 | assert.equal(cookie.expires instanceof Date, true); 24 | 25 | // test .path default 26 | var cookie = new Cookie('foo=bar', { url: 'http://foo.com/bar' }); 27 | assert.equal(cookie.path, '/bar'); 28 | 29 | console.log('All tests passed'); 30 | -------------------------------------------------------------------------------- /node_modules/request/tests/test-errors.js: -------------------------------------------------------------------------------- 1 | var server = require('./server') 2 | , events = require('events') 3 | , assert = require('assert') 4 | , request = require('../main.js') 5 | ; 6 | 7 | var local = 'http://localhost:8888/asdf' 8 | 9 | try { 10 | request({uri:local, body:{}}) 11 | assert.fail("Should have throw") 12 | } catch(e) { 13 | assert.equal(e.message, 'Argument error, options.body.') 14 | } 15 | 16 | try { 17 | request({uri:local, multipart: 'foo'}) 18 | assert.fail("Should have throw") 19 | } catch(e) { 20 | assert.equal(e.message, 'Argument error, options.multipart.') 21 | } 22 | 23 | try { 24 | request({uri:local, multipart: [{}]}) 25 | assert.fail("Should have throw") 26 | } catch(e) { 27 | assert.equal(e.message, 'Body attribute missing in multipart.') 28 | } 29 | 30 | try { 31 | request(local, {multipart: [{}]}) 32 | assert.fail("Should have throw") 33 | } catch(e) { 34 | assert.equal(e.message, 'Body attribute missing in multipart.') 35 | } 36 | 37 | console.log("All tests passed.") 38 | -------------------------------------------------------------------------------- /node_modules/request/tests/test-follow-all-303.js: -------------------------------------------------------------------------------- 1 | var request = require('../main'); 2 | var http = require('http'); 3 | var requests = 0; 4 | var assert = require('assert'); 5 | 6 | var server = http.createServer(function (req, res) { 7 | console.error(req.method, req.url); 8 | requests ++; 9 | 10 | if (req.method === 'POST') { 11 | console.error('send 303'); 12 | res.setHeader('location', req.url); 13 | res.statusCode = 303; 14 | res.end('try again, i guess\n'); 15 | } else { 16 | console.error('send 200') 17 | res.end('ok: ' + requests); 18 | } 19 | }); 20 | server.listen(6767); 21 | 22 | request.post({ url: 'http://localhost:6767/foo', 23 | followAllRedirects: true, 24 | form: { foo: 'bar' } }, function (er, req, body) { 25 | if (er) throw er; 26 | assert.equal(body, 'ok: 2'); 27 | assert.equal(requests, 2); 28 | console.error('ok - ' + process.version); 29 | server.close(); 30 | }); 31 | -------------------------------------------------------------------------------- /node_modules/request/tests/test-follow-all.js: -------------------------------------------------------------------------------- 1 | var request = require('../main'); 2 | var http = require('http'); 3 | var requests = 0; 4 | var assert = require('assert'); 5 | 6 | var server = http.createServer(function (req, res) { 7 | requests ++; 8 | 9 | // redirect everything 3 times, no matter what. 10 | var c = req.headers.cookie; 11 | 12 | if (!c) c = 0; 13 | else c = +c.split('=')[1] || 0; 14 | 15 | if (c > 3) { 16 | res.end('ok: '+requests); 17 | return; 18 | } 19 | 20 | res.setHeader('set-cookie', 'c=' + (c + 1)); 21 | res.setHeader('location', req.url); 22 | res.statusCode = 302; 23 | res.end('try again, i guess\n'); 24 | }); 25 | server.listen(6767); 26 | 27 | request.post({ url: 'http://localhost:6767/foo', 28 | followAllRedirects: true, 29 | form: { foo: 'bar' } }, function (er, req, body) { 30 | if (er) throw er; 31 | assert.equal(body, 'ok: 5'); 32 | assert.equal(requests, 5); 33 | console.error('ok - ' + process.version); 34 | server.close(); 35 | }); 36 | -------------------------------------------------------------------------------- /node_modules/request/tests/test-piped-redirect.js: -------------------------------------------------------------------------------- 1 | var http = require('http') 2 | , assert = require('assert') 3 | , request = require('../main.js') 4 | ; 5 | 6 | var portOne = 8968 7 | , portTwo = 8969 8 | ; 9 | 10 | 11 | // server one 12 | var s1 = http.createServer(function (req, resp) 13 | { 14 | if (req.url == '/original') 15 | { 16 | resp.writeHeader(302, {'location': '/redirected'}) 17 | resp.end() 18 | } 19 | else if (req.url == '/redirected') 20 | { 21 | resp.writeHeader(200, {'content-type': 'text/plain'}) 22 | resp.write('OK') 23 | resp.end() 24 | } 25 | 26 | }).listen(portOne); 27 | 28 | 29 | // server two 30 | var s2 = http.createServer(function (req, resp) 31 | { 32 | 33 | var x = request('http://localhost:'+portOne+'/original') 34 | req.pipe(x) 35 | x.pipe(resp) 36 | 37 | }).listen(portTwo, function() 38 | { 39 | 40 | var r = request('http://localhost:'+portTwo+'/original', function (err, res, body) { 41 | 42 | assert.equal(body, 'OK') 43 | 44 | s1.close() 45 | s2.close() 46 | 47 | }); 48 | 49 | // it hangs, so wait a second :) 50 | r.timeout = 1000; 51 | 52 | }); 53 | -------------------------------------------------------------------------------- /node_modules/request/tests/test-pool.js: -------------------------------------------------------------------------------- 1 | var request = require('../main') 2 | , http = require('http') 3 | , assert = require('assert') 4 | ; 5 | 6 | var s = http.createServer(function (req, resp) { 7 | resp.statusCode = 200; 8 | resp.end('asdf'); 9 | }).listen(8080, function () { 10 | request({'url': 'http://localhost:8080', 'pool': false}, function (e, resp) { 11 | var agent = resp.request.agent; 12 | assert.strictEqual(typeof agent, 'boolean'); 13 | assert.strictEqual(agent, false); 14 | s.close(); 15 | }); 16 | }); -------------------------------------------------------------------------------- /node_modules/request/tests/test-proxy.js: -------------------------------------------------------------------------------- 1 | var server = require('./server') 2 | , events = require('events') 3 | , stream = require('stream') 4 | , assert = require('assert') 5 | , fs = require('fs') 6 | , request = require('../main.js') 7 | , path = require('path') 8 | , util = require('util') 9 | ; 10 | 11 | var port = 6768 12 | , called = false 13 | , proxiedHost = 'google.com' 14 | ; 15 | 16 | var s = server.createServer(port) 17 | s.listen(port, function () { 18 | s.on('http://google.com/', function (req, res) { 19 | called = true 20 | assert.equal(req.headers.host, proxiedHost) 21 | res.writeHeader(200) 22 | res.end() 23 | }) 24 | request ({ 25 | url: 'http://'+proxiedHost, 26 | proxy: 'http://localhost:'+port 27 | /* 28 | //should behave as if these arguments where passed: 29 | url: 'http://localhost:'+port, 30 | headers: {host: proxiedHost} 31 | //*/ 32 | }, function (err, res, body) { 33 | s.close() 34 | }) 35 | }) 36 | 37 | process.on('exit', function () { 38 | assert.ok(called, 'the request must be made to the proxy server') 39 | }) 40 | -------------------------------------------------------------------------------- /node_modules/request/tests/test-qs.js: -------------------------------------------------------------------------------- 1 | var request = request = require('../main.js') 2 | , assert = require('assert') 3 | ; 4 | 5 | 6 | // Test adding a querystring 7 | var req1 = request.get({ uri: 'http://www.google.com', qs: { q : 'search' }}) 8 | setTimeout(function() { 9 | assert.equal('/?q=search', req1.path) 10 | }, 1) 11 | 12 | // Test replacing a querystring value 13 | var req2 = request.get({ uri: 'http://www.google.com?q=abc', qs: { q : 'search' }}) 14 | setTimeout(function() { 15 | assert.equal('/?q=search', req2.path) 16 | }, 1) 17 | 18 | // Test appending a querystring value to the ones present in the uri 19 | var req3 = request.get({ uri: 'http://www.google.com?x=y', qs: { q : 'search' }}) 20 | setTimeout(function() { 21 | assert.equal('/?x=y&q=search', req3.path) 22 | }, 1) 23 | 24 | // Test leaving a querystring alone 25 | var req4 = request.get({ uri: 'http://www.google.com?x=y'}) 26 | setTimeout(function() { 27 | assert.equal('/?x=y', req4.path) 28 | }, 1) 29 | -------------------------------------------------------------------------------- /node_modules/request/tests/test-s3.js: -------------------------------------------------------------------------------- 1 | var request = require('../main') 2 | 3 | var r = request.get('https://log.curlybracecast.com.s3.amazonaws.com/', 4 | { aws: 5 | { key: 'AKIAI6KIQRRVMGK3WK5Q' 6 | , secret: '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' 7 | , bucket: 'log.curlybracecast.com' 8 | } 9 | }, function (e, resp, body) { 10 | console.log(r.headers) 11 | console.log(body) 12 | } 13 | ) -------------------------------------------------------------------------------- /node_modules/request/tests/test-toJSON.js: -------------------------------------------------------------------------------- 1 | var request = require('../main') 2 | , http = require('http') 3 | , assert = require('assert') 4 | ; 5 | 6 | var s = http.createServer(function (req, resp) { 7 | resp.statusCode = 200 8 | resp.end('asdf') 9 | }).listen(8080, function () { 10 | var r = request('http://localhost:8080', function (e, resp) { 11 | assert.equal(JSON.parse(JSON.stringify(r)).response.statusCode, 200) 12 | s.close() 13 | }) 14 | }) -------------------------------------------------------------------------------- /node_modules/request/tests/unicycle.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/request/tests/unicycle.jpg -------------------------------------------------------------------------------- /node_modules/request/uuid.js: -------------------------------------------------------------------------------- 1 | module.exports = function () { 2 | var s = [], itoh = '0123456789ABCDEF'; 3 | 4 | // Make array of random hex digits. The UUID only has 32 digits in it, but we 5 | // allocate an extra items to make room for the '-'s we'll be inserting. 6 | for (var i = 0; i <36; i++) s[i] = Math.floor(Math.random()*0x10); 7 | 8 | // Conform to RFC-4122, section 4.4 9 | s[14] = 4; // Set 4 high bits of time_high field to version 10 | s[19] = (s[19] & 0x3) | 0x8; // Specify 2 high bits of clock sequence 11 | 12 | // Convert to hex chars 13 | for (var i = 0; i <36; i++) s[i] = itoh[s[i]]; 14 | 15 | // Insert '-'s 16 | s[8] = s[13] = s[18] = s[23] = '-'; 17 | 18 | return s.join(''); 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/supervisor/lib/cli-wrapper.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var path = require("path") 3 | , args = process.argv.slice(1) 4 | 5 | var arg, base; 6 | do arg = args.shift(); 7 | while ( arg !== __filename 8 | && (base = path.basename(arg)) !== "node-supervisor" 9 | && base !== "supervisor" 10 | && base !== "supervisor.js" 11 | ) 12 | 13 | require("./supervisor").run(args) 14 | -------------------------------------------------------------------------------- /node_modules/underscore/.npmignore: -------------------------------------------------------------------------------- 1 | test/ 2 | Rakefile 3 | docs/ -------------------------------------------------------------------------------- /node_modules/underscore/CNAME: -------------------------------------------------------------------------------- 1 | underscorejs.org 2 | -------------------------------------------------------------------------------- /node_modules/underscore/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009-2012 Jeremy Ashkenas, DocumentCloud 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/underscore/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/underscore/favicon.ico -------------------------------------------------------------------------------- /node_modules/underscore/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./underscore'); 2 | -------------------------------------------------------------------------------- /node_modules/underscore/raw/underscore.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamilkp/geniejs/38b3a9455b599f40a1b751695fe11db69f9d9d94/node_modules/underscore/raw/underscore.psd -------------------------------------------------------------------------------- /server.js: -------------------------------------------------------------------------------- 1 | 2 | var express = require('express'), 3 | app = express(); 4 | 5 | //server configuration 6 | app.use(express.bodyParser()); 7 | app.use(express.static(__dirname)); 8 | 9 | //start 10 | app.listen(30303); --------------------------------------------------------------------------------