├── README ├── index.html ├── init.php ├── nodeServer.js ├── node_modules ├── .bin │ ├── express │ └── express.cmd ├── express │ ├── .npmignore │ ├── History.md │ ├── LICENSE │ ├── Makefile │ ├── Readme.md │ ├── bin │ │ └── express │ ├── index.js │ ├── lib-cov │ │ ├── application.js │ │ ├── express.js │ │ ├── middleware.js │ │ ├── request.js │ │ ├── response.js │ │ ├── router │ │ │ ├── collection.js │ │ │ ├── index.js │ │ │ ├── methods.js │ │ │ └── route.js │ │ ├── utils.js │ │ └── view.js │ ├── lib │ │ ├── express.js │ │ ├── http.js │ │ ├── https.js │ │ ├── request.js │ │ ├── response.js │ │ ├── router │ │ │ ├── collection.js │ │ │ ├── index.js │ │ │ ├── methods.js │ │ │ └── route.js │ │ ├── utils.js │ │ ├── view.js │ │ └── view │ │ │ ├── partial.js │ │ │ └── view.js │ ├── node_modules │ │ ├── connect │ │ │ ├── .npmignore │ │ │ ├── LICENSE │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── cache.js │ │ │ │ ├── connect.js │ │ │ │ ├── http.js │ │ │ │ ├── https.js │ │ │ │ ├── index.js │ │ │ │ ├── middleware │ │ │ │ │ ├── basicAuth.js │ │ │ │ │ ├── bodyParser.js │ │ │ │ │ ├── compiler.js │ │ │ │ │ ├── cookieParser.js │ │ │ │ │ ├── csrf.js │ │ │ │ │ ├── directory.js │ │ │ │ │ ├── errorHandler.js │ │ │ │ │ ├── favicon.js │ │ │ │ │ ├── limit.js │ │ │ │ │ ├── logger.js │ │ │ │ │ ├── methodOverride.js │ │ │ │ │ ├── profiler.js │ │ │ │ │ ├── query.js │ │ │ │ │ ├── responseTime.js │ │ │ │ │ ├── router.js │ │ │ │ │ ├── session.js │ │ │ │ │ ├── session │ │ │ │ │ │ ├── cookie.js │ │ │ │ │ │ ├── memory.js │ │ │ │ │ │ ├── session.js │ │ │ │ │ │ └── store.js │ │ │ │ │ ├── static.js │ │ │ │ │ ├── staticCache.js │ │ │ │ │ └── vhost.js │ │ │ │ ├── patch.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 │ │ │ │ └── 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 │ │ │ │ │ ├── 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 │ │ │ └── package.json │ │ ├── mime │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── mime.js │ │ │ ├── package.json │ │ │ ├── test.js │ │ │ └── types │ │ │ │ ├── mime.types │ │ │ │ └── node.types │ │ ├── mkdirp │ │ │ ├── .gitignore.orig │ │ │ ├── .gitignore.rej │ │ │ ├── .npmignore │ │ │ ├── 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 │ │ │ │ ├── sync.js │ │ │ │ ├── umask.js │ │ │ │ └── umask_sync.js │ │ └── 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 └── socket.io │ ├── .npmignore │ ├── .travis.yml │ ├── History.md │ ├── Makefile │ ├── Readme.md │ ├── benchmarks │ ├── decode.bench.js │ ├── encode.bench.js │ └── runner.js │ ├── index.js │ ├── lib │ ├── client.js │ ├── logger.js │ ├── manager.js │ ├── namespace.js │ ├── parser.js │ ├── socket.io.js │ ├── socket.js │ ├── static.js │ ├── store.js │ ├── stores │ │ ├── memory.js │ │ └── redis.js │ ├── transport.js │ ├── transports │ │ ├── flashsocket.js │ │ ├── htmlfile.js │ │ ├── http-polling.js │ │ ├── http.js │ │ ├── index.js │ │ ├── jsonp-polling.js │ │ ├── websocket.js │ │ ├── websocket │ │ │ ├── default.js │ │ │ ├── hybi-07-12.js │ │ │ ├── hybi-16.js │ │ │ └── index.js │ │ └── xhr-polling.js │ └── util.js │ ├── node_modules │ ├── policyfile │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── doc │ │ │ └── index.html │ │ ├── examples │ │ │ ├── basic.fallback.js │ │ │ └── basic.js │ │ ├── index.js │ │ ├── lib │ │ │ └── server.js │ │ ├── package.json │ │ └── tests │ │ │ ├── ssl │ │ │ ├── ssl.crt │ │ │ └── ssl.private.key │ │ │ └── unit.test.js │ ├── redis │ │ ├── README.md │ │ ├── changelog.md │ │ ├── eval_test.js │ │ ├── examples │ │ │ ├── auth.js │ │ │ ├── backpressure_drain.js │ │ │ ├── extend.js │ │ │ ├── file.js │ │ │ ├── mget.js │ │ │ ├── monitor.js │ │ │ ├── multi.js │ │ │ ├── multi2.js │ │ │ ├── psubscribe.js │ │ │ ├── pub_sub.js │ │ │ ├── simple.js │ │ │ ├── subqueries.js │ │ │ ├── subquery.js │ │ │ ├── unix_socket.js │ │ │ └── web_server.js │ │ ├── generate_commands.js │ │ ├── index.js │ │ ├── lib │ │ │ ├── commands.js │ │ │ ├── parser │ │ │ │ ├── hiredis.js │ │ │ │ └── javascript.js │ │ │ ├── queue.js │ │ │ ├── to_array.js │ │ │ └── util.js │ │ ├── multi_bench.js │ │ ├── package.json │ │ ├── simple_test.js │ │ ├── test.js │ │ └── tests │ │ │ ├── buffer_bench.js │ │ │ ├── reconnect_test.js │ │ │ ├── stress │ │ │ ├── codec.js │ │ │ ├── pubsub │ │ │ │ ├── pub.js │ │ │ │ ├── run │ │ │ │ └── server.js │ │ │ ├── rpushblpop │ │ │ │ ├── pub.js │ │ │ │ ├── run │ │ │ │ └── server.js │ │ │ └── speed │ │ │ │ ├── 00 │ │ │ │ ├── plot │ │ │ │ ├── size-rate.png │ │ │ │ └── speed.js │ │ │ ├── sub_quit_test.js │ │ │ └── test_start_stop.js │ └── socket.io-client │ │ ├── .npmignore │ │ ├── History.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── bin │ │ └── builder.js │ │ ├── dist │ │ ├── WebSocketMain.swf │ │ ├── WebSocketMainInsecure.swf │ │ ├── socket.io.js │ │ └── socket.io.min.js │ │ ├── lib │ │ ├── events.js │ │ ├── io.js │ │ ├── json.js │ │ ├── namespace.js │ │ ├── parser.js │ │ ├── socket.js │ │ ├── transport.js │ │ ├── transports │ │ │ ├── flashsocket.js │ │ │ ├── htmlfile.js │ │ │ ├── jsonp-polling.js │ │ │ ├── websocket.js │ │ │ ├── xhr-polling.js │ │ │ └── xhr.js │ │ ├── util.js │ │ └── vendor │ │ │ └── web-socket-js │ │ │ ├── .npmignore │ │ │ ├── README.md │ │ │ ├── WebSocketMain.swf │ │ │ ├── WebSocketMainInsecure.zip │ │ │ ├── flash-src │ │ │ ├── IWebSocketLogger.as │ │ │ ├── WebSocket.as │ │ │ ├── WebSocketEvent.as │ │ │ ├── WebSocketMain.as │ │ │ ├── WebSocketMainInsecure.as │ │ │ ├── build.sh │ │ │ └── com │ │ │ │ ├── adobe │ │ │ │ └── net │ │ │ │ │ └── proxies │ │ │ │ │ └── RFC2817Socket.as │ │ │ │ ├── gsolo │ │ │ │ └── encryption │ │ │ │ │ └── MD5.as │ │ │ │ └── hurlant │ │ │ │ ├── crypto │ │ │ │ ├── Crypto.as │ │ │ │ ├── cert │ │ │ │ │ ├── MozillaRootCertificates.as │ │ │ │ │ ├── X509Certificate.as │ │ │ │ │ └── X509CertificateCollection.as │ │ │ │ ├── hash │ │ │ │ │ ├── HMAC.as │ │ │ │ │ ├── IHMAC.as │ │ │ │ │ ├── IHash.as │ │ │ │ │ ├── MAC.as │ │ │ │ │ ├── MD2.as │ │ │ │ │ ├── MD5.as │ │ │ │ │ ├── SHA1.as │ │ │ │ │ ├── SHA224.as │ │ │ │ │ ├── SHA256.as │ │ │ │ │ └── SHABase.as │ │ │ │ ├── prng │ │ │ │ │ ├── ARC4.as │ │ │ │ │ ├── IPRNG.as │ │ │ │ │ ├── Random.as │ │ │ │ │ └── TLSPRF.as │ │ │ │ ├── rsa │ │ │ │ │ └── RSAKey.as │ │ │ │ ├── symmetric │ │ │ │ │ ├── AESKey.as │ │ │ │ │ ├── BlowFishKey.as │ │ │ │ │ ├── CBCMode.as │ │ │ │ │ ├── CFB8Mode.as │ │ │ │ │ ├── CFBMode.as │ │ │ │ │ ├── CTRMode.as │ │ │ │ │ ├── DESKey.as │ │ │ │ │ ├── ECBMode.as │ │ │ │ │ ├── ICipher.as │ │ │ │ │ ├── IMode.as │ │ │ │ │ ├── IPad.as │ │ │ │ │ ├── IStreamCipher.as │ │ │ │ │ ├── ISymmetricKey.as │ │ │ │ │ ├── IVMode.as │ │ │ │ │ ├── NullPad.as │ │ │ │ │ ├── OFBMode.as │ │ │ │ │ ├── PKCS5.as │ │ │ │ │ ├── SSLPad.as │ │ │ │ │ ├── SimpleIVMode.as │ │ │ │ │ ├── TLSPad.as │ │ │ │ │ ├── TripleDESKey.as │ │ │ │ │ ├── XTeaKey.as │ │ │ │ │ ├── aeskey.pl │ │ │ │ │ └── dump.txt │ │ │ │ ├── tests │ │ │ │ │ ├── AESKeyTest.as │ │ │ │ │ ├── ARC4Test.as │ │ │ │ │ ├── BigIntegerTest.as │ │ │ │ │ ├── BlowFishKeyTest.as │ │ │ │ │ ├── CBCModeTest.as │ │ │ │ │ ├── CFB8ModeTest.as │ │ │ │ │ ├── CFBModeTest.as │ │ │ │ │ ├── CTRModeTest.as │ │ │ │ │ ├── DESKeyTest.as │ │ │ │ │ ├── ECBModeTest.as │ │ │ │ │ ├── HMACTest.as │ │ │ │ │ ├── ITestHarness.as │ │ │ │ │ ├── MD2Test.as │ │ │ │ │ ├── MD5Test.as │ │ │ │ │ ├── OFBModeTest.as │ │ │ │ │ ├── RSAKeyTest.as │ │ │ │ │ ├── SHA1Test.as │ │ │ │ │ ├── SHA224Test.as │ │ │ │ │ ├── SHA256Test.as │ │ │ │ │ ├── TLSPRFTest.as │ │ │ │ │ ├── TestCase.as │ │ │ │ │ ├── TripleDESKeyTest.as │ │ │ │ │ └── XTeaKeyTest.as │ │ │ │ └── tls │ │ │ │ │ ├── BulkCiphers.as │ │ │ │ │ ├── CipherSuites.as │ │ │ │ │ ├── IConnectionState.as │ │ │ │ │ ├── ISecurityParameters.as │ │ │ │ │ ├── KeyExchanges.as │ │ │ │ │ ├── MACs.as │ │ │ │ │ ├── SSLConnectionState.as │ │ │ │ │ ├── SSLEvent.as │ │ │ │ │ ├── SSLSecurityParameters.as │ │ │ │ │ ├── TLSConfig.as │ │ │ │ │ ├── TLSConnectionState.as │ │ │ │ │ ├── TLSEngine.as │ │ │ │ │ ├── TLSError.as │ │ │ │ │ ├── TLSEvent.as │ │ │ │ │ ├── TLSSecurityParameters.as │ │ │ │ │ ├── TLSSocket.as │ │ │ │ │ ├── TLSSocketEvent.as │ │ │ │ │ └── TLSTest.as │ │ │ │ ├── math │ │ │ │ ├── BarrettReduction.as │ │ │ │ ├── BigInteger.as │ │ │ │ ├── ClassicReduction.as │ │ │ │ ├── IReduction.as │ │ │ │ ├── MontgomeryReduction.as │ │ │ │ ├── NullReduction.as │ │ │ │ └── bi_internal.as │ │ │ │ └── util │ │ │ │ ├── ArrayUtil.as │ │ │ │ ├── Base64.as │ │ │ │ ├── Hex.as │ │ │ │ ├── Memory.as │ │ │ │ └── der │ │ │ │ ├── ByteString.as │ │ │ │ ├── DER.as │ │ │ │ ├── IAsn1Type.as │ │ │ │ ├── Integer.as │ │ │ │ ├── OID.as │ │ │ │ ├── ObjectIdentifier.as │ │ │ │ ├── PEM.as │ │ │ │ ├── PrintableString.as │ │ │ │ ├── Sequence.as │ │ │ │ ├── Set.as │ │ │ │ ├── Type.as │ │ │ │ └── UTCTime.as │ │ │ ├── sample.html │ │ │ ├── swfobject.js │ │ │ └── web_socket.js │ │ ├── node_modules │ │ ├── .bin │ │ │ ├── uglifyjs │ │ │ ├── uglifyjs.cmd │ │ │ ├── wscat │ │ │ └── wscat.cmd │ │ ├── active-x-obfuscator │ │ │ ├── .npmignore │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ └── zeparser │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README │ │ │ │ │ ├── Tokenizer.js │ │ │ │ │ ├── ZeParser.js │ │ │ │ │ ├── benchmark.html │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── test-parser.html │ │ │ │ │ ├── test-tokenizer.html │ │ │ │ │ ├── tests.js │ │ │ │ │ └── unicodecategories.js │ │ │ ├── package.json │ │ │ └── test.js │ │ ├── uglify-js │ │ │ ├── .npmignore │ │ │ ├── README.html │ │ │ ├── README.org │ │ │ ├── bin │ │ │ │ └── uglifyjs │ │ │ ├── docstyle.css │ │ │ ├── lib │ │ │ │ ├── object-ast.js │ │ │ │ ├── parse-js.js │ │ │ │ ├── process.js │ │ │ │ └── squeeze-more.js │ │ │ ├── package.json │ │ │ ├── package.json~ │ │ │ ├── test │ │ │ │ ├── beautify.js │ │ │ │ ├── testparser.js │ │ │ │ └── unit │ │ │ │ │ ├── compress │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── array1.js │ │ │ │ │ │ ├── array2.js │ │ │ │ │ │ ├── array3.js │ │ │ │ │ │ ├── array4.js │ │ │ │ │ │ ├── assignment.js │ │ │ │ │ │ ├── concatstring.js │ │ │ │ │ │ ├── const.js │ │ │ │ │ │ ├── empty-blocks.js │ │ │ │ │ │ ├── forstatement.js │ │ │ │ │ │ ├── if.js │ │ │ │ │ │ ├── ifreturn.js │ │ │ │ │ │ ├── ifreturn2.js │ │ │ │ │ │ ├── issue10.js │ │ │ │ │ │ ├── issue11.js │ │ │ │ │ │ ├── issue13.js │ │ │ │ │ │ ├── issue14.js │ │ │ │ │ │ ├── issue16.js │ │ │ │ │ │ ├── issue17.js │ │ │ │ │ │ ├── issue20.js │ │ │ │ │ │ ├── issue21.js │ │ │ │ │ │ ├── issue25.js │ │ │ │ │ │ ├── issue27.js │ │ │ │ │ │ ├── issue278.js │ │ │ │ │ │ ├── issue28.js │ │ │ │ │ │ ├── issue29.js │ │ │ │ │ │ ├── issue30.js │ │ │ │ │ │ ├── issue34.js │ │ │ │ │ │ ├── issue4.js │ │ │ │ │ │ ├── issue48.js │ │ │ │ │ │ ├── issue50.js │ │ │ │ │ │ ├── issue53.js │ │ │ │ │ │ ├── issue54.1.js │ │ │ │ │ │ ├── issue68.js │ │ │ │ │ │ ├── issue69.js │ │ │ │ │ │ ├── issue9.js │ │ │ │ │ │ ├── mangle.js │ │ │ │ │ │ ├── null_string.js │ │ │ │ │ │ ├── strict-equals.js │ │ │ │ │ │ ├── var.js │ │ │ │ │ │ ├── whitespace.js │ │ │ │ │ │ └── with.js │ │ │ │ │ └── test │ │ │ │ │ │ ├── array1.js │ │ │ │ │ │ ├── array2.js │ │ │ │ │ │ ├── array3.js │ │ │ │ │ │ ├── array4.js │ │ │ │ │ │ ├── assignment.js │ │ │ │ │ │ ├── concatstring.js │ │ │ │ │ │ ├── const.js │ │ │ │ │ │ ├── empty-blocks.js │ │ │ │ │ │ ├── forstatement.js │ │ │ │ │ │ ├── if.js │ │ │ │ │ │ ├── ifreturn.js │ │ │ │ │ │ ├── ifreturn2.js │ │ │ │ │ │ ├── issue10.js │ │ │ │ │ │ ├── issue11.js │ │ │ │ │ │ ├── issue13.js │ │ │ │ │ │ ├── issue14.js │ │ │ │ │ │ ├── issue16.js │ │ │ │ │ │ ├── issue17.js │ │ │ │ │ │ ├── issue20.js │ │ │ │ │ │ ├── issue21.js │ │ │ │ │ │ ├── issue25.js │ │ │ │ │ │ ├── issue27.js │ │ │ │ │ │ ├── issue278.js │ │ │ │ │ │ ├── issue28.js │ │ │ │ │ │ ├── issue29.js │ │ │ │ │ │ ├── issue30.js │ │ │ │ │ │ ├── issue34.js │ │ │ │ │ │ ├── issue4.js │ │ │ │ │ │ ├── issue48.js │ │ │ │ │ │ ├── issue50.js │ │ │ │ │ │ ├── issue53.js │ │ │ │ │ │ ├── issue54.1.js │ │ │ │ │ │ ├── issue68.js │ │ │ │ │ │ ├── issue69.js │ │ │ │ │ │ ├── issue9.js │ │ │ │ │ │ ├── mangle.js │ │ │ │ │ │ ├── null_string.js │ │ │ │ │ │ ├── strict-equals.js │ │ │ │ │ │ ├── var.js │ │ │ │ │ │ ├── whitespace.js │ │ │ │ │ │ └── with.js │ │ │ │ │ └── scripts.js │ │ │ ├── tmp │ │ │ │ ├── 269.js │ │ │ │ ├── app.js │ │ │ │ ├── embed-tokens.js │ │ │ │ ├── goto.js │ │ │ │ ├── goto2.js │ │ │ │ ├── hoist.js │ │ │ │ ├── instrument.js │ │ │ │ ├── instrument2.js │ │ │ │ ├── liftvars.js │ │ │ │ ├── test.js │ │ │ │ ├── uglify-hangs.js │ │ │ │ └── uglify-hangs2.js │ │ │ └── uglify-js.js │ │ ├── ws │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── bench │ │ │ │ ├── parser.benchmark.js │ │ │ │ ├── sender.benchmark.js │ │ │ │ ├── speed.js │ │ │ │ └── util.js │ │ │ ├── bin │ │ │ │ └── wscat │ │ │ ├── binding.gyp │ │ │ ├── doc │ │ │ │ └── ws.md │ │ │ ├── examples │ │ │ │ ├── fileapi │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── package.json │ │ │ │ │ ├── public │ │ │ │ │ │ ├── app.js │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── uploader.js │ │ │ │ │ └── server.js │ │ │ │ └── serverstats │ │ │ │ │ ├── package.json │ │ │ │ │ ├── public │ │ │ │ │ └── index.html │ │ │ │ │ └── server.js │ │ │ ├── index.js │ │ │ ├── install.js │ │ │ ├── lib │ │ │ │ ├── BufferPool.js │ │ │ │ ├── BufferUtil.js │ │ │ │ ├── BufferUtilWindows.js │ │ │ │ ├── ErrorCodes.js │ │ │ │ ├── Receiver.hixie.js │ │ │ │ ├── Receiver.js │ │ │ │ ├── Sender.hixie.js │ │ │ │ ├── Sender.js │ │ │ │ ├── Validation.js │ │ │ │ ├── ValidationWindows.js │ │ │ │ ├── WebSocket.js │ │ │ │ └── WebSocketServer.js │ │ │ ├── node_modules │ │ │ │ ├── commander │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── History.md │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── lib │ │ │ │ │ │ └── commander.js │ │ │ │ │ └── package.json │ │ │ │ └── options │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README.md │ │ │ │ │ ├── lib │ │ │ │ │ └── options.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── test │ │ │ │ │ ├── fixtures │ │ │ │ │ └── test.conf │ │ │ │ │ └── options.test.js │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ ├── bufferutil.cc │ │ │ │ └── validation.cc │ │ │ └── test │ │ │ │ ├── BufferPool.test.js │ │ │ │ ├── Receiver.hixie.test.js │ │ │ │ ├── Receiver.test.js │ │ │ │ ├── Sender.hixie.test.js │ │ │ │ ├── Sender.test.js │ │ │ │ ├── Validation.test.js │ │ │ │ ├── WebSocket.integration.js │ │ │ │ ├── WebSocket.test.js │ │ │ │ ├── WebSocketServer.test.js │ │ │ │ ├── autobahn-server.js │ │ │ │ ├── autobahn.js │ │ │ │ ├── fixtures │ │ │ │ ├── certificate.pem │ │ │ │ ├── key.pem │ │ │ │ ├── request.pem │ │ │ │ └── textfile │ │ │ │ ├── hybi-common.js │ │ │ │ └── testserver.js │ │ └── xmlhttprequest │ │ │ ├── README.md │ │ │ ├── XMLHttpRequest.js │ │ │ ├── autotest.watchr │ │ │ ├── demo.js │ │ │ ├── package.json │ │ │ └── tests │ │ │ ├── test-constants.js │ │ │ ├── test-headers.js │ │ │ └── test-request.js │ │ ├── package.json │ │ └── test │ │ ├── events.test.js │ │ ├── io.test.js │ │ ├── node │ │ ├── builder.common.js │ │ └── builder.test.js │ │ ├── parser.test.js │ │ ├── socket.test.js │ │ ├── util.test.js │ │ └── worker.js │ ├── package.json │ └── restrict_jsonp.patch └── server.php /README: -------------------------------------------------------------------------------- 1 | ============================================================ 2 | WebRTC Application that enables peer-to-peer communication. 3 | ============================================================ 4 | 5 | Instructions : 6 | 7 | If you prefer to use node.js | Socket.io on the Server Side : (Recommended) 8 | * Download and install node.js [http://nodejs.org/#download] 9 | * Install Express ('npm install express') and Socket.io ('npm install socket.io') 10 | * Run the server ('node nodeServer.js') 11 | * Correct the 'server' variable in 'index.html' accordingly 12 | 13 | If you prefer to use PHP on the Server Side : 14 | * Simply enter the database and authentication details in `init.php`. 15 | 16 | To run the application, open up index.html in Chrome Canary(/Dev Channel) [https://tools.google.com/dlpage/chromesxs?platform=win]. -------------------------------------------------------------------------------- /init.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /node_modules/.bin/express: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | if [ -x "`dirname "$0"`/node" ]; then 3 | "`dirname "$0"`/node" "`dirname "$0"`/../express/bin/express" "$@" 4 | ret=$? 5 | else 6 | node "`dirname "$0"`/../express/bin/express" "$@" 7 | ret=$? 8 | fi 9 | exit $ret 10 | -------------------------------------------------------------------------------- /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/express/.npmignore: -------------------------------------------------------------------------------- 1 | .git* 2 | docs/ 3 | examples/ 4 | support/ 5 | test/ 6 | testing.js 7 | .DS_Store 8 | -------------------------------------------------------------------------------- /node_modules/express/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2009-2011 TJ Holowaychuk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/express/Makefile: -------------------------------------------------------------------------------- 1 | 2 | DOCS = $(shell find docs/*.md) 3 | HTMLDOCS = $(DOCS:.md=.html) 4 | TESTS = $(shell find test/*.test.js) 5 | 6 | test: 7 | @NODE_ENV=test ./node_modules/.bin/expresso $(TESTS) 8 | 9 | docs: $(HTMLDOCS) 10 | @ echo "... generating TOC" 11 | @./support/toc.js docs/guide.html 12 | 13 | %.html: %.md 14 | @echo "... $< -> $@" 15 | @markdown $< \ 16 | | cat docs/layout/head.html - docs/layout/foot.html \ 17 | > $@ 18 | 19 | site: 20 | rm -fr /tmp/docs \ 21 | && cp -fr docs /tmp/docs \ 22 | && git checkout gh-pages \ 23 | && cp -fr /tmp/docs/* . \ 24 | && echo "done" 25 | 26 | docclean: 27 | rm -f docs/*.{1,html} 28 | 29 | .PHONY: site test docs docclean -------------------------------------------------------------------------------- /node_modules/express/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/express'); -------------------------------------------------------------------------------- /node_modules/express/lib-cov/router/methods.js: -------------------------------------------------------------------------------- 1 | /* automatically generated by JSCoverage - do not edit */ 2 | if (typeof _$jscoverage === 'undefined') _$jscoverage = {}; 3 | if (! _$jscoverage['router/methods.js']) { 4 | _$jscoverage['router/methods.js'] = []; 5 | _$jscoverage['router/methods.js'][12] = 0; 6 | } 7 | _$jscoverage['router/methods.js'][12]++; 8 | module.exports = ["get", "post", "put", "head", "delete", "options", "trace", "copy", "lock", "mkcol", "move", "propfind", "proppatch", "unlock", "report", "mkactivity", "checkout", "merge", "m-search", "notify", "subscribe", "unsubscribe", "patch"]; 9 | _$jscoverage['router/methods.js'].source = ["","/*!"," * Express - router - methods"," * Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>"," * MIT Licensed"," */","","/**"," * HTTP methods supported by node."," */","","module.exports = ["," 'get'"," , 'post'"," , 'put'"," , 'head'"," , 'delete'"," , 'options'"," , 'trace'"," , 'copy'"," , 'lock'"," , 'mkcol'"," , 'move'"," , 'propfind'"," , 'proppatch'"," , 'unlock'"," , 'report'"," , 'mkactivity'"," , 'checkout'"," , 'merge'"," , 'm-search'"," , 'notify'"," , 'subscribe'"," , 'unsubscribe'"," , 'patch'","];"]; 10 | -------------------------------------------------------------------------------- /node_modules/express/lib/https.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Express - HTTPSServer 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | var connect = require('connect') 13 | , HTTPServer = require('./http') 14 | , https = require('https'); 15 | 16 | /** 17 | * Expose `HTTPSServer`. 18 | */ 19 | 20 | exports = module.exports = HTTPSServer; 21 | 22 | /** 23 | * Server proto. 24 | */ 25 | 26 | var app = HTTPSServer.prototype; 27 | 28 | /** 29 | * Initialize a new `HTTPSServer` with the 30 | * given `options`, and optional `middleware`. 31 | * 32 | * @param {Object} options 33 | * @param {Array} middleware 34 | * @api public 35 | */ 36 | 37 | function HTTPSServer(options, middleware){ 38 | connect.HTTPSServer.call(this, options, []); 39 | this.init(middleware); 40 | }; 41 | 42 | /** 43 | * Inherit from `connect.HTTPSServer`. 44 | */ 45 | 46 | app.__proto__ = connect.HTTPSServer.prototype; 47 | 48 | // mixin HTTPServer methods 49 | 50 | Object.keys(HTTPServer.prototype).forEach(function(method){ 51 | app[method] = HTTPServer.prototype[method]; 52 | }); 53 | -------------------------------------------------------------------------------- /node_modules/express/lib/router/collection.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Express - router - Collection 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Expose `Collection`. 10 | */ 11 | 12 | module.exports = Collection; 13 | 14 | /** 15 | * Initialize a new route `Collection` 16 | * with the given `router`. 17 | * 18 | * @param {Router} router 19 | * @api private 20 | */ 21 | 22 | function Collection(router) { 23 | Array.apply(this, arguments); 24 | this.router = router; 25 | } 26 | 27 | /** 28 | * Inherit from `Array.prototype`. 29 | */ 30 | 31 | Collection.prototype.__proto__ = Array.prototype; 32 | 33 | /** 34 | * Remove the routes in this collection. 35 | * 36 | * @return {Collection} of routes removed 37 | * @api public 38 | */ 39 | 40 | Collection.prototype.remove = function(){ 41 | var router = this.router 42 | , len = this.length 43 | , ret = new Collection(this.router); 44 | 45 | for (var i = 0; i < len; ++i) { 46 | if (router.remove(this[i])) { 47 | ret.push(this[i]); 48 | } 49 | } 50 | 51 | return ret; 52 | }; 53 | 54 | -------------------------------------------------------------------------------- /node_modules/express/lib/view/partial.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Express - view - Partial 4 | * Copyright(c) 2010 TJ Holowaychuk 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Memory cache. 10 | */ 11 | 12 | var cache = {}; 13 | 14 | /** 15 | * Resolve partial object name from the view path. 16 | * 17 | * Examples: 18 | * 19 | * "user.ejs" becomes "user" 20 | * "forum thread.ejs" becomes "forumThread" 21 | * "forum/thread/post.ejs" becomes "post" 22 | * "blog-post.ejs" becomes "blogPost" 23 | * 24 | * @return {String} 25 | * @api private 26 | */ 27 | 28 | exports.resolveObjectName = function(view){ 29 | return cache[view] || (cache[view] = view 30 | .split('/') 31 | .slice(-1)[0] 32 | .split('.')[0] 33 | .replace(/^_/, '') 34 | .replace(/[^a-zA-Z0-9 ]+/g, ' ') 35 | .split(/ +/).map(function(word, i){ 36 | return i 37 | ? word[0].toUpperCase() + word.substr(1) 38 | : word; 39 | }).join('')); 40 | }; -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2010 Sencha Inc. 4 | Copyright (c) 2011 LearnBoost 5 | Copyright (c) 2011 TJ Holowaychuk 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/connect'); -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/https.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Connect - HTTPServer 4 | * Copyright(c) 2010 Sencha Inc. 5 | * Copyright(c) 2011 TJ Holowaychuk 6 | * MIT Licensed 7 | */ 8 | 9 | /** 10 | * Module dependencies. 11 | */ 12 | 13 | var HTTPServer = require('./http').Server 14 | , https = require('https'); 15 | 16 | /** 17 | * Initialize a new `Server` with the given 18 | *`options` and `middleware`. The HTTPS api 19 | * is identical to the [HTTP](http.html) server, 20 | * however TLS `options` must be provided before 21 | * passing in the optional middleware. 22 | * 23 | * @params {Object} options 24 | * @params {Array} middleawre 25 | * @return {Server} 26 | * @api public 27 | */ 28 | 29 | var Server = exports.Server = function HTTPSServer(options, middleware) { 30 | this.stack = []; 31 | middleware.forEach(function(fn){ 32 | this.use(fn); 33 | }, this); 34 | https.Server.call(this, options, this.handle); 35 | }; 36 | 37 | /** 38 | * Inherit from `http.Server.prototype`. 39 | */ 40 | 41 | Server.prototype.__proto__ = https.Server.prototype; 42 | 43 | // mixin HTTPServer methods 44 | 45 | Object.keys(HTTPServer.prototype).forEach(function(method){ 46 | Server.prototype[method] = HTTPServer.prototype[method]; 47 | }); -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/middleware/cookieParser.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Connect - cookieParser 4 | * Copyright(c) 2010 Sencha Inc. 5 | * Copyright(c) 2011 TJ Holowaychuk 6 | * MIT Licensed 7 | */ 8 | 9 | /** 10 | * Module dependencies. 11 | */ 12 | 13 | var utils = require('./../utils'); 14 | 15 | /** 16 | * Parse _Cookie_ header and populate `req.cookies` 17 | * with an object keyed by the cookie names. 18 | * 19 | * Examples: 20 | * 21 | * connect.createServer( 22 | * connect.cookieParser() 23 | * , function(req, res, next){ 24 | * res.end(JSON.stringify(req.cookies)); 25 | * } 26 | * ); 27 | * 28 | * @return {Function} 29 | * @api public 30 | */ 31 | 32 | module.exports = function cookieParser(){ 33 | return function cookieParser(req, res, next) { 34 | var cookie = req.headers.cookie; 35 | if (req.cookies) return next(); 36 | req.cookies = {}; 37 | if (cookie) { 38 | try { 39 | req.cookies = utils.parseCookie(cookie); 40 | } catch (err) { 41 | return next(err); 42 | } 43 | } 44 | next(); 45 | }; 46 | }; -------------------------------------------------------------------------------- /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 | * Provides faux HTTP method support. 11 | * 12 | * Pass an optional `key` to use when checking for 13 | * a method override, othewise defaults to _\_method_. 14 | * The original method is available via `req.originalMethod`. 15 | * 16 | * @param {String} key 17 | * @return {Function} 18 | * @api public 19 | */ 20 | 21 | module.exports = function methodOverride(key){ 22 | key = key || "_method"; 23 | return function methodOverride(req, res, next) { 24 | req.originalMethod = req.originalMethod || req.method; 25 | 26 | // req.body 27 | if (req.body && key in req.body) { 28 | req.method = req.body[key].toUpperCase(); 29 | delete req.body[key]; 30 | // check X-HTTP-Method-Override 31 | } else if (req.headers['x-http-method-override']) { 32 | req.method = req.headers['x-http-method-override'].toUpperCase(); 33 | } 34 | 35 | next(); 36 | }; 37 | }; 38 | 39 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/middleware/query.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Connect - query 4 | * Copyright(c) 2011 TJ Holowaychuk 5 | * Copyright(c) 2011 Sencha Inc. 6 | * MIT Licensed 7 | */ 8 | 9 | /** 10 | * Module dependencies. 11 | */ 12 | 13 | var qs = require('qs') 14 | , parse = require('url').parse; 15 | 16 | /** 17 | * Automatically parse the query-string when available, 18 | * populating the `req.query` object. 19 | * 20 | * Examples: 21 | * 22 | * connect( 23 | * connect.query() 24 | * , function(req, res){ 25 | * res.end(JSON.stringify(req.query)); 26 | * } 27 | * ).listen(3000); 28 | * 29 | * @return {Function} 30 | * @api public 31 | */ 32 | 33 | module.exports = function query(){ 34 | return function query(req, res, next){ 35 | req.query = ~req.url.indexOf('?') 36 | ? qs.parse(parse(req.url).query) 37 | : {}; 38 | next(); 39 | }; 40 | }; 41 | -------------------------------------------------------------------------------- /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 | * Adds the `X-Response-Time` header displaying the response 10 | * duration in milliseconds. 11 | * 12 | * @return {Function} 13 | * @api public 14 | */ 15 | 16 | module.exports = function responseTime(){ 17 | return function(req, res, next){ 18 | var writeHead = res.writeHead 19 | , start = new Date; 20 | 21 | if (res._responseTime) return next(); 22 | res._responseTime = true; 23 | 24 | // proxy writeHead to calculate duration 25 | res.writeHead = function(status, headers){ 26 | var duration = new Date - start; 27 | res.setHeader('X-Response-Time', duration + 'ms'); 28 | res.writeHead = writeHead; 29 | res.writeHead(status, headers); 30 | }; 31 | 32 | next(); 33 | }; 34 | }; 35 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {error} 4 | 5 | 6 | 7 |
8 |

{title}

9 |

500 {error}

10 |
    {stack}
11 |
12 | 13 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/connect/lib/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/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/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/node_modules/express/node_modules/connect/lib/public/icons/page_world.png -------------------------------------------------------------------------------- /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/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "formidable", 3 | "version": "1.0.9", 4 | "dependencies": {}, 5 | "devDependencies": { 6 | "gently": "0.8.0", 7 | "findit": "0.1.1", 8 | "hashish": "0.0.4", 9 | "urun": "0.0.4", 10 | "utest": "0.0.3" 11 | }, 12 | "directories": { 13 | "lib": "./lib" 14 | }, 15 | "main": "./lib/index", 16 | "scripts": { 17 | "test": "make test" 18 | }, 19 | "engines": { 20 | "node": "*" 21 | }, 22 | "_id": "formidable@1.0.9", 23 | "optionalDependencies": {}, 24 | "_engineSupported": true, 25 | "_npmVersion": "1.1.21", 26 | "_nodeVersion": "v0.6.18", 27 | "_defaultsLoaded": true, 28 | "_from": "formidable@1.0.x" 29 | } 30 | -------------------------------------------------------------------------------- /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/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "connect", 3 | "version": "1.8.7", 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.0", 23 | "mime": ">= 0.0.1", 24 | "formidable": "1.0.x" 25 | }, 26 | "devDependencies": { 27 | "expresso": "0.9.2", 28 | "koala": "0.1.2", 29 | "less": "1.1.1", 30 | "sass": "0.5.0", 31 | "markdown": "0.2.1", 32 | "ejs": "0.4.3", 33 | "should": "0.3.2" 34 | }, 35 | "publishConfig": { 36 | "tag": "1.8" 37 | }, 38 | "main": "index", 39 | "engines": { 40 | "node": ">= 0.4.1 < 0.7.0" 41 | }, 42 | "_id": "connect@1.8.7", 43 | "optionalDependencies": {}, 44 | "_engineSupported": true, 45 | "_npmVersion": "1.1.21", 46 | "_nodeVersion": "v0.6.18", 47 | "_defaultsLoaded": true, 48 | "_from": "connect@1.x" 49 | } 50 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mime/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 Benjamin Thomas, Robert Kieffer 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /node_modules/express/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 | "async_testing": "" 18 | }, 19 | "keywords": [ 20 | "util", 21 | "mime" 22 | ], 23 | "main": "mime.js", 24 | "name": "mime", 25 | "repository": { 26 | "url": "git://github.com/bentomas/node-mime.git", 27 | "type": "git" 28 | }, 29 | "version": "1.2.4", 30 | "_id": "mime@1.2.4", 31 | "optionalDependencies": {}, 32 | "engines": { 33 | "node": "*" 34 | }, 35 | "_engineSupported": true, 36 | "_npmVersion": "1.1.21", 37 | "_nodeVersion": "v0.6.18", 38 | "_defaultsLoaded": true, 39 | "_from": "mime@1.2.4" 40 | } 41 | -------------------------------------------------------------------------------- /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/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2010 James Halliday (mail@substack.net) 2 | 3 | This project is free software released under the MIT/X11 license: 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/README.markdown: -------------------------------------------------------------------------------- 1 | mkdirp 2 | ====== 3 | 4 | Like `mkdir -p`, but in node.js! 5 | 6 | example 7 | ======= 8 | 9 | pow.js 10 | ------ 11 | var mkdirp = require('mkdirp'); 12 | 13 | mkdirp('/tmp/foo/bar/baz', function (err) { 14 | if (err) console.error(err) 15 | else console.log('pow!') 16 | }); 17 | 18 | Output 19 | pow! 20 | 21 | And now /tmp/foo/bar/baz exists, huzzah! 22 | 23 | methods 24 | ======= 25 | 26 | var mkdirp = require('mkdirp'); 27 | 28 | mkdirp(dir, mode, cb) 29 | --------------------- 30 | 31 | Create a new directory and any necessary subdirectories at `dir` with octal 32 | permission string `mode`. 33 | 34 | If `mode` isn't specified, it defaults to `0777 & (~process.umask())`. 35 | 36 | mkdirp.sync(dir, mode) 37 | ---------------------- 38 | 39 | Synchronously create a new directory and any necessary subdirectories at `dir` 40 | with octal permission string `mode`. 41 | 42 | If `mode` isn't specified, it defaults to `0777 & (~process.umask())`. 43 | 44 | install 45 | ======= 46 | 47 | With [npm](http://npmjs.org) do: 48 | 49 | npm install mkdirp 50 | 51 | license 52 | ======= 53 | 54 | MIT/X11 55 | -------------------------------------------------------------------------------- /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/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mkdirp", 3 | "description": "Recursively mkdir, like `mkdir -p`", 4 | "version": "0.3.0", 5 | "author": { 6 | "name": "James Halliday", 7 | "email": "mail@substack.net", 8 | "url": "http://substack.net" 9 | }, 10 | "main": "./index", 11 | "keywords": [ 12 | "mkdir", 13 | "directory" 14 | ], 15 | "repository": { 16 | "type": "git", 17 | "url": "git://github.com/substack/node-mkdirp.git" 18 | }, 19 | "scripts": { 20 | "test": "tap test/*.js" 21 | }, 22 | "devDependencies": { 23 | "tap": "0.0.x" 24 | }, 25 | "license": "MIT/X11", 26 | "engines": { 27 | "node": "*" 28 | }, 29 | "_id": "mkdirp@0.3.0", 30 | "dependencies": {}, 31 | "optionalDependencies": {}, 32 | "_engineSupported": true, 33 | "_npmVersion": "1.1.21", 34 | "_nodeVersion": "v0.6.18", 35 | "_defaultsLoaded": true, 36 | "_from": "mkdirp@0.3.0" 37 | } 38 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/chmod.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 | test('chmod-pre', function (t) { 16 | var mode = 0744 17 | mkdirp(file, mode, function (er) { 18 | t.ifError(er, 'should not error'); 19 | fs.stat(file, function (er, stat) { 20 | t.ifError(er, 'should exist'); 21 | t.ok(stat && stat.isDirectory(), 'should be directory'); 22 | t.equal(stat && stat.mode & 0777, mode, 'should be 0744'); 23 | t.end(); 24 | }); 25 | }); 26 | }); 27 | 28 | test('chmod', function (t) { 29 | var mode = 0755 30 | mkdirp(file, mode, function (er) { 31 | t.ifError(er, 'should not error'); 32 | fs.stat(file, function (er, stat) { 33 | t.ifError(er, 'should exist'); 34 | t.ok(stat && stat.isDirectory(), 'should be directory'); 35 | t.end(); 36 | }); 37 | }); 38 | }); 39 | -------------------------------------------------------------------------------- /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/perm_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 perm', function (t) { 7 | t.plan(2); 8 | var file = '/tmp/' + (Math.random() * (1<<30)).toString(16) + '.json'; 9 | 10 | mkdirp.sync(file, 0755); 11 | path.exists(file, function (ex) { 12 | if (!ex) t.fail('file not created') 13 | else fs.stat(file, function (err, stat) { 14 | if (err) t.fail(err) 15 | else { 16 | t.equal(stat.mode & 0777, 0755); 17 | t.ok(stat.isDirectory(), 'target not a directory'); 18 | t.end(); 19 | } 20 | }) 21 | }); 22 | }); 23 | 24 | test('sync root perm', function (t) { 25 | t.plan(1); 26 | 27 | var file = '/tmp'; 28 | mkdirp.sync(file, 0755); 29 | path.exists(file, function (ex) { 30 | if (!ex) t.fail('file not created') 31 | else fs.stat(file, function (err, stat) { 32 | if (err) t.fail(err) 33 | else { 34 | t.ok(stat.isDirectory(), 'target not a directory'); 35 | t.end(); 36 | } 37 | }) 38 | }); 39 | }); 40 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/mkdirp/test/race.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../').mkdirp; 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('race', function (t) { 7 | t.plan(4); 8 | var ps = [ '', 'tmp' ]; 9 | 10 | for (var i = 0; i < 25; i++) { 11 | var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 12 | ps.push(dir); 13 | } 14 | var file = ps.join('/'); 15 | 16 | var res = 2; 17 | mk(file, function () { 18 | if (--res === 0) t.end(); 19 | }); 20 | 21 | mk(file, function () { 22 | if (--res === 0) t.end(); 23 | }); 24 | 25 | function mk (file, cb) { 26 | mkdirp(file, 0755, function (err) { 27 | if (err) t.fail(err); 28 | else path.exists(file, function (ex) { 29 | if (!ex) t.fail('file not created') 30 | else fs.stat(file, function (err, stat) { 31 | if (err) t.fail(err) 32 | else { 33 | t.equal(stat.mode & 0777, 0755); 34 | t.ok(stat.isDirectory(), 'target not a directory'); 35 | if (cb) cb(); 36 | } 37 | }) 38 | }) 39 | }); 40 | } 41 | }); 42 | -------------------------------------------------------------------------------- /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/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 | var err = mkdirp.sync(file, 0755); 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 | -------------------------------------------------------------------------------- /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 | var err = mkdirp.sync(file); 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 | -------------------------------------------------------------------------------- /node_modules/express/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/qs/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.4 -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha 4 | 5 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/express/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/qs/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/querystring'); -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "qs", 3 | "description": "querystring parser", 4 | "version": "0.4.2", 5 | "repository": { 6 | "type": "git", 7 | "url": "git://github.com/visionmedia/node-querystring.git" 8 | }, 9 | "devDependencies": { 10 | "mocha": "*", 11 | "should": "*" 12 | }, 13 | "author": { 14 | "name": "TJ Holowaychuk", 15 | "email": "tj@vision-media.ca", 16 | "url": "http://tjholowaychuk.com" 17 | }, 18 | "main": "index", 19 | "engines": { 20 | "node": "*" 21 | }, 22 | "_id": "qs@0.4.2", 23 | "dependencies": {}, 24 | "optionalDependencies": {}, 25 | "_engineSupported": true, 26 | "_npmVersion": "1.1.21", 27 | "_nodeVersion": "v0.6.18", 28 | "_defaultsLoaded": true, 29 | "_from": "qs@0.4.x" 30 | } 31 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/test/mocha.opts: -------------------------------------------------------------------------------- 1 | --require should 2 | --ui exports 3 | -------------------------------------------------------------------------------- /node_modules/express/test.js: -------------------------------------------------------------------------------- 1 | 2 | var express = require('./') 3 | , app = express(); 4 | 5 | var user = { name: 'Tobi' }; 6 | 7 | app.param('user_id', function(req, res, next, id){ 8 | console.log(id); 9 | }); 10 | 11 | app.get('/:user_id/post/:post_id', function(req, res){ 12 | res.send(req.params.user); 13 | }); 14 | 15 | app.get('*', function(req, res, next){ 16 | console.log('GET one'); 17 | next(); 18 | }); 19 | 20 | app.use(function(req, res, next){ 21 | console.log('use'); 22 | next(); 23 | }); 24 | 25 | app.get('*', one, two, function(req, res, next){ 26 | console.log('GET two'); 27 | res.send('hey\n'); 28 | }); 29 | 30 | function one(req, res, next) { 31 | console.log('middleware one'); 32 | next(); 33 | } 34 | 35 | function two(req, res, next) { 36 | console.log('middleware two'); 37 | next(); 38 | } 39 | 40 | 41 | app.listen(4000); 42 | -------------------------------------------------------------------------------- /node_modules/socket.io/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | -------------------------------------------------------------------------------- /node_modules/socket.io/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | 5 | notifications: 6 | irc: "irc.freenode.org#socket.io" 7 | -------------------------------------------------------------------------------- /node_modules/socket.io/Makefile: -------------------------------------------------------------------------------- 1 | 2 | ALL_TESTS = $(shell find test/ -name '*.test.js') 3 | ALL_BENCH = $(shell find benchmarks -name '*.bench.js') 4 | 5 | run-tests: 6 | @./node_modules/.bin/expresso \ 7 | -t 3000 \ 8 | -I support \ 9 | --serial \ 10 | $(TESTFLAGS) \ 11 | $(TESTS) 12 | 13 | test: 14 | @$(MAKE) NODE_PATH=lib TESTS="$(ALL_TESTS)" run-tests 15 | 16 | test-cov: 17 | @TESTFLAGS=--cov $(MAKE) test 18 | 19 | test-leaks: 20 | @ls test/leaks/* | xargs node --expose_debug_as=debug --expose_gc 21 | 22 | run-bench: 23 | @node $(PROFILEFLAGS) benchmarks/runner.js 24 | 25 | bench: 26 | @$(MAKE) BENCHMARKS="$(ALL_BENCH)" run-bench 27 | 28 | profile: 29 | @PROFILEFLAGS='--prof --trace-opt --trace-bailout --trace-deopt' $(MAKE) bench 30 | 31 | .PHONY: test bench profile 32 | -------------------------------------------------------------------------------- /node_modules/socket.io/index.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * socket.io-node 4 | * Copyright(c) 2011 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | module.exports = require('./lib/socket.io'); 9 | -------------------------------------------------------------------------------- /node_modules/socket.io/lib/transports/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Export transports. 4 | */ 5 | 6 | module.exports = { 7 | websocket: require('./websocket') 8 | , flashsocket: require('./flashsocket') 9 | , htmlfile: require('./htmlfile') 10 | , 'xhr-polling': require('./xhr-polling') 11 | , 'jsonp-polling': require('./jsonp-polling') 12 | }; 13 | -------------------------------------------------------------------------------- /node_modules/socket.io/lib/transports/websocket.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * socket.io-node 4 | * Copyright(c) 2011 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module requirements. 10 | */ 11 | 12 | var protocolVersions = require('./websocket/'); 13 | 14 | /** 15 | * Export the constructor. 16 | */ 17 | 18 | exports = module.exports = WebSocket; 19 | 20 | /** 21 | * HTTP interface constructor. Interface compatible with all transports that 22 | * depend on request-response cycles. 23 | * 24 | * @api public 25 | */ 26 | 27 | function WebSocket (mng, data, req) { 28 | var transport 29 | , version = req.headers['sec-websocket-version']; 30 | if (typeof version !== 'undefined' && typeof protocolVersions[version] !== 'undefined') { 31 | transport = new protocolVersions[version](mng, data, req); 32 | } 33 | else transport = new protocolVersions['default'](mng, data, req); 34 | if (typeof this.name !== 'undefined') transport.name = this.name; 35 | return transport; 36 | }; 37 | -------------------------------------------------------------------------------- /node_modules/socket.io/lib/transports/websocket/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Export websocket versions. 4 | */ 5 | 6 | module.exports = { 7 | 7: require('./hybi-07-12'), 8 | 8: require('./hybi-07-12'), 9 | 13: require('./hybi-16'), 10 | default: require('./default') 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/socket.io/lib/util.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * socket.io-node 4 | * Copyright(c) 2011 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module dependencies. 10 | */ 11 | 12 | /** 13 | * Converts an enumerable to an array. 14 | * 15 | * @api public 16 | */ 17 | 18 | exports.toArray = function (enu) { 19 | var arr = []; 20 | 21 | for (var i = 0, l = enu.length; i < l; i++) 22 | arr.push(enu[i]); 23 | 24 | return arr; 25 | }; 26 | 27 | /** 28 | * Unpacks a buffer to a number. 29 | * 30 | * @api public 31 | */ 32 | 33 | exports.unpack = function (buffer) { 34 | var n = 0; 35 | for (var i = 0; i < buffer.length; ++i) { 36 | n = (i == 0) ? buffer[i] : (n * 256) + buffer[i]; 37 | } 38 | return n; 39 | } 40 | 41 | /** 42 | * Left pads a string. 43 | * 44 | * @api public 45 | */ 46 | 47 | exports.padl = function (s,n,c) { 48 | return new Array(1 + n - s.length).join(c) + s; 49 | } 50 | 51 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/policyfile/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/policyfile/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Arnout Kazemier,3rd-Eden 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/socket.io/node_modules/policyfile/Makefile: -------------------------------------------------------------------------------- 1 | doc: 2 | dox --title "FlashPolicyFileServer" lib/* > doc/index.html 3 | 4 | test: 5 | expresso -I lib $(TESTFLAGS) tests/*.test.js 6 | 7 | .PHONY: test doc -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/policyfile/examples/basic.fallback.js: -------------------------------------------------------------------------------- 1 | var http = require('http') 2 | , fspfs = require('../'); 3 | 4 | var server = http.createServer(function(q,r){ r.writeHead(200); r.end(':3') }) 5 | , flash = fspfs.createServer(); 6 | 7 | server.listen(8080); 8 | flash.listen(8081,server); -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/policyfile/examples/basic.js: -------------------------------------------------------------------------------- 1 | var http = require('http') 2 | , fspfs = require('../'); 3 | 4 | var flash = fspfs.createServer(); 5 | flash.listen(); -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/policyfile/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/server.js'); -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/eval_test.js: -------------------------------------------------------------------------------- 1 | var redis = require("./index"), 2 | client = redis.createClient(); 3 | 4 | redis.debug_mode = true; 5 | 6 | client.eval("return 100.5", 0, function (err, res) { 7 | console.dir(err); 8 | console.dir(res); 9 | }); 10 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/examples/auth.js: -------------------------------------------------------------------------------- 1 | var redis = require("redis"), 2 | client = redis.createClient(); 3 | 4 | // This command is magical. Client stashes the password and will issue on every connect. 5 | client.auth("somepass"); 6 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/examples/backpressure_drain.js: -------------------------------------------------------------------------------- 1 | var redis = require("../index"), 2 | client = redis.createClient(null, null, { 3 | command_queue_high_water: 5, 4 | command_queue_low_water: 1 5 | }), 6 | remaining_ops = 100000, paused = false; 7 | 8 | function op() { 9 | if (remaining_ops <= 0) { 10 | console.error("Finished."); 11 | process.exit(0); 12 | } 13 | 14 | remaining_ops--; 15 | if (client.hset("test hash", "val " + remaining_ops, remaining_ops) === false) { 16 | console.log("Pausing at " + remaining_ops); 17 | paused = true; 18 | } else { 19 | process.nextTick(op); 20 | } 21 | } 22 | 23 | client.on("drain", function () { 24 | if (paused) { 25 | console.log("Resuming at " + remaining_ops); 26 | paused = false; 27 | process.nextTick(op); 28 | } else { 29 | console.log("Got drain while not paused at " + remaining_ops); 30 | } 31 | }); 32 | 33 | op(); 34 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/examples/extend.js: -------------------------------------------------------------------------------- 1 | var redis = require("redis"), 2 | client = redis.createClient(); 3 | 4 | // Extend the RedisClient prototype to add a custom method 5 | // This one converts the results from "INFO" into a JavaScript Object 6 | 7 | redis.RedisClient.prototype.parse_info = function (callback) { 8 | this.info(function (err, res) { 9 | var lines = res.toString().split("\r\n").sort(); 10 | var obj = {}; 11 | lines.forEach(function (line) { 12 | var parts = line.split(':'); 13 | if (parts[1]) { 14 | obj[parts[0]] = parts[1]; 15 | } 16 | }); 17 | callback(obj) 18 | }); 19 | }; 20 | 21 | client.parse_info(function (info) { 22 | console.dir(info); 23 | client.quit(); 24 | }); 25 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/examples/file.js: -------------------------------------------------------------------------------- 1 | // Read a file from disk, store it in Redis, then read it back from Redis. 2 | 3 | var redis = require("redis"), 4 | client = redis.createClient(), 5 | fs = require("fs"), 6 | filename = "kids_in_cart.jpg"; 7 | 8 | // Get the file I use for testing like this: 9 | // curl http://ranney.com/kids_in_cart.jpg -o kids_in_cart.jpg 10 | // or just use your own file. 11 | 12 | // Read a file from fs, store it in Redis, get it back from Redis, write it back to fs. 13 | fs.readFile(filename, function (err, data) { 14 | if (err) throw err 15 | console.log("Read " + data.length + " bytes from filesystem."); 16 | 17 | client.set(filename, data, redis.print); // set entire file 18 | client.get(filename, function (err, reply) { // get entire file 19 | if (err) { 20 | console.log("Get error: " + err); 21 | } else { 22 | fs.writeFile("duplicate_" + filename, reply, function (err) { 23 | if (err) { 24 | console.log("Error on write: " + err) 25 | } else { 26 | console.log("File written."); 27 | } 28 | client.end(); 29 | }); 30 | } 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/examples/mget.js: -------------------------------------------------------------------------------- 1 | var client = require("redis").createClient(); 2 | 3 | client.mget(["sessions started", "sessions started", "foo"], function (err, res) { 4 | console.dir(res); 5 | }); -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/examples/monitor.js: -------------------------------------------------------------------------------- 1 | var client = require("../index").createClient(), 2 | util = require("util"); 3 | 4 | client.monitor(function (err, res) { 5 | console.log("Entering monitoring mode."); 6 | }); 7 | 8 | client.on("monitor", function (time, args) { 9 | console.log(time + ": " + util.inspect(args)); 10 | }); 11 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/examples/multi2.js: -------------------------------------------------------------------------------- 1 | var redis = require("redis"), 2 | client = redis.createClient(), multi; 3 | 4 | // start a separate command queue for multi 5 | multi = client.multi(); 6 | multi.incr("incr thing", redis.print); 7 | multi.incr("incr other thing", redis.print); 8 | 9 | // runs immediately 10 | client.mset("incr thing", 100, "incr other thing", 1, redis.print); 11 | 12 | // drains multi queue and runs atomically 13 | multi.exec(function (err, replies) { 14 | console.log(replies); // 101, 2 15 | }); 16 | 17 | // you can re-run the same transaction if you like 18 | multi.exec(function (err, replies) { 19 | console.log(replies); // 102, 3 20 | client.quit(); 21 | }); 22 | 23 | client.multi([ 24 | ["mget", "multifoo", "multibar", redis.print], 25 | ["incr", "multifoo"], 26 | ["incr", "multibar"] 27 | ]).exec(function (err, replies) { 28 | console.log(replies.toString()); 29 | }); 30 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/examples/psubscribe.js: -------------------------------------------------------------------------------- 1 | var redis = require("redis"), 2 | client1 = redis.createClient(), 3 | client2 = redis.createClient(), 4 | client3 = redis.createClient(), 5 | client4 = redis.createClient(), 6 | msg_count = 0; 7 | 8 | redis.debug_mode = false; 9 | 10 | client1.on("psubscribe", function (pattern, count) { 11 | console.log("client1 psubscribed to " + pattern + ", " + count + " total subscriptions"); 12 | client2.publish("channeltwo", "Me!"); 13 | client3.publish("channelthree", "Me too!"); 14 | client4.publish("channelfour", "And me too!"); 15 | }); 16 | 17 | client1.on("punsubscribe", function (pattern, count) { 18 | console.log("client1 punsubscribed from " + pattern + ", " + count + " total subscriptions"); 19 | client4.end(); 20 | client3.end(); 21 | client2.end(); 22 | client1.end(); 23 | }); 24 | 25 | client1.on("pmessage", function (pattern, channel, message) { 26 | console.log("("+ pattern +")" + " client1 received message on " + channel + ": " + message); 27 | msg_count += 1; 28 | if (msg_count === 3) { 29 | client1.punsubscribe(); 30 | } 31 | }); 32 | 33 | client1.psubscribe("channel*"); 34 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/examples/simple.js: -------------------------------------------------------------------------------- 1 | var redis = require("redis"), 2 | client = redis.createClient(); 3 | 4 | client.on("error", function (err) { 5 | console.log("Redis connection error to " + client.host + ":" + client.port + " - " + err); 6 | }); 7 | 8 | client.set("string key", "string val", redis.print); 9 | client.hset("hash key", "hashtest 1", "some value", redis.print); 10 | client.hset(["hash key", "hashtest 2", "some other value"], redis.print); 11 | client.hkeys("hash key", function (err, replies) { 12 | console.log(replies.length + " replies:"); 13 | replies.forEach(function (reply, i) { 14 | console.log(" " + i + ": " + reply); 15 | }); 16 | client.quit(); 17 | }); 18 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/examples/subqueries.js: -------------------------------------------------------------------------------- 1 | // Sending commands in response to other commands. 2 | // This example runs "type" against every key in the database 3 | // 4 | var client = require("redis").createClient(); 5 | 6 | client.keys("*", function (err, keys) { 7 | keys.forEach(function (key, pos) { 8 | client.type(key, function (err, keytype) { 9 | console.log(key + " is " + keytype); 10 | if (pos === (keys.length - 1)) { 11 | client.quit(); 12 | } 13 | }); 14 | }); 15 | }); 16 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/examples/subquery.js: -------------------------------------------------------------------------------- 1 | var client = require("redis").createClient(); 2 | 3 | function print_results(obj) { 4 | console.dir(obj); 5 | } 6 | 7 | // build a map of all keys and their types 8 | client.keys("*", function (err, all_keys) { 9 | var key_types = {}; 10 | 11 | all_keys.forEach(function (key, pos) { // use second arg of forEach to get pos 12 | client.type(key, function (err, type) { 13 | key_types[key] = type; 14 | if (pos === all_keys.length - 1) { // callbacks all run in order 15 | print_results(key_types); 16 | } 17 | }); 18 | }); 19 | }); 20 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/examples/unix_socket.js: -------------------------------------------------------------------------------- 1 | var redis = require("redis"), 2 | client = redis.createClient("/tmp/redis.sock"), 3 | profiler = require("v8-profiler"); 4 | 5 | client.on("connect", function () { 6 | console.log("Got Unix socket connection.") 7 | }); 8 | 9 | client.on("error", function (err) { 10 | console.log(err.message); 11 | }); 12 | 13 | client.set("space chars", "space value"); 14 | 15 | setInterval(function () { 16 | client.get("space chars"); 17 | }, 100); 18 | 19 | function done() { 20 | client.info(function (err, reply) { 21 | console.log(reply.toString()); 22 | client.quit(); 23 | }); 24 | } 25 | 26 | setTimeout(function () { 27 | console.log("Taking snapshot."); 28 | var snap = profiler.takeSnapshot(); 29 | }, 5000); 30 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/lib/parser/hiredis.js: -------------------------------------------------------------------------------- 1 | /*global Buffer require exports console setTimeout */ 2 | 3 | var events = require("events"), 4 | util = require("../util").util, 5 | hiredis = require("hiredis"); 6 | 7 | exports.debug_mode = false; 8 | exports.name = "hiredis"; 9 | 10 | function HiredisReplyParser(options) { 11 | this.name = exports.name; 12 | this.options = options || {}; 13 | this.reset(); 14 | events.EventEmitter.call(this); 15 | } 16 | 17 | util.inherits(HiredisReplyParser, events.EventEmitter); 18 | 19 | exports.Parser = HiredisReplyParser; 20 | 21 | HiredisReplyParser.prototype.reset = function () { 22 | this.reader = new hiredis.Reader({ 23 | return_buffers: this.options.return_buffers || false 24 | }); 25 | }; 26 | 27 | HiredisReplyParser.prototype.execute = function (data) { 28 | var reply; 29 | this.reader.feed(data); 30 | try { 31 | while ((reply = this.reader.get()) !== undefined) { 32 | if (reply && reply.constructor === Error) { 33 | this.emit("reply error", reply); 34 | } else { 35 | this.emit("reply", reply); 36 | } 37 | } 38 | } catch (err) { 39 | this.emit("error", err); 40 | } 41 | }; 42 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/lib/to_array.js: -------------------------------------------------------------------------------- 1 | function to_array(args) { 2 | var len = args.length, 3 | arr = new Array(len), i; 4 | 5 | for (i = 0; i < len; i += 1) { 6 | arr[i] = args[i]; 7 | } 8 | 9 | return arr; 10 | } 11 | 12 | module.exports = to_array; 13 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/lib/util.js: -------------------------------------------------------------------------------- 1 | if (process.versions.node.match(/^0.3/)) { 2 | exports.util = require("util"); 3 | } else { 4 | // This module is called "sys" in 0.2.x 5 | exports.util = require("sys"); 6 | } 7 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/simple_test.js: -------------------------------------------------------------------------------- 1 | var client = require("./index").createClient(); 2 | 3 | client.hmset("test hash", "key 1", "val 1", "key 2", "val 2"); 4 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/tests/reconnect_test.js: -------------------------------------------------------------------------------- 1 | var redis = require("redis").createClient(); 2 | 3 | redis.on("error", function (err) { 4 | console.log("Redis says: " + err); 5 | }); 6 | 7 | redis.on("ready", function () { 8 | console.log("Redis ready."); 9 | }); 10 | 11 | redis.on("reconnecting", function (arg) { 12 | console.log("Redis reconnecting: " + JSON.stringify(arg)); 13 | }); 14 | redis.on("connect", function () { 15 | console.log("Redis connected."); 16 | }); 17 | 18 | setInterval(function () { 19 | var now = Date.now(); 20 | redis.set("now", now, function (err, res) { 21 | if (err) { 22 | console.log(now + " Redis reply error: " + err); 23 | } else { 24 | console.log(now + " Redis reply: " + res); 25 | } 26 | }); 27 | }, 200); 28 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/tests/stress/codec.js: -------------------------------------------------------------------------------- 1 | var json = { 2 | encode: JSON.stringify, 3 | decode: JSON.parse 4 | }; 5 | 6 | var MsgPack = require('node-msgpack'); 7 | msgpack = { 8 | encode: MsgPack.pack, 9 | decode: function(str) { return MsgPack.unpack(new Buffer(str)); } 10 | }; 11 | 12 | bison = require('bison'); 13 | 14 | module.exports = json; 15 | //module.exports = msgpack; 16 | //module.exports = bison; 17 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/tests/stress/pubsub/pub.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var freemem = require('os').freemem; 4 | var profiler = require('v8-profiler'); 5 | var codec = require('../codec'); 6 | 7 | var sent = 0; 8 | 9 | var pub = require('redis').createClient(null, null, { 10 | //command_queue_high_water: 5, 11 | //command_queue_low_water: 1 12 | }) 13 | .on('ready', function() { 14 | this.emit('drain'); 15 | }) 16 | .on('drain', function() { 17 | process.nextTick(exec); 18 | }); 19 | 20 | var payload = '1'; for (var i = 0; i < 12; ++i) payload += payload; 21 | console.log('Message payload length', payload.length); 22 | 23 | function exec() { 24 | pub.publish('timeline', codec.encode({ foo: payload })); 25 | ++sent; 26 | if (!pub.should_buffer) { 27 | process.nextTick(exec); 28 | } 29 | } 30 | 31 | profiler.takeSnapshot('s_0'); 32 | 33 | exec(); 34 | 35 | setInterval(function() { 36 | profiler.takeSnapshot('s_' + sent); 37 | console.error('sent', sent, 'free', freemem(), 'cmdqlen', pub.command_queue.length, 'offqlen', pub.offline_queue.length); 38 | }, 2000); 39 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/tests/stress/pubsub/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | node server.js & 3 | node server.js & 4 | node server.js & 5 | node server.js & 6 | node server.js & 7 | node server.js & 8 | node server.js & 9 | node server.js & 10 | node --debug pub.js 11 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/tests/stress/pubsub/server.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var freemem = require('os').freemem; 4 | var codec = require('../codec'); 5 | 6 | var id = Math.random(); 7 | var recv = 0; 8 | 9 | var sub = require('redis').createClient() 10 | .on('ready', function() { 11 | this.subscribe('timeline'); 12 | }) 13 | .on('message', function(channel, message) { 14 | var self = this; 15 | if (message) { 16 | message = codec.decode(message); 17 | ++recv; 18 | } 19 | }); 20 | 21 | setInterval(function() { 22 | console.error('id', id, 'received', recv, 'free', freemem()); 23 | }, 2000); 24 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/tests/stress/rpushblpop/pub.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var freemem = require('os').freemem; 4 | //var profiler = require('v8-profiler'); 5 | var codec = require('../codec'); 6 | 7 | var sent = 0; 8 | 9 | var pub = require('redis').createClient(null, null, { 10 | //command_queue_high_water: 5, 11 | //command_queue_low_water: 1 12 | }) 13 | .on('ready', function() { 14 | this.del('timeline'); 15 | this.emit('drain'); 16 | }) 17 | .on('drain', function() { 18 | process.nextTick(exec); 19 | }); 20 | 21 | var payload = '1'; for (var i = 0; i < 12; ++i) payload += payload; 22 | console.log('Message payload length', payload.length); 23 | 24 | function exec() { 25 | pub.rpush('timeline', codec.encode({ foo: payload })); 26 | ++sent; 27 | if (!pub.should_buffer) { 28 | process.nextTick(exec); 29 | } 30 | } 31 | 32 | //profiler.takeSnapshot('s_0'); 33 | 34 | exec(); 35 | 36 | setInterval(function() { 37 | //var ss = profiler.takeSnapshot('s_' + sent); 38 | //console.error(ss.stringify()); 39 | pub.llen('timeline', function(err, result) { 40 | console.error('sent', sent, 'free', freemem(), 41 | 'cmdqlen', pub.command_queue.length, 'offqlen', pub.offline_queue.length, 42 | 'llen', result 43 | ); 44 | }); 45 | }, 2000); 46 | 47 | /*setTimeout(function() { 48 | process.exit(); 49 | }, 30000);*/ 50 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/tests/stress/rpushblpop/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | node server.js & 3 | #node server.js & 4 | #node server.js & 5 | #node server.js & 6 | node --debug pub.js 7 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/tests/stress/rpushblpop/server.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var freemem = require('os').freemem; 4 | var codec = require('../codec'); 5 | 6 | var id = Math.random(); 7 | var recv = 0; 8 | 9 | var cmd = require('redis').createClient(); 10 | var sub = require('redis').createClient() 11 | .on('ready', function() { 12 | this.emit('timeline'); 13 | }) 14 | .on('timeline', function() { 15 | var self = this; 16 | this.blpop('timeline', 0, function(err, result) { 17 | var message = result[1]; 18 | if (message) { 19 | message = codec.decode(message); 20 | ++recv; 21 | } 22 | self.emit('timeline'); 23 | }); 24 | }); 25 | 26 | setInterval(function() { 27 | cmd.llen('timeline', function(err, result) { 28 | console.error('id', id, 'received', recv, 'free', freemem(), 'llen', result); 29 | }); 30 | }, 2000); 31 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/tests/stress/speed/00: -------------------------------------------------------------------------------- 1 | # size JSON msgpack bison 2 | 26602 2151.0170848180414 3 | 25542 ? 2842.589272665782 4 | 24835 ? ? 7280.4538397469805 5 | 6104 6985.234528557929 6 | 5045 ? 7217.461392841478 7 | 4341 ? ? 14261.406335354604 8 | 4180 15864.633685636572 9 | 4143 ? 12954.806235781925 10 | 4141 ? ? 44650.70733912719 11 | 75 114227.07313350472 12 | 40 ? 30162.440062810834 13 | 39 ? ? 119815.66013519121 14 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/tests/stress/speed/plot: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | gnuplot >size-rate.jpg << _EOF_ 4 | 5 | set terminal png nocrop enhanced font verdana 12 size 640,480 6 | set logscale x 7 | set logscale y 8 | set grid 9 | set xlabel 'Serialized object size, octets' 10 | set ylabel 'decode(encode(obj)) rate, 1/sec' 11 | plot '00' using 1:2 title 'json' smooth bezier, '00' using 1:3 title 'msgpack' smooth bezier, '00' using 1:4 title 'bison' smooth bezier 12 | 13 | _EOF_ 14 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/tests/stress/speed/size-rate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/node_modules/socket.io/node_modules/redis/tests/stress/speed/size-rate.png -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/tests/sub_quit_test.js: -------------------------------------------------------------------------------- 1 | var client = require("redis").createClient(), 2 | client2 = require("redis").createClient(); 3 | 4 | client.subscribe("something"); 5 | client.on("subscribe", function (channel, count) { 6 | console.log("Got sub: " + channel); 7 | client.unsubscribe("something"); 8 | }); 9 | 10 | client.on("unsubscribe", function (channel, count) { 11 | console.log("Got unsub: " + channel + ", quitting"); 12 | client.quit(); 13 | }); 14 | 15 | // exercise unsub before sub 16 | client2.unsubscribe("something"); 17 | client2.subscribe("another thing"); 18 | client2.quit(); 19 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/redis/tests/test_start_stop.js: -------------------------------------------------------------------------------- 1 | var redis = require("./index"), 2 | client = redis.createClient(); 3 | 4 | // This currently doesn't work, due to what I beleive to be a bug in redis 2.0.1. 5 | // INFO and QUIT are pipelined together, and the socket closes before the INFO 6 | // command gets a reply. 7 | 8 | redis.debug_mode = true; 9 | client.info(redis.print); 10 | client.quit(); 11 | 12 | // A workaround is: 13 | // client.info(function (err, res) { 14 | // console.log(res.toString()); 15 | // client.quit(); 16 | // }); 17 | 18 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/.npmignore: -------------------------------------------------------------------------------- 1 | test/node_modules 2 | support 3 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/Makefile: -------------------------------------------------------------------------------- 1 | 2 | ALL_TESTS = $(shell find test/ -name '*.test.js') 3 | 4 | run-tests: 5 | @./node_modules/.bin/expresso \ 6 | -I lib \ 7 | -I support \ 8 | --serial \ 9 | $(TESTS) 10 | 11 | test: 12 | @$(MAKE) TESTS="$(ALL_TESTS)" run-tests 13 | 14 | test-acceptance: 15 | @node support/test-runner/app $(TRANSPORT) 16 | 17 | build: 18 | @node ./bin/builder.js 19 | 20 | .PHONY: test 21 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/dist/WebSocketMain.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/node_modules/socket.io/node_modules/socket.io-client/dist/WebSocketMain.swf -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/dist/WebSocketMainInsecure.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/node_modules/socket.io/node_modules/socket.io-client/dist/WebSocketMainInsecure.swf -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/.npmignore: -------------------------------------------------------------------------------- 1 | test.html 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/WebSocketMain.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/WebSocketMain.swf -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/WebSocketMainInsecure.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishnukvmd/WebRTC/f8043bc65e73c6027c5f7cf9a64695ec60018cdd/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/WebSocketMainInsecure.zip -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/IWebSocketLogger.as: -------------------------------------------------------------------------------- 1 | package { 2 | 3 | public interface IWebSocketLogger { 4 | function log(message:String):void; 5 | function error(message:String):void; 6 | } 7 | 8 | } 9 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/WebSocketEvent.as: -------------------------------------------------------------------------------- 1 | package { 2 | 3 | import flash.events.Event; 4 | 5 | /** 6 | * This class represents a generic websocket event. It contains the standard "type" 7 | * parameter as well as a "message" parameter. 8 | */ 9 | public class WebSocketEvent extends Event { 10 | 11 | public static const OPEN:String = "open"; 12 | public static const CLOSE:String = "close"; 13 | public static const MESSAGE:String = "message"; 14 | public static const ERROR:String = "error"; 15 | 16 | public var message:String; 17 | 18 | public function WebSocketEvent( 19 | type:String, message:String = null, bubbles:Boolean = false, cancelable:Boolean = false) { 20 | super(type, bubbles, cancelable); 21 | this.message = message; 22 | } 23 | 24 | public override function clone():Event { 25 | return new WebSocketEvent(this.type, this.message, this.bubbles, this.cancelable); 26 | } 27 | 28 | public override function toString():String { 29 | return "WebSocketEvent: " + this.type + ": " + this.message; 30 | } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/WebSocketMainInsecure.as: -------------------------------------------------------------------------------- 1 | // Copyright: Hiroshi Ichikawa 2 | // License: New BSD License 3 | // Reference: http://dev.w3.org/html5/websockets/ 4 | // Reference: http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-76 5 | 6 | package { 7 | 8 | import flash.system.*; 9 | 10 | public class WebSocketMainInsecure extends WebSocketMain { 11 | 12 | public function WebSocketMainInsecure() { 13 | Security.allowDomain("*"); 14 | super(); 15 | } 16 | 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # You need Flex 4 SDK: 4 | # http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4 5 | 6 | mxmlc -static-link-runtime-shared-libraries -target-player=10.0.0 -output=../WebSocketMain.swf WebSocketMain.as && 7 | mxmlc -static-link-runtime-shared-libraries -output=../WebSocketMainInsecure.swf WebSocketMainInsecure.as && 8 | cd .. && 9 | zip WebSocketMainInsecure.zip WebSocketMainInsecure.swf && 10 | rm WebSocketMainInsecure.swf 11 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/IHMAC.as: -------------------------------------------------------------------------------- 1 | /** 2 | * HMAC 3 | * 4 | * An ActionScript 3 interface for HMAC & MAC 5 | * implementations. 6 | * 7 | * Loosely copyrighted by Bobby Parker 8 | * 9 | * See LICENSE.txt for full license information. 10 | */ 11 | package com.hurlant.crypto.hash 12 | { 13 | import flash.utils.ByteArray; 14 | 15 | public interface IHMAC 16 | { 17 | function getHashSize():uint; 18 | /** 19 | * Compute a HMAC using a key and some data. 20 | * It doesn't modify either, and returns a new ByteArray with the HMAC value. 21 | */ 22 | function compute(key:ByteArray, data:ByteArray):ByteArray; 23 | function dispose():void; 24 | function toString():String; 25 | 26 | } 27 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/IHash.as: -------------------------------------------------------------------------------- 1 | /** 2 | * IHash 3 | * 4 | * An interface for each hash function to implement 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.hash 10 | { 11 | import flash.utils.ByteArray; 12 | 13 | public interface IHash 14 | { 15 | function getInputSize():uint; 16 | function getHashSize():uint; 17 | function hash(src:ByteArray):ByteArray; 18 | function toString():String; 19 | function getPadSize():int; 20 | } 21 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/hash/SHA224.as: -------------------------------------------------------------------------------- 1 | /** 2 | * SHA224 3 | * 4 | * An ActionScript 3 implementation of Secure Hash Algorithm, SHA-224, as defined 5 | * in FIPS PUB 180-2 6 | * Copyright (c) 2007 Henri Torgemane 7 | * 8 | * See LICENSE.txt for full license information. 9 | */ 10 | package com.hurlant.crypto.hash 11 | { 12 | public class SHA224 extends SHA256 13 | { 14 | function SHA224() { 15 | h = [ 16 | 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 17 | 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 18 | ]; 19 | } 20 | 21 | public override function getHashSize():uint { 22 | return 28; 23 | } 24 | public override function toString():String { 25 | return "sha224"; 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/prng/IPRNG.as: -------------------------------------------------------------------------------- 1 | /** 2 | * IPRNG 3 | * 4 | * An interface for classes that can be used a pseudo-random number generators 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.prng 10 | { 11 | import flash.utils.ByteArray; 12 | 13 | public interface IPRNG { 14 | function getPoolSize():uint; 15 | function init(key:ByteArray):void; 16 | function next():uint; 17 | function dispose():void; 18 | function toString():String; 19 | } 20 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ICipher.as: -------------------------------------------------------------------------------- 1 | /** 2 | * ICipher 3 | * 4 | * A generic interface to use symmetric ciphers 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.symmetric 10 | { 11 | import flash.utils.ByteArray; 12 | 13 | public interface ICipher 14 | { 15 | function getBlockSize():uint; 16 | function encrypt(src:ByteArray):void; 17 | function decrypt(src:ByteArray):void; 18 | function dispose():void; 19 | function toString():String; 20 | } 21 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IMode.as: -------------------------------------------------------------------------------- 1 | /** 2 | * IMode 3 | * 4 | * An interface for confidentiality modes to implement 5 | * This could become deprecated at some point. 6 | * Copyright (c) 2007 Henri Torgemane 7 | * 8 | * See LICENSE.txt for full license information. 9 | */ 10 | package com.hurlant.crypto.symmetric 11 | { 12 | public interface IMode extends ICipher 13 | { 14 | } 15 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IPad.as: -------------------------------------------------------------------------------- 1 | /** 2 | * IPad 3 | * 4 | * An interface for padding mechanisms to implement. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.symmetric 10 | { 11 | import flash.utils.ByteArray; 12 | 13 | /** 14 | * Tiny interface that represents a padding mechanism. 15 | */ 16 | public interface IPad 17 | { 18 | /** 19 | * Add padding to the array 20 | */ 21 | function pad(a:ByteArray):void; 22 | /** 23 | * Remove padding from the array. 24 | * @throws Error if the padding is invalid. 25 | */ 26 | function unpad(a:ByteArray):void; 27 | /** 28 | * Set the blockSize to work on 29 | */ 30 | function setBlockSize(bs:uint):void; 31 | } 32 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IStreamCipher.as: -------------------------------------------------------------------------------- 1 | /** 2 | * IStreamCipher 3 | * 4 | * A "marker" interface for stream ciphers. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.symmetric { 10 | 11 | /** 12 | * A marker to indicate how this cipher works. 13 | * A stream cipher: 14 | * - does not use initialization vector 15 | * - keeps some internal state between calls to encrypt() and decrypt() 16 | * 17 | */ 18 | public interface IStreamCipher extends ICipher { 19 | 20 | } 21 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ISymmetricKey.as: -------------------------------------------------------------------------------- 1 | /** 2 | * ISymmetricKey 3 | * 4 | * An interface for symmetric encryption keys to implement. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.symmetric 10 | { 11 | import flash.utils.ByteArray; 12 | 13 | public interface ISymmetricKey 14 | { 15 | /** 16 | * Returns the block size used by this particular encryption algorithm 17 | */ 18 | function getBlockSize():uint; 19 | /** 20 | * Encrypt one block of data in "block", starting at "index", of length "getBlockSize()" 21 | */ 22 | function encrypt(block:ByteArray, index:uint=0):void; 23 | /** 24 | * Decrypt one block of data in "block", starting at "index", of length "getBlockSize()" 25 | */ 26 | function decrypt(block:ByteArray, index:uint=0):void; 27 | /** 28 | * Attempts to destroy sensitive information from memory, such as encryption keys. 29 | * Note: This is not guaranteed to work given the Flash sandbox model. 30 | */ 31 | function dispose():void; 32 | 33 | function toString():String; 34 | } 35 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/NullPad.as: -------------------------------------------------------------------------------- 1 | /** 2 | * NullPad 3 | * 4 | * A padding class that doesn't pad. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.symmetric 10 | { 11 | import flash.utils.ByteArray; 12 | 13 | /** 14 | * A pad that does nothing. 15 | * Useful when you don't want padding in your Mode. 16 | */ 17 | public class NullPad implements IPad 18 | { 19 | public function unpad(a:ByteArray):void 20 | { 21 | return; 22 | } 23 | 24 | public function pad(a:ByteArray):void 25 | { 26 | return; 27 | } 28 | 29 | public function setBlockSize(bs:uint):void { 30 | return; 31 | } 32 | 33 | } 34 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/PKCS5.as: -------------------------------------------------------------------------------- 1 | /** 2 | * PKCS5 3 | * 4 | * A padding implementation of PKCS5. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.symmetric 10 | { 11 | import flash.utils.ByteArray; 12 | 13 | public class PKCS5 implements IPad 14 | { 15 | private var blockSize:uint; 16 | 17 | public function PKCS5(blockSize:uint=0) { 18 | this.blockSize = blockSize; 19 | } 20 | 21 | public function pad(a:ByteArray):void { 22 | var c:uint = blockSize-a.length%blockSize; 23 | for (var i:uint=0;i0;i--) { 32 | var v:uint = a[a.length-1]; 33 | a.length--; 34 | if (c!=v) throw new Error("PKCS#5:unpad: Invalid padding value. expected ["+c+"], found ["+v+"]"); 35 | } 36 | // that is all. 37 | } 38 | 39 | public function setBlockSize(bs:uint):void { 40 | blockSize = bs; 41 | } 42 | 43 | } 44 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/aeskey.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | use strict; 3 | use warnings; 4 | 5 | sub say { 6 | my $w = shift; 7 | print $w; 8 | print "\n"; 9 | } 10 | 11 | sub dump { 12 | my $i = shift; 13 | &say(sprintf("Sbox[%d] = _Sbox[%d]", $i, $i)); 14 | &say(sprintf("InvSbox[%d] = _InvSbox[%d]", $i, $i)); 15 | &say(sprintf("Xtime2Sbox[%d] = _Xtime2Sbox[%d]", $i, $i)); 16 | &say(sprintf("Xtime3Sbox[%d] = _Xtime3Sbox[%d]", $i, $i)); 17 | &say(sprintf("Xtime2[%d] = _Xtime2[%d]", $i, $i)); 18 | &say(sprintf("Xtime9[%d] = _Xtime9[%d]", $i, $i)); 19 | &say(sprintf("XtimeB[%d] = _XtimeB[%d]", $i, $i)); 20 | &say(sprintf("XtimeD[%d] = _XtimeD[%d]", $i, $i)); 21 | &say(sprintf("XtimeE[%d] = _XtimeE[%d]", $i, $i)); 22 | } 23 | 24 | for (my $i=0;$i<256;$i++) { 25 | &dump($i); 26 | } 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/BigIntegerTest.as: -------------------------------------------------------------------------------- 1 | /** 2 | * BigIntegerTest 3 | * 4 | * A test class for BigInteger 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.tests 10 | { 11 | import com.hurlant.math.BigInteger; 12 | import com.hurlant.util.Hex; 13 | 14 | public class BigIntegerTest extends TestCase 15 | { 16 | public function BigIntegerTest(h:ITestHarness) 17 | { 18 | super(h, "BigInteger Tests"); 19 | runTest(testAdd, "BigInteger Addition"); 20 | h.endTestCase(); 21 | } 22 | 23 | public function testAdd():void { 24 | var n1:BigInteger = BigInteger.nbv(25); 25 | var n2:BigInteger = BigInteger.nbv(1002); 26 | var n3:BigInteger = n1.add(n2); 27 | var v:int = n3.valueOf(); 28 | assert("25+1002 = "+v, 25+1002==v); 29 | 30 | var p:BigInteger = new BigInteger(Hex.toArray("e564d8b801a61f47")); 31 | var xp:BigInteger = new BigInteger(Hex.toArray("99246db2a3507fa")); 32 | 33 | xp = xp.add(p); 34 | 35 | assert("xp==eef71f932bdb2741", xp.toString(16)=="eef71f932bdb2741"); 36 | } 37 | 38 | } 39 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/ITestHarness.as: -------------------------------------------------------------------------------- 1 | /** 2 | * ITestHarness 3 | * 4 | * An interface to specify what's available for test cases to use. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.tests 10 | { 11 | public interface ITestHarness 12 | { 13 | function beginTestCase(name:String):void; 14 | function endTestCase():void; 15 | 16 | function beginTest(name:String):void; 17 | function passTest():void; 18 | function failTest(msg:String):void; 19 | } 20 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/TestCase.as: -------------------------------------------------------------------------------- 1 | /** 2 | * TestCase 3 | * 4 | * Embryonic unit test support class. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.tests 10 | { 11 | public class TestCase 12 | { 13 | public var harness:ITestHarness; 14 | 15 | public function TestCase(h:ITestHarness, title:String) { 16 | harness = h; 17 | harness.beginTestCase(title); 18 | } 19 | 20 | 21 | public function assert(msg:String, value:Boolean):void { 22 | if (value) { 23 | // TestHarness.print("+ ",msg); 24 | return; 25 | } 26 | throw new Error("Test Failure:"+msg); 27 | } 28 | 29 | public function runTest(f:Function, title:String):void { 30 | harness.beginTest(title); 31 | try { 32 | f(); 33 | } catch (e:Error) { 34 | trace("EXCEPTION THROWN: "+e); 35 | trace(e.getStackTrace()); 36 | harness.failTest(e.toString()); 37 | return; 38 | } 39 | harness.passTest(); 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/IConnectionState.as: -------------------------------------------------------------------------------- 1 | /** 2 | * IConnectionState 3 | * 4 | * Interface for TLS/SSL Connection states. 5 | * 6 | * See LICENSE.txt for full license information. 7 | */ 8 | package com.hurlant.crypto.tls { 9 | import flash.utils.ByteArray; 10 | public interface IConnectionState { 11 | function decrypt(type:uint, length:uint, p:ByteArray) : ByteArray; 12 | function encrypt(type:uint, p:ByteArray) : ByteArray; 13 | } 14 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/ISecurityParameters.as: -------------------------------------------------------------------------------- 1 | /** 2 | * ISecurityParameters 3 | * 4 | * This class encapsulates all the security parameters that get negotiated 5 | * during the TLS handshake. It also holds all the key derivation methods. 6 | * Copyright (c) 2007 Henri Torgemane 7 | * 8 | * See LICENSE.txt for full license information. 9 | */ 10 | package com.hurlant.crypto.tls { 11 | import flash.utils.ByteArray; 12 | 13 | public interface ISecurityParameters { 14 | function get version() : uint; 15 | function reset():void; 16 | function getBulkCipher():uint; 17 | function getCipherType():uint; 18 | function getMacAlgorithm():uint; 19 | function setCipher(cipher:uint):void; 20 | function setCompression(algo:uint):void; 21 | function setPreMasterSecret(secret:ByteArray):void; 22 | function setClientRandom(secret:ByteArray):void; 23 | function setServerRandom(secret:ByteArray):void; 24 | function get useRSA():Boolean; 25 | function computeVerifyData(side:uint, handshakeMessages:ByteArray):ByteArray; 26 | function computeCertificateVerify( side:uint, handshakeRecords:ByteArray):ByteArray; 27 | function getConnectionStates():Object; 28 | } 29 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/KeyExchanges.as: -------------------------------------------------------------------------------- 1 | /** 2 | * KeyExchanges 3 | * 4 | * An enumeration of key exchange methods defined by TLS 5 | * ( right now, only RSA is actually implemented ) 6 | * Copyright (c) 2007 Henri Torgemane 7 | * 8 | * See LICENSE.txt for full license information. 9 | */ 10 | package com.hurlant.crypto.tls { 11 | public class KeyExchanges { 12 | public static const NULL:uint = 0; 13 | public static const RSA:uint = 1; 14 | public static const DH_DSS:uint = 2; 15 | public static const DH_RSA:uint = 3; 16 | public static const DHE_DSS:uint = 4; 17 | public static const DHE_RSA:uint = 5; 18 | public static const DH_anon:uint = 6; 19 | 20 | public static function useRSA(p:uint):Boolean { 21 | return (p==RSA); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/MACs.as: -------------------------------------------------------------------------------- 1 | /** 2 | * MACs 3 | * 4 | * An enumeration of MACs implemented for TLS 1.0/SSL 3.0 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.crypto.tls { 10 | import com.hurlant.crypto.Crypto; 11 | import com.hurlant.crypto.hash.HMAC; 12 | import com.hurlant.crypto.hash.MAC; 13 | 14 | public class MACs { 15 | public static const NULL:uint = 0; 16 | public static const MD5:uint = 1; 17 | public static const SHA1:uint = 2; 18 | 19 | public static function getHashSize(hash:uint):uint { 20 | return [0,16,20][hash]; 21 | } 22 | 23 | public static function getPadSize(hash:uint):int { 24 | return [0, 48, 40][hash]; 25 | } 26 | 27 | public static function getHMAC(hash:uint):HMAC { 28 | if (hash==NULL) return null; 29 | return Crypto.getHMAC(['',"md5","sha1"][hash]); 30 | } 31 | 32 | public static function getMAC(hash:uint):MAC { 33 | return Crypto.getMAC(['', "md5", "sha1"][hash]); 34 | } 35 | 36 | 37 | } 38 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/SSLEvent.as: -------------------------------------------------------------------------------- 1 | /** 2 | * SSLEvent 3 | * 4 | * This is used by TLSEngine to let the application layer know 5 | * when we're ready for sending, or have received application data 6 | * This Event was created by Bobby Parker to support SSL 3.0. 7 | * 8 | * See LICENSE.txt for full license information. 9 | */ 10 | package com.hurlant.crypto.tls { 11 | import flash.events.Event; 12 | import flash.utils.ByteArray; 13 | 14 | public class SSLEvent extends Event { 15 | 16 | static public const DATA:String = "data"; 17 | static public const READY:String = "ready"; 18 | 19 | public var data:ByteArray; 20 | 21 | public function SSLEvent(type:String, data:ByteArray = null) { 22 | this.data = data; 23 | super(type, false, false); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSEvent.as: -------------------------------------------------------------------------------- 1 | /** 2 | * TLSEvent 3 | * 4 | * This is used by TLSEngine to let the application layer know 5 | * when we're ready for sending, or have received application data 6 | * Copyright (c) 2007 Henri Torgemane 7 | * 8 | * See LICENSE.txt for full license information. 9 | */ 10 | package com.hurlant.crypto.tls { 11 | import flash.events.Event; 12 | import flash.utils.ByteArray; 13 | 14 | public class TLSEvent extends Event { 15 | 16 | static public const DATA:String = "data"; 17 | static public const READY:String = "ready"; 18 | static public const PROMPT_ACCEPT_CERT:String = "promptAcceptCert"; 19 | 20 | public var data:ByteArray; 21 | 22 | public function TLSEvent(type:String, data:ByteArray = null) { 23 | this.data = data; 24 | super(type, false, false); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tls/TLSSocketEvent.as: -------------------------------------------------------------------------------- 1 | /** 2 | * TLSEvent 3 | * 4 | * This is used by TLSEngine to let the application layer know 5 | * when we're ready for sending, or have received application data 6 | * Copyright (c) 2007 Henri Torgemane 7 | * 8 | * See LICENSE.txt for full license information. 9 | */ 10 | package com.hurlant.crypto.tls { 11 | import flash.events.Event; 12 | import flash.utils.ByteArray; 13 | import com.hurlant.crypto.cert.X509Certificate; 14 | 15 | public class TLSSocketEvent extends Event { 16 | 17 | static public const PROMPT_ACCEPT_CERT:String = "promptAcceptCert"; 18 | 19 | public var cert:X509Certificate; 20 | 21 | public function TLSSocketEvent( cert:X509Certificate = null) { 22 | super(PROMPT_ACCEPT_CERT, false, false); 23 | this.cert = cert; 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/ClassicReduction.as: -------------------------------------------------------------------------------- 1 | package com.hurlant.math 2 | { 3 | use namespace bi_internal; 4 | 5 | /** 6 | * Modular reduction using "classic" algorithm 7 | */ 8 | internal class ClassicReduction implements IReduction 9 | { 10 | private var m:BigInteger; 11 | public function ClassicReduction(m:BigInteger) { 12 | this.m = m; 13 | } 14 | public function convert(x:BigInteger):BigInteger { 15 | if (x.s<0 || x.compareTo(m)>=0) { 16 | return x.mod(m); 17 | } 18 | return x; 19 | } 20 | public function revert(x:BigInteger):BigInteger { 21 | return x; 22 | } 23 | public function reduce(x:BigInteger):void { 24 | x.divRemTo(m, null,x); 25 | } 26 | public function mulTo(x:BigInteger, y:BigInteger, r:BigInteger):void { 27 | x.multiplyTo(y,r); 28 | reduce(r); 29 | } 30 | public function sqrTo(x:BigInteger, r:BigInteger):void { 31 | x.squareTo(r); 32 | reduce(r); 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/IReduction.as: -------------------------------------------------------------------------------- 1 | package com.hurlant.math 2 | { 3 | internal interface IReduction 4 | { 5 | function convert(x:BigInteger):BigInteger; 6 | function revert(x:BigInteger):BigInteger; 7 | function reduce(x:BigInteger):void; 8 | function mulTo(x:BigInteger, y:BigInteger, r:BigInteger):void; 9 | function sqrTo(x:BigInteger, r:BigInteger):void; 10 | } 11 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/NullReduction.as: -------------------------------------------------------------------------------- 1 | package com.hurlant.math 2 | { 3 | use namespace bi_internal; 4 | /** 5 | * A "null" reducer 6 | */ 7 | public class NullReduction implements IReduction 8 | { 9 | public function revert(x:BigInteger):BigInteger 10 | { 11 | return x; 12 | } 13 | 14 | public function mulTo(x:BigInteger, y:BigInteger, r:BigInteger):void 15 | { 16 | x.multiplyTo(y,r); 17 | } 18 | 19 | public function sqrTo(x:BigInteger, r:BigInteger):void 20 | { 21 | x.squareTo(r); 22 | } 23 | 24 | public function convert(x:BigInteger):BigInteger 25 | { 26 | return x; 27 | } 28 | 29 | public function reduce(x:BigInteger):void 30 | { 31 | } 32 | 33 | } 34 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/math/bi_internal.as: -------------------------------------------------------------------------------- 1 | /** 2 | * bi_internal 3 | * 4 | * A namespace. w00t. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.math { 10 | public namespace bi_internal = "http://crypto.hurlant.com/BigInteger"; 11 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/util/ArrayUtil.as: -------------------------------------------------------------------------------- 1 | /** 2 | * ArrayUtil 3 | * 4 | * A class that allows to compare two ByteArrays. 5 | * Copyright (c) 2007 Henri Torgemane 6 | * 7 | * See LICENSE.txt for full license information. 8 | */ 9 | package com.hurlant.util { 10 | import flash.utils.ByteArray; 11 | 12 | 13 | public class ArrayUtil { 14 | 15 | public static function equals(a1:ByteArray, a2:ByteArray):Boolean { 16 | if (a1.length != a2.length) return false; 17 | var l:int = a1.length; 18 | for (var i:int=0;i foo(new window[(['Active'].concat('Object').join('X'))]) 27 | ``` 28 | 29 | ## License 30 | 31 | Licensed under the MIT license. 32 | 33 | [socket.io]: http://socket.io/ 34 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/active-x-obfuscator/node_modules/zeparser/.npmignore: -------------------------------------------------------------------------------- 1 | *.un~ 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/active-x-obfuscator/node_modules/zeparser/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011, Peter van der Zee 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/socket.io/node_modules/socket.io-client/node_modules/active-x-obfuscator/node_modules/zeparser/index.js: -------------------------------------------------------------------------------- 1 | exports.ZeParser = require('./ZeParser').ZeParser; 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/active-x-obfuscator/node_modules/zeparser/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "name": "Peter van der Zee", 4 | "url": "http://qfox.nl/" 5 | }, 6 | "name": "zeparser", 7 | "description": "My JavaScript parser", 8 | "version": "0.0.5", 9 | "homepage": "https://github.com/qfox/ZeParser/", 10 | "repository": { 11 | "type": "git", 12 | "url": "git://github.com/qfox/ZeParser.git" 13 | }, 14 | "main": "./index", 15 | "engines": { 16 | "node": "*" 17 | }, 18 | "dependencies": {}, 19 | "devDependencies": {}, 20 | "_id": "zeparser@0.0.5", 21 | "optionalDependencies": {}, 22 | "_engineSupported": true, 23 | "_npmVersion": "1.1.21", 24 | "_nodeVersion": "v0.6.18", 25 | "_defaultsLoaded": true, 26 | "_from": "zeparser@0.0.5" 27 | } 28 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/active-x-obfuscator/node_modules/zeparser/test-parser.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Parser Test Suite Page 5 | 13 | 14 | 15 | (c) qfox.nl
16 | Parser test suite
17 |
Running...
18 | 19 | 20 | 21 | 22 | 25 | 26 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/active-x-obfuscator/node_modules/zeparser/test-tokenizer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Tokenizer Test Suite Page 5 | 13 | 14 | 15 | (c) qfox.nl
16 | 17 | 18 | 19 | 22 | 23 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/active-x-obfuscator/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "name": "Felix Geisendörfer", 4 | "email": "felix@debuggable.com", 5 | "url": "http://debuggable.com/" 6 | }, 7 | "name": "active-x-obfuscator", 8 | "description": "A module to (safely) obfuscate all occurrences of the string 'ActiveX' inside any JavaScript code.", 9 | "version": "0.0.1", 10 | "homepage": "https://github.com/felixge/node-active-x-obfuscator", 11 | "repository": { 12 | "type": "git", 13 | "url": "git://github.com/felixge/node-active-x-obfuscator.git" 14 | }, 15 | "main": "./index", 16 | "scripts": { 17 | "test": "node test.js" 18 | }, 19 | "engines": { 20 | "node": "*" 21 | }, 22 | "dependencies": { 23 | "zeparser": "0.0.5" 24 | }, 25 | "devDependencies": {}, 26 | "optionalDependencies": {}, 27 | "_id": "active-x-obfuscator@0.0.1", 28 | "_engineSupported": true, 29 | "_npmVersion": "1.1.21", 30 | "_nodeVersion": "v0.6.18", 31 | "_defaultsLoaded": true, 32 | "_from": "active-x-obfuscator@0.0.1" 33 | } 34 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .tmp*~ 3 | *.local.* 4 | .pinf-* -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "uglify-js", 3 | "description": "JavaScript parser and compressor/beautifier toolkit", 4 | "author": { 5 | "name": "Mihai Bazon", 6 | "email": "mihai.bazon@gmail.com", 7 | "url": "http://mihai.bazon.net/blog" 8 | }, 9 | "version": "1.2.5", 10 | "main": "./uglify-js.js", 11 | "bin": { 12 | "uglifyjs": "./bin/uglifyjs" 13 | }, 14 | "repository": { 15 | "type": "git", 16 | "url": "git@github.com:mishoo/UglifyJS.git" 17 | }, 18 | "_id": "uglify-js@1.2.5", 19 | "dependencies": {}, 20 | "devDependencies": {}, 21 | "optionalDependencies": {}, 22 | "engines": { 23 | "node": "*" 24 | }, 25 | "_engineSupported": true, 26 | "_npmVersion": "1.1.21", 27 | "_nodeVersion": "v0.6.18", 28 | "_defaultsLoaded": true, 29 | "dist": { 30 | "shasum": "ef1df6b3da56072e802fde7b5a8849f9d6300bbc" 31 | }, 32 | "_from": "uglify-js@1.2.5" 33 | } 34 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/package.json~: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "uglify-js", 3 | 4 | "description" : "JavaScript parser and compressor/beautifier toolkit", 5 | 6 | "author" : { 7 | "name" : "Mihai Bazon", 8 | "email" : "mihai.bazon@gmail.com", 9 | "url" : "http://mihai.bazon.net/blog" 10 | }, 11 | 12 | "version" : "1.2.3", 13 | 14 | "main" : "./uglify-js.js", 15 | 16 | "bin" : { 17 | "uglifyjs" : "./bin/uglifyjs" 18 | }, 19 | 20 | "repository": { 21 | "type": "git", 22 | "url": "git@github.com:mishoo/UglifyJS.git" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/beautify.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | 3 | global.sys = require("sys"); 4 | var fs = require("fs"); 5 | 6 | var jsp = require("../lib/parse-js"); 7 | var pro = require("../lib/process"); 8 | 9 | var filename = process.argv[2]; 10 | fs.readFile(filename, "utf8", function(err, text){ 11 | try { 12 | var ast = time_it("parse", function(){ return jsp.parse(text); }); 13 | ast = time_it("mangle", function(){ return pro.ast_mangle(ast); }); 14 | ast = time_it("squeeze", function(){ return pro.ast_squeeze(ast); }); 15 | var gen = time_it("generate", function(){ return pro.gen_code(ast, false); }); 16 | sys.puts(gen); 17 | } catch(ex) { 18 | sys.debug(ex.stack); 19 | sys.debug(sys.inspect(ex)); 20 | sys.debug(JSON.stringify(ex)); 21 | } 22 | }); 23 | 24 | function time_it(name, cont) { 25 | var t1 = new Date().getTime(); 26 | try { return cont(); } 27 | finally { sys.debug("// " + name + ": " + ((new Date().getTime() - t1) / 1000).toFixed(3) + " sec."); } 28 | }; 29 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/array1.js: -------------------------------------------------------------------------------- 1 | [],Array(1),[1,2,3] 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/array2.js: -------------------------------------------------------------------------------- 1 | (function(){var a=function(){};return new a(1,2,3,4)})() 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/array3.js: -------------------------------------------------------------------------------- 1 | (function(){function a(){}return new a(1,2,3,4)})() 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/array4.js: -------------------------------------------------------------------------------- 1 | (function(){function a(){}(function(){return new a(1,2,3)})()})() 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/assignment.js: -------------------------------------------------------------------------------- 1 | a=1,b=a,c=1,d=b,e=d,longname=2;if(longname+1){x=3;if(x)var z=7}z=1,y=1,x=1,g+=1,h=g,++i,j=i,i++,j=i+17 -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/concatstring.js: -------------------------------------------------------------------------------- 1 | var a=a+"a"+"b"+1+c,b=a+"c"+"ds"+123+c,c=a+"c"+123+d+"ds"+c -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/const.js: -------------------------------------------------------------------------------- 1 | var a=13,b=1/3 -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/empty-blocks.js: -------------------------------------------------------------------------------- 1 | function bar(){return--x}function foo(){while(bar());}function mak(){for(;;);}var x=5 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/forstatement.js: -------------------------------------------------------------------------------- 1 | a=func(),b=z;for(a++;i<10;i++)alert(i);var z=1;g=2;for(;i<10;i++)alert(i);var a=2;for(var i=1;i<10;i++)alert(i) -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/if.js: -------------------------------------------------------------------------------- 1 | var a=1;a==1?a=2:a=17 -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/ifreturn.js: -------------------------------------------------------------------------------- 1 | function a(a){return a==1?2:17} -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/ifreturn2.js: -------------------------------------------------------------------------------- 1 | function x(a){return typeof a=="object"?a:a===42?0:a*2}function y(a){return typeof a=="object"?a:null} 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue10.js: -------------------------------------------------------------------------------- 1 | function f(){var a;return(a="a")?a:a}f() -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue11.js: -------------------------------------------------------------------------------- 1 | new(A,B),new(A||B),new(X?A:B) -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue13.js: -------------------------------------------------------------------------------- 1 | var a=/^(?:(\w+):)?(?:\/\/(?:(?:([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#])(?::(\d))?)?(..?$|(?:[^?#\/]\/))([^?#]*)(?:\?([^#]))?(?:#(.))?/ -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue14.js: -------------------------------------------------------------------------------- 1 | var a={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"} 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue16.js: -------------------------------------------------------------------------------- 1 | var a=3250441966 -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue17.js: -------------------------------------------------------------------------------- 1 | var a=function(b){b(),a()} -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue20.js: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue21.js: -------------------------------------------------------------------------------- 1 | var a=0;switch(a){case 0:a++} -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue25.js: -------------------------------------------------------------------------------- 1 | a:break a;console.log(1) 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue27.js: -------------------------------------------------------------------------------- 1 | (a?b:c)?d:e -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue278.js: -------------------------------------------------------------------------------- 1 | if(!x)debugger 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue28.js: -------------------------------------------------------------------------------- 1 | o={".5":.5},o={.5:.5},o={.5:.5} -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue29.js: -------------------------------------------------------------------------------- 1 | result=function(){return 1}() -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue30.js: -------------------------------------------------------------------------------- 1 | var a=8,b=4,c=4 -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue34.js: -------------------------------------------------------------------------------- 1 | var a={};a["this"]=1,a.that=2 -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue4.js: -------------------------------------------------------------------------------- 1 | var a=2e3,b=.002,c=2e-5 -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue48.js: -------------------------------------------------------------------------------- 1 | var s,i;s="",i=0 -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue50.js: -------------------------------------------------------------------------------- 1 | function bar(a){try{foo()}catch(b){alert("Exception caught (foo not defined)")}alert(a)}bar(10) 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue53.js: -------------------------------------------------------------------------------- 1 | x=(y,z) 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue54.1.js: -------------------------------------------------------------------------------- 1 | foo+"",a.toString(16),b.toString.call(c) 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue68.js: -------------------------------------------------------------------------------- 1 | function f(){function b(){}if(a)return;b()} 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue69.js: -------------------------------------------------------------------------------- 1 | [(a,b)] 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/issue9.js: -------------------------------------------------------------------------------- 1 | var a={a:1,b:2} -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/mangle.js: -------------------------------------------------------------------------------- 1 | (function(){var a=function b(a,b,c){return b}})() 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/null_string.js: -------------------------------------------------------------------------------- 1 | var nullString="\0" -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/expected/strict-equals.js: -------------------------------------------------------------------------------- 1 | typeof a=="string",b+""!=c+"",d> 1; 3 | var c = 8 >>> 1; -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue34.js: -------------------------------------------------------------------------------- 1 | var a = {}; 2 | a["this"] = 1; 3 | a["that"] = 2; -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue4.js: -------------------------------------------------------------------------------- 1 | var a = 2e3; 2 | var b = 2e-3; 3 | var c = 2e-5; -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue48.js: -------------------------------------------------------------------------------- 1 | var s, i; s = ''; i = 0; -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue50.js: -------------------------------------------------------------------------------- 1 | function bar(a) { 2 | try { 3 | foo(); 4 | } catch(e) { 5 | alert("Exception caught (foo not defined)"); 6 | } 7 | alert(a); // 10 in FF, "[object Error]" in IE 8 | } 9 | bar(10); 10 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue53.js: -------------------------------------------------------------------------------- 1 | x = (y, z) 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue54.1.js: -------------------------------------------------------------------------------- 1 | foo.toString(); 2 | a.toString(16); 3 | b.toString.call(c); 4 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue68.js: -------------------------------------------------------------------------------- 1 | function f() { 2 | if (a) return; 3 | g(); 4 | function g(){} 5 | }; 6 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue69.js: -------------------------------------------------------------------------------- 1 | [(a,b)] 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/issue9.js: -------------------------------------------------------------------------------- 1 | var a = { 2 | a: 1, 3 | b: 2, // <-- trailing comma 4 | }; 5 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/mangle.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var x = function fun(a, fun, b) { 3 | return fun; 4 | }; 5 | }()); 6 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/null_string.js: -------------------------------------------------------------------------------- 1 | var nullString = "\0" -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/strict-equals.js: -------------------------------------------------------------------------------- 1 | typeof a === 'string' 2 | b + "" !== c + "" 3 | d < e === f < g 4 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/var.js: -------------------------------------------------------------------------------- 1 | // var declarations after each other should be combined 2 | var a = 1; 3 | var b = 2; -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/whitespace.js: -------------------------------------------------------------------------------- 1 | function id(a) { 2 | // Form-Feed 3 | // Vertical Tab 4 | // No-Break Space 5 | ᠎// Mongolian Vowel Separator 6 |  // En quad 7 |  // Em quad 8 |  // En space 9 |  // Em space 10 |  // Three-Per-Em Space 11 |  // Four-Per-Em Space 12 |  // Six-Per-Em Space 13 |  // Figure Space 14 |  // Punctuation Space 15 |  // Thin Space 16 |  // Hair Space 17 |  // Narrow No-Break Space 18 |  // Medium Mathematical Space 19 |  // Ideographic Space 20 | return a; 21 | } 22 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/test/unit/compress/test/with.js: -------------------------------------------------------------------------------- 1 | with({}) { 2 | }; 3 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/269.js: -------------------------------------------------------------------------------- 1 | var jsp = require("uglify-js").parser; 2 | var pro = require("uglify-js").uglify; 3 | 4 | var test_code = "var JSON;JSON||(JSON={});"; 5 | 6 | var ast = jsp.parse(test_code, false, false); 7 | var nonembed_token_code = pro.gen_code(ast); 8 | ast = jsp.parse(test_code, false, true); 9 | var embed_token_code = pro.gen_code(ast); 10 | 11 | console.log("original: " + test_code); 12 | console.log("no token: " + nonembed_token_code); 13 | console.log(" token: " + embed_token_code); 14 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/embed-tokens.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | 3 | global.sys = require(/^v0\.[012]/.test(process.version) ? "sys" : "util"); 4 | var fs = require("fs"); 5 | var uglify = require("uglify-js"), // symlink ~/.node_libraries/uglify-js.js to ../uglify-js.js 6 | jsp = uglify.parser, 7 | pro = uglify.uglify; 8 | 9 | var code = fs.readFileSync("embed-tokens.js", "utf8").replace(/^#.*$/mg, ""); 10 | var ast = jsp.parse(code, null, true); 11 | 12 | // trololo 13 | function fooBar() {} 14 | 15 | console.log(sys.inspect(ast, null, null)); 16 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/goto.js: -------------------------------------------------------------------------------- 1 | function unique(arqw) { 2 | var a = [], i, j 3 | outer: for (i = 0; i < arqw.length; i++) { 4 | for (j = 0; j < a.length; j++) { 5 | if (a[j] == arqw[i]) { 6 | continue outer 7 | } 8 | } 9 | a[a.length] = arqw[i] 10 | } 11 | return a 12 | } 13 | 14 | 15 | function unique(arqw) { 16 | var crap = [], i, j 17 | outer: for (i = 0; i < arqw.length; i++) { 18 | for (j = 0; j < crap.length; j++) { 19 | if (crap[j] == arqw[i]) { 20 | continue outer 21 | } 22 | } 23 | crap[crap.length] = arqw[i] 24 | } 25 | return crap 26 | } 27 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/goto2.js: -------------------------------------------------------------------------------- 1 | function q(qooo) { 2 | var a; 3 | foo: for(;;) { 4 | a++; 5 | if (something) break foo; 6 | return qooo; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/hoist.js: -------------------------------------------------------------------------------- 1 | function foo(arg1, arg2, arg3, arg4, arg5, arg6) { 2 | var a = 5; 3 | { 4 | var d = 10, mak = 20, buz = 30; 5 | var q = buz * 2; 6 | } 7 | if (moo) { 8 | var a, b, c; 9 | } 10 | for (var arg1 = 0, d = 20; arg1 < 10; ++arg1) 11 | console.log(arg3); 12 | for (var i in mak) {} 13 | for (j in d) {} 14 | var d; 15 | 16 | function test() { 17 | 18 | }; 19 | 20 | //test(); 21 | 22 | (function moo(first, second){ 23 | console.log(first); 24 | })(1); 25 | 26 | (function moo(first, second){ 27 | console.log(moo()); 28 | })(1); 29 | } 30 | 31 | 32 | var foo; 33 | var bar; 34 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/liftvars.js: -------------------------------------------------------------------------------- 1 | var UNUSED_VAR1 = 19; 2 | 3 | function main() { 4 | var unused_var2 = 20; 5 | alert(100); 6 | } 7 | 8 | main(); 9 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/tmp/test.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | 3 | global.sys = require(/^v0\.[012]/.test(process.version) ? "sys" : "util"); 4 | var fs = require("fs"); 5 | var uglify = require("uglify-js"), // symlink ~/.node_libraries/uglify-js.js to ../uglify-js.js 6 | jsp = uglify.parser, 7 | pro = uglify.uglify; 8 | 9 | var code = fs.readFileSync("hoist.js", "utf8"); 10 | var ast = jsp.parse(code); 11 | 12 | ast = pro.ast_lift_variables(ast); 13 | 14 | var w = pro.ast_walker(); 15 | ast = w.with_walkers({ 16 | "function": function() { 17 | var node = w.dive(this); // walk depth first 18 | console.log(pro.gen_code(node, { beautify: true })); 19 | return node; 20 | }, 21 | "name": function(name) { 22 | return [ this[0], "X" ]; 23 | } 24 | }, function(){ 25 | return w.walk(ast); 26 | }); 27 | 28 | console.log(pro.gen_code(ast, { 29 | beautify: true 30 | })); 31 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/uglify-js/uglify-js.js: -------------------------------------------------------------------------------- 1 | //convienence function(src, [options]); 2 | function uglify(orig_code, options){ 3 | options || (options = {}); 4 | var jsp = uglify.parser; 5 | var pro = uglify.uglify; 6 | 7 | var ast = jsp.parse(orig_code, options.strict_semicolons); // parse code and get the initial AST 8 | ast = pro.ast_mangle(ast, options.mangle_options); // get a new AST with mangled names 9 | ast = pro.ast_squeeze(ast, options.squeeze_options); // get an AST with compression optimizations 10 | var final_code = pro.gen_code(ast, options.gen_options); // compressed code here 11 | return final_code; 12 | }; 13 | 14 | uglify.parser = require("./lib/parse-js"); 15 | uglify.uglify = require("./lib/process"); 16 | 17 | module.exports = uglify -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/.npmignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | node_modules 3 | .*.swp 4 | .lock-* 5 | build 6 | 7 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/Makefile: -------------------------------------------------------------------------------- 1 | ALL_TESTS = $(shell find test/ -name '*.test.js') 2 | ALL_INTEGRATION = $(shell find test/ -name '*.integration.js') 3 | 4 | all: 5 | node-gyp configure build 6 | 7 | clean: 8 | node-gyp clean 9 | 10 | run-tests: 11 | @./node_modules/.bin/mocha \ 12 | -t 2000 \ 13 | $(TESTFLAGS) \ 14 | $(TESTS) 15 | 16 | run-integrationtests: 17 | @./node_modules/.bin/mocha \ 18 | -t 5000 \ 19 | $(TESTFLAGS) \ 20 | $(TESTS) 21 | 22 | test: 23 | @$(MAKE) NODE_PATH=lib TESTS="$(ALL_TESTS)" run-tests 24 | 25 | integrationtest: 26 | @$(MAKE) NODE_PATH=lib TESTS="$(ALL_INTEGRATION)" run-integrationtests 27 | 28 | benchmark: 29 | @node bench/sender.benchmark.js 30 | @node bench/parser.benchmark.js 31 | 32 | autobahn: 33 | @NODE_PATH=lib node test/autobahn.js 34 | 35 | autobahn-server: 36 | @NODE_PATH=lib node test/autobahn-server.js 37 | 38 | .PHONY: test 39 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/binding.gyp: -------------------------------------------------------------------------------- 1 | { 2 | 'targets': [ 3 | { 4 | 'target_name': 'validation', 5 | 'cflags': [ '-O3' ], 6 | 'sources': [ 'src/validation.cc' ] 7 | }, 8 | { 9 | 'target_name': 'bufferutil', 10 | 'cflags': [ '-O3' ], 11 | 'sources': [ 'src/bufferutil.cc' ] 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/examples/fileapi/.npmignore: -------------------------------------------------------------------------------- 1 | uploaded 2 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/examples/fileapi/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "", 3 | "name": "fileapi", 4 | "version": "0.0.0", 5 | "repository": { 6 | "type": "git", 7 | "url": "git://github.com/einaros/ws.git" 8 | }, 9 | "engines": { 10 | "node": "~0.6.8" 11 | }, 12 | "dependencies": { 13 | "express": "latest", 14 | "ansi": "https://github.com/einaros/ansi.js/tarball/master" 15 | }, 16 | "devDependencies": {}, 17 | "optionalDependencies": {} 18 | } 19 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/examples/fileapi/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 14 | 15 | 16 |

This example will upload an entire directory tree to the node.js server via a fast and persistent WebSocket connection.

17 |

Note that the example is Chrome only for now.

18 |

19 | Upload status: 20 |
Please select a directory to upload.
21 | 22 | 23 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/examples/serverstats/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "", 3 | "name": "serverstats", 4 | "version": "0.0.0", 5 | "repository": { 6 | "type": "git", 7 | "url": "git://github.com/einaros/ws.git" 8 | }, 9 | "engines": { 10 | "node": "~0.6.8" 11 | }, 12 | "dependencies": { 13 | "express": "latest" 14 | }, 15 | "devDependencies": {}, 16 | "optionalDependencies": {} 17 | } 18 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/examples/serverstats/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 25 | 26 | 27 | Server Stats
28 | RSS:

29 | Heap total:

30 | Heap used:

31 | 32 | 33 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/examples/serverstats/server.js: -------------------------------------------------------------------------------- 1 | var WebSocketServer = require('../../').Server 2 | , http = require('http') 3 | , express = require('express') 4 | , app = express.createServer(); 5 | 6 | app.use(express.static(__dirname + '/public')); 7 | 8 | var wss = new WebSocketServer({server: app}); 9 | wss.on('connection', function(ws) { 10 | var id = setInterval(function() { 11 | ws.send(JSON.stringify(process.memoryUsage())); 12 | }, 100); 13 | console.log('started client interval'); 14 | ws.on('close', function() { 15 | console.log('stopping client interval'); 16 | clearInterval(id); 17 | }) 18 | }); 19 | 20 | app.listen(8080); 21 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | module.exports = require('./lib/WebSocket'); 8 | module.exports.Server = require('./lib/WebSocketServer'); 9 | module.exports.Sender = require('./lib/Sender'); 10 | module.exports.Receiver = require('./lib/Receiver'); 11 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/lib/BufferUtil.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | try { 8 | module.exports = require('../build/Release/bufferutil'); 9 | } catch (e) { try { 10 | module.exports = require('../build/default/bufferutil'); 11 | } catch (e) { try { 12 | module.exports = require('./BufferUtilWindows'); 13 | } catch (e) { 14 | console.error('bufferutil.node seems to not have been built. Run npm install.'); 15 | throw e; 16 | }}} 17 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/lib/ErrorCodes.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | module.exports = { 8 | isValidErrorCode: function(code) { 9 | return (code >= 1000 && code <= 1011 && code != 1004 && code != 1005 && code != 1006) || 10 | (code >= 3000 && code <= 4999); 11 | }, 12 | 1000: 'normal', 13 | 1001: 'going away', 14 | 1002: 'protocol error', 15 | 1003: 'unsupported data', 16 | 1004: 'reserved', 17 | 1005: 'reserved for extensions', 18 | 1006: 'reserved for extensions', 19 | 1007: 'inconsistent or invalid data', 20 | 1008: 'policy violation', 21 | 1009: 'message too big', 22 | 1010: 'extension handshake missing', 23 | 1011: 'an unexpected condition prevented the request from being fulfilled', 24 | }; -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/lib/Validation.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | try { 8 | module.exports = require('../build/Release/validation'); 9 | } catch (e) { try { 10 | module.exports = require('../build/default/validation'); 11 | } catch (e) { try { 12 | module.exports = require('./ValidationWindows'); 13 | } catch (e) { 14 | console.error('validation.node seems to not have been built. Run npm install.'); 15 | throw e; 16 | }}} 17 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/lib/ValidationWindows.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ws: a node.js websocket client 3 | * Copyright(c) 2011 Einar Otto Stangvik 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Windows Compatibility 9 | */ 10 | 11 | module.exports.Validation = { 12 | isValidUTF8: function(buffer) { 13 | return true; 14 | } 15 | }; 16 | 17 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/commander/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/commander/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/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/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/commander/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/commander'); -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/commander/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "commander", 3 | "version": "0.5.2", 4 | "description": "the complete solution for node.js command-line programs", 5 | "keywords": [ 6 | "command", 7 | "option", 8 | "parser", 9 | "prompt", 10 | "stdin" 11 | ], 12 | "author": { 13 | "name": "TJ Holowaychuk", 14 | "email": "tj@vision-media.ca" 15 | }, 16 | "repository": { 17 | "type": "git", 18 | "url": "git://github.com/visionmedia/commander.js.git" 19 | }, 20 | "dependencies": {}, 21 | "devDependencies": { 22 | "should": ">= 0.0.1" 23 | }, 24 | "scripts": { 25 | "test": "make test" 26 | }, 27 | "main": "index", 28 | "engines": { 29 | "node": ">= 0.4.x < 0.8.0" 30 | }, 31 | "_id": "commander@0.5.2", 32 | "optionalDependencies": {}, 33 | "_engineSupported": true, 34 | "_npmVersion": "1.1.21", 35 | "_nodeVersion": "v0.6.18", 36 | "_defaultsLoaded": true, 37 | "_from": "commander@0.5.x" 38 | } 39 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/options/.npmignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | node_modules 3 | .*.swp 4 | .lock-* 5 | build/ 6 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/options/Makefile: -------------------------------------------------------------------------------- 1 | ALL_TESTS = $(shell find test/ -name '*.test.js') 2 | 3 | run-tests: 4 | @./node_modules/.bin/mocha \ 5 | -t 2000 \ 6 | $(TESTFLAGS) \ 7 | $(TESTS) 8 | 9 | test: 10 | @$(MAKE) NODE_PATH=lib TESTS="$(ALL_TESTS)" run-tests 11 | 12 | .PHONY: test 13 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/options/README.md: -------------------------------------------------------------------------------- 1 | # options.js # 2 | 3 | A very light-weight in-code option parsers for node.js. 4 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/options/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "name": "Einar Otto Stangvik", 4 | "email": "einaros@gmail.com", 5 | "url": "http://2x.io" 6 | }, 7 | "name": "options", 8 | "description": "A very light-weight in-code option parsers for node.js.", 9 | "version": "0.0.3", 10 | "repository": { 11 | "type": "git", 12 | "url": "git://github.com/einaros/options.js.git" 13 | }, 14 | "main": "lib/options", 15 | "scripts": { 16 | "test": "make test" 17 | }, 18 | "engines": { 19 | "node": ">=0.4.0" 20 | }, 21 | "dependencies": {}, 22 | "devDependencies": { 23 | "mocha": "latest", 24 | "expect.js": "latest" 25 | }, 26 | "_id": "options@0.0.3", 27 | "optionalDependencies": {}, 28 | "_engineSupported": true, 29 | "_npmVersion": "1.1.21", 30 | "_nodeVersion": "v0.6.18", 31 | "_defaultsLoaded": true, 32 | "_from": "options@latest" 33 | } 34 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/node_modules/options/test/fixtures/test.conf: -------------------------------------------------------------------------------- 1 | { 2 | "a": "foobar", 3 | "b": false 4 | } -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "name": "Einar Otto Stangvik", 4 | "email": "einaros@gmail.com", 5 | "url": "http://2x.io" 6 | }, 7 | "name": "ws", 8 | "description": "simple to use, blazing fast and thoroughly tested websocket client, server and console for node.js, up-to-date against RFC-6455", 9 | "version": "0.4.15", 10 | "repository": { 11 | "type": "git", 12 | "url": "git://github.com/einaros/ws.git" 13 | }, 14 | "bin": { 15 | "wscat": "./bin/wscat" 16 | }, 17 | "scripts": { 18 | "test": "make test", 19 | "install": "node install.js" 20 | }, 21 | "engines": { 22 | "node": ">=0.4.0" 23 | }, 24 | "config": { 25 | "native": false 26 | }, 27 | "dependencies": { 28 | "commander": "0.5.x", 29 | "options": "latest" 30 | }, 31 | "devDependencies": { 32 | "mocha": "0.8.x", 33 | "should": "0.4.2", 34 | "expect.js": "0.1.2", 35 | "benchmark": "0.3.x", 36 | "tinycolor": "0.x", 37 | "ansi": "latest" 38 | }, 39 | "_id": "ws@0.4.15", 40 | "optionalDependencies": {}, 41 | "_engineSupported": true, 42 | "_npmVersion": "1.1.21", 43 | "_nodeVersion": "v0.6.18", 44 | "_defaultsLoaded": true, 45 | "_from": "ws@0.4.x" 46 | } 47 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/test/Sender.test.js: -------------------------------------------------------------------------------- 1 | var Sender = require('../lib/Sender'); 2 | require('should'); 3 | 4 | describe('Sender', function() { 5 | describe('#frameAndSend', function() { 6 | it('does not modify a masked binary buffer', function() { 7 | var sender = new Sender({ write: function() {} }); 8 | var buf = new Buffer([1, 2, 3, 4, 5]); 9 | sender.frameAndSend(2, buf, true, true); 10 | buf[0].should.eql(1); 11 | buf[1].should.eql(2); 12 | buf[2].should.eql(3); 13 | buf[3].should.eql(4); 14 | buf[4].should.eql(5); 15 | }); 16 | 17 | it('does not modify a masked text buffer', function() { 18 | var sender = new Sender({ write: function() {} }); 19 | var text = 'hi there'; 20 | sender.frameAndSend(1, text, true, true); 21 | text.should.eql('hi there'); 22 | }); 23 | }); 24 | }); 25 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/test/WebSocket.integration.js: -------------------------------------------------------------------------------- 1 | var assert = require('assert') 2 | , WebSocket = require('../') 3 | , server = require('./testserver'); 4 | 5 | var port = 20000; 6 | 7 | function getArrayBuffer(buf) { 8 | var l = buf.length; 9 | var arrayBuf = new ArrayBuffer(l); 10 | for (var i = 0; i < l; ++i) { 11 | arrayBuf[i] = buf[i]; 12 | } 13 | return arrayBuf; 14 | } 15 | 16 | function areArraysEqual(x, y) { 17 | if (x.length != y.length) return false; 18 | for (var i = 0, l = x.length; i < l; ++i) { 19 | if (x[i] !== y[i]) return false; 20 | } 21 | return true; 22 | } 23 | 24 | describe('WebSocket', function() { 25 | it('communicates successfully with echo service', function(done) { 26 | var ws = new WebSocket('ws://echo.websocket.org', {protocolVersion: 8, origin: 'http://websocket.org'}); 27 | var str = Date.now().toString(); 28 | var dataReceived = false; 29 | ws.on('open', function() { 30 | ws.send(str, {mask: true}); 31 | }); 32 | ws.on('close', function() { 33 | assert.equal(true, dataReceived); 34 | done(); 35 | }); 36 | ws.on('message', function(data, flags) { 37 | assert.equal(str, data); 38 | ws.terminate(); 39 | dataReceived = true; 40 | }); 41 | }); 42 | }); -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/test/autobahn-server.js: -------------------------------------------------------------------------------- 1 | var WebSocketServer = require('../').Server; 2 | 3 | process.on('uncaughtException', function(err) { 4 | console.log('Caught exception: ', err, err.stack); 5 | }); 6 | 7 | process.on('SIGINT', function () { 8 | try { 9 | console.log('Updating reports and shutting down'); 10 | var ws = new WebSocket('ws://localhost:9001/updateReports?agent=ws'); 11 | ws.on('close', function() { 12 | process.exit(); 13 | }); 14 | } 15 | catch(e) { 16 | process.exit(); 17 | } 18 | }); 19 | 20 | var wss = new WebSocketServer({port: 8181}); 21 | wss.on('connection', function(ws) { 22 | console.log('new connection'); 23 | ws.on('message', function(data, flags) { 24 | ws.send(flags.buffer, {binary: flags.binary === true}); 25 | }); 26 | ws.on('error', function() { 27 | console.log('error', arguments); 28 | }); 29 | }); 30 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/test/fixtures/certificate.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICATCCAWoCCQDPufXH86n2QzANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJu 3 | bzETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0 4 | cyBQdHkgTHRkMB4XDTEyMDEwMTE0NDQwMFoXDTIwMDMxOTE0NDQwMFowRTELMAkG 5 | A1UEBhMCbm8xEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0 6 | IFdpZGdpdHMgUHR5IEx0ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtrQ7 7 | +r//2iV/B6F+4boH0XqFn7alcV9lpjvAmwRXNKnxAoa0f97AjYPGNLKrjpkNXXhB 8 | JROIdbRbZnCNeC5fzX1a+JCo7KStzBXuGSZr27TtFmcV4H+9gIRIcNHtZmJLnxbJ 9 | sIhkGR8yVYdmJZe4eT5ldk1zoB1adgPF1hZhCBMCAwEAATANBgkqhkiG9w0BAQUF 10 | AAOBgQCeWBEHYJ4mCB5McwSSUox0T+/mJ4W48L/ZUE4LtRhHasU9hiW92xZkTa7E 11 | QLcoJKQiWfiLX2ysAro0NX4+V8iqLziMqvswnPzz5nezaOLE/9U/QvH3l8qqNkXu 12 | rNbsW1h/IO6FV8avWFYVFoutUwOaZ809k7iMh2F2JMgXQ5EymQ== 13 | -----END CERTIFICATE----- 14 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/test/fixtures/key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIICXAIBAAKBgQC2tDv6v//aJX8HoX7hugfReoWftqVxX2WmO8CbBFc0qfEChrR/ 3 | 3sCNg8Y0squOmQ1deEElE4h1tFtmcI14Ll/NfVr4kKjspK3MFe4ZJmvbtO0WZxXg 4 | f72AhEhw0e1mYkufFsmwiGQZHzJVh2Yll7h5PmV2TXOgHVp2A8XWFmEIEwIDAQAB 5 | AoGAAlVY8sHi/aE+9xT77twWX3mGHV0SzdjfDnly40fx6S1Gc7bOtVdd9DC7pk6l 6 | 3ENeJVR02IlgU8iC5lMHq4JEHPE272jtPrLlrpWLTGmHEqoVFv9AITPqUDLhB9Kk 7 | Hjl7h8NYBKbr2JHKICr3DIPKOT+RnXVb1PD4EORbJ3ooYmkCQQDfknUnVxPgxUGs 8 | ouABw1WJIOVgcCY/IFt4Ihf6VWTsxBgzTJKxn3HtgvE0oqTH7V480XoH0QxHhjLq 9 | DrgobWU9AkEA0TRJ8/ouXGnFEPAXjWr9GdPQRZ1Use2MrFjneH2+Sxc0CmYtwwqL 10 | Kr5kS6mqJrxprJeluSjBd+3/ElxURrEXjwJAUvmlN1OPEhXDmRHd92mKnlkyKEeX 11 | OkiFCiIFKih1S5Y/sRJTQ0781nyJjtJqO7UyC3pnQu1oFEePL+UEniRztQJAMfav 12 | AtnpYKDSM+1jcp7uu9BemYGtzKDTTAYfoiNF42EzSJiGrWJDQn4eLgPjY0T0aAf/ 13 | yGz3Z9ErbhMm/Ysl+QJBAL4kBxRT8gM4ByJw4sdOvSeCCANFq8fhbgm8pGWlCPb5 14 | JGmX3/GHFM8x2tbWMGpyZP1DLtiNEFz7eCGktWK5rqE= 15 | -----END RSA PRIVATE KEY----- 16 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/test/fixtures/request.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIBhDCB7gIBADBFMQswCQYDVQQGEwJubzETMBEGA1UECAwKU29tZS1TdGF0ZTEh 3 | MB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIGfMA0GCSqGSIb3DQEB 4 | AQUAA4GNADCBiQKBgQC2tDv6v//aJX8HoX7hugfReoWftqVxX2WmO8CbBFc0qfEC 5 | hrR/3sCNg8Y0squOmQ1deEElE4h1tFtmcI14Ll/NfVr4kKjspK3MFe4ZJmvbtO0W 6 | ZxXgf72AhEhw0e1mYkufFsmwiGQZHzJVh2Yll7h5PmV2TXOgHVp2A8XWFmEIEwID 7 | AQABoAAwDQYJKoZIhvcNAQEFBQADgYEAjsUXEARgfxZNkMjuUcudgU2w4JXS0gGI 8 | JQ0U1LmU0vMDSKwqndMlvCbKzEgPbJnGJDI8D4MeINCJHa5Ceyb8c+jaJYUcCabl 9 | lQW5Psn3+eWp8ncKlIycDRj1Qk615XuXtV0fhkrgQM2ZCm9LaQ1O1Gd/CzLihLjF 10 | W0MmgMKMMRk= 11 | -----END CERTIFICATE REQUEST----- 12 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/README.md: -------------------------------------------------------------------------------- 1 | # node-XMLHttpRequest # 2 | 3 | node-XMLHttpRequest is arapper for the built-in http client to emulate the browser XMLHttpRequest object. 4 | 5 | This can be used with JS designed for browsers to improve reuse of code and allow the use of existing libraries. 6 | 7 | ## Usage ## 8 | Here's how to include the module in your project and use as the browser-based XHR object. 9 | 10 | var XMLHttpRequest = require("XMLHttpRequest").XMLHttpRequest; 11 | var xhr = new XMLHttpRequest(); 12 | 13 | Refer to W3C specs for XHR methods. 14 | 15 | ## TODO ## 16 | 17 | * Add basic authentication 18 | * Additional unit tests 19 | * Possibly move from http to tcp for more flexibility 20 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/autotest.watchr: -------------------------------------------------------------------------------- 1 | def run_all_tests 2 | puts `clear` 3 | puts `node tests/test-constants.js` 4 | puts `node tests/test-headers.js` 5 | puts `node tests/test-request.js` 6 | end 7 | watch('.*.js') { run_all_tests } 8 | run_all_tests 9 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/demo.js: -------------------------------------------------------------------------------- 1 | var sys = require('util'); 2 | var XMLHttpRequest = require("./XMLHttpRequest").XMLHttpRequest; 3 | 4 | var xhr = new XMLHttpRequest(); 5 | 6 | xhr.onreadystatechange = function() { 7 | sys.puts("State: " + this.readyState); 8 | 9 | if (this.readyState == 4) { 10 | sys.puts("Complete.\nBody length: " + this.responseText.length); 11 | sys.puts("Body:\n" + this.responseText); 12 | } 13 | }; 14 | 15 | xhr.open("GET", "http://driverdan.com"); 16 | xhr.send(); 17 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xmlhttprequest", 3 | "description": "XMLHttpRequest for Node", 4 | "version": "1.2.2", 5 | "author": { 6 | "name": "Dan DeFelippi" 7 | }, 8 | "licenses": [ 9 | { 10 | "type": "MIT", 11 | "url": "http://creativecommons.org/licenses/MIT/" 12 | } 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "git://github.com/driverdan/node-XMLHttpRequest.git" 17 | }, 18 | "engine": [ 19 | "node >=0.4.0" 20 | ], 21 | "main": "./XMLHttpRequest.js", 22 | "_id": "xmlhttprequest@1.2.2", 23 | "dependencies": {}, 24 | "devDependencies": {}, 25 | "optionalDependencies": {}, 26 | "engines": { 27 | "node": "*" 28 | }, 29 | "_engineSupported": true, 30 | "_npmVersion": "1.1.21", 31 | "_nodeVersion": "v0.6.18", 32 | "_defaultsLoaded": true, 33 | "_from": "xmlhttprequest@1.2.2" 34 | } 35 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/tests/test-constants.js: -------------------------------------------------------------------------------- 1 | var sys = require("util") 2 | ,assert = require("assert") 3 | ,XMLHttpRequest = require("../XMLHttpRequest").XMLHttpRequest 4 | ,xhr = new XMLHttpRequest(); 5 | 6 | // Test constant values 7 | assert.equal(0, xhr.UNSENT); 8 | assert.equal(1, xhr.OPENED); 9 | assert.equal(2, xhr.HEADERS_RECEIVED); 10 | assert.equal(3, xhr.LOADING); 11 | assert.equal(4, xhr.DONE); 12 | 13 | sys.puts("done"); 14 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/node_modules/xmlhttprequest/tests/test-headers.js: -------------------------------------------------------------------------------- 1 | var sys = require("util") 2 | ,assert = require("assert") 3 | ,XMLHttpRequest = require("../XMLHttpRequest").XMLHttpRequest 4 | ,xhr = new XMLHttpRequest() 5 | ,http = require("http"); 6 | 7 | // Test server 8 | var server = http.createServer(function (req, res) { 9 | // Test setRequestHeader 10 | assert.equal("Foobar", req.headers["x-test"]); 11 | 12 | var body = "Hello World"; 13 | res.writeHead(200, { 14 | "Content-Type": "text/plain", 15 | "Content-Length": Buffer.byteLength(body) 16 | }); 17 | res.write("Hello World"); 18 | res.end(); 19 | 20 | this.close(); 21 | }).listen(8000); 22 | 23 | xhr.onreadystatechange = function() { 24 | if (this.readyState == 4) { 25 | // Test getAllResponseHeaders() 26 | var headers = "content-type: text/plain\r\ncontent-length: 11\r\nconnection: close"; 27 | assert.equal(headers, this.getAllResponseHeaders()); 28 | 29 | sys.puts("done"); 30 | } 31 | }; 32 | 33 | xhr.open("GET", "http://localhost:8000/"); 34 | xhr.setRequestHeader("X-Test", "Foobar"); 35 | xhr.send(); 36 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/test/io.test.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * socket.io-node 4 | * Copyright(c) 2011 LearnBoost 5 | * MIT Licensed 6 | */ 7 | 8 | (function (module, io, should) { 9 | 10 | module.exports = { 11 | 12 | 'client version number': function () { 13 | io.version.should().match(/([0-9]+)\.([0-9]+)\.([0-9]+)/); 14 | }, 15 | 16 | 'socket.io protocol version': function () { 17 | io.protocol.should().be.a('number'); 18 | io.protocol.toString().should().match(/^\d+$/); 19 | }, 20 | 21 | 'socket.io available transports': function () { 22 | (io.transports.length > 0).should().be_true; 23 | } 24 | 25 | }; 26 | 27 | })( 28 | 'undefined' == typeof module ? module = {} : module 29 | , 'undefined' == typeof io ? require('socket.io-client') : io 30 | , 'undefined' == typeof should ? require('should') : should 31 | ); 32 | -------------------------------------------------------------------------------- /node_modules/socket.io/node_modules/socket.io-client/test/worker.js: -------------------------------------------------------------------------------- 1 | importScripts('/socket.io/socket.io.js'); 2 | 3 | self.onmessage = function (ev) { 4 | var url = ev.data 5 | , socket = io.connect(url); 6 | 7 | socket.on('done', function () { 8 | self.postMessage('done!'); 9 | }); 10 | 11 | socket.on('connect_failed', function () { 12 | self.postMessage('connect failed'); 13 | }); 14 | 15 | socket.on('error', function () { 16 | self.postMessage('error'); 17 | }); 18 | 19 | socket.send('woot'); 20 | } 21 | --------------------------------------------------------------------------------