vulcan 0.6.1 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/vulcan/cli.rb +20 -10
- data/lib/vulcan/version.rb +1 -1
- data/server/Procfile +1 -1
- data/server/bin/web +10 -0
- data/server/lib/cloudant.coffee +20 -0
- data/server/lib/logger.coffee +17 -0
- data/server/lib/on.coffee +10 -0
- data/server/lib/spawner.coffee +65 -0
- data/server/node_modules/coffee-script/CNAME +1 -0
- data/server/node_modules/coffee-script/LICENSE +22 -0
- data/server/node_modules/coffee-script/README +51 -0
- data/server/node_modules/coffee-script/Rakefile +78 -0
- data/server/node_modules/coffee-script/bin/cake +7 -0
- data/server/node_modules/coffee-script/bin/coffee +7 -0
- data/server/node_modules/coffee-script/extras/jsl.conf +44 -0
- data/server/node_modules/coffee-script/lib/coffee-script/browser.js +92 -0
- data/server/node_modules/coffee-script/lib/coffee-script/cake.js +111 -0
- data/server/node_modules/coffee-script/lib/coffee-script/coffee-script.js +167 -0
- data/server/node_modules/coffee-script/lib/coffee-script/command.js +500 -0
- data/server/node_modules/coffee-script/lib/coffee-script/grammar.js +606 -0
- data/server/node_modules/coffee-script/lib/coffee-script/helpers.js +77 -0
- data/server/node_modules/coffee-script/lib/coffee-script/index.js +11 -0
- data/server/node_modules/coffee-script/lib/coffee-script/lexer.js +788 -0
- data/server/node_modules/coffee-script/lib/coffee-script/nodes.js +2986 -0
- data/server/node_modules/coffee-script/lib/coffee-script/optparse.js +138 -0
- data/server/node_modules/coffee-script/lib/coffee-script/parser.js +683 -0
- data/server/node_modules/coffee-script/lib/coffee-script/repl.js +261 -0
- data/server/node_modules/coffee-script/lib/coffee-script/rewriter.js +349 -0
- data/server/node_modules/coffee-script/lib/coffee-script/scope.js +146 -0
- data/server/node_modules/coffee-script/package.json +55 -0
- data/server/node_modules/connect-form/History.md +0 -6
- data/server/node_modules/connect-form/lib/connect-form.js +2 -4
- data/server/node_modules/connect-form/node_modules/formidable/Readme.md +64 -36
- data/server/node_modules/connect-form/node_modules/formidable/lib/incoming_form.js +5 -1
- data/server/node_modules/connect-form/node_modules/formidable/package.json +20 -6
- data/server/node_modules/connect-form/node_modules/formidable/test/common.js +5 -6
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/file/funkyfilename.txt +1 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/js/special-chars-in-filename.js +1 -1
- data/server/node_modules/connect-form/node_modules/formidable/test/{slow → integration}/test-fixtures.js +38 -33
- data/server/node_modules/connect-form/node_modules/formidable/test/legacy/simple/test-incoming-form.js +11 -0
- data/server/node_modules/connect-form/node_modules/formidable/test/run.js +1 -6
- data/server/node_modules/connect-form/node_modules/formidable/test/unit/test-incoming-form.js +63 -0
- data/server/node_modules/connect-form/package.json +27 -5
- data/server/node_modules/cradle/README.md +10 -10
- data/server/node_modules/cradle/lib/cradle.js +117 -523
- data/server/node_modules/cradle/lib/cradle/database/attachments.js +120 -0
- data/server/node_modules/cradle/lib/cradle/database/changes.js +56 -0
- data/server/node_modules/cradle/lib/cradle/database/documents.js +215 -0
- data/server/node_modules/cradle/lib/cradle/database/index.js +65 -0
- data/server/node_modules/cradle/lib/cradle/database/views.js +125 -0
- data/server/node_modules/cradle/node_modules/follow/LICENSE +202 -0
- data/server/node_modules/cradle/node_modules/follow/README.md +164 -0
- data/server/node_modules/cradle/node_modules/follow/Rakefile +54 -0
- data/server/node_modules/cradle/node_modules/follow/api.js +35 -0
- data/server/node_modules/cradle/node_modules/follow/browser/eventemitter2.js +453 -0
- data/server/node_modules/cradle/node_modules/follow/browser/export.js +78 -0
- data/server/node_modules/cradle/node_modules/follow/browser/index.html +14 -0
- data/server/node_modules/cradle/node_modules/follow/browser/jquery-1.6.1.min.js +18 -0
- data/server/node_modules/cradle/node_modules/follow/browser/log4js.js +46 -0
- data/server/node_modules/cradle/node_modules/follow/browser/main.js +92 -0
- data/server/node_modules/cradle/node_modules/follow/browser/querystring.js +28 -0
- data/server/node_modules/cradle/node_modules/follow/browser/request.jquery.js +237 -0
- data/server/node_modules/cradle/node_modules/follow/browser/require.js +33 -0
- data/server/node_modules/cradle/node_modules/follow/browser/util.js +28 -0
- data/server/node_modules/cradle/node_modules/follow/cli.js +101 -0
- data/server/node_modules/cradle/node_modules/follow/lib/feed.js +556 -0
- data/server/node_modules/cradle/node_modules/follow/lib/index.js +66 -0
- data/server/node_modules/cradle/node_modules/follow/lib/stream.js +305 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/LICENSE +55 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/README.md +285 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/main.js +618 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/mimetypes.js +146 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/oauth.js +34 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/package.json +42 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/googledoodle.png +0 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/run.sh +6 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/server.js +57 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/test-body.js +90 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/test-cookie.js +29 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/test-cookiejar.js +90 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/test-errors.js +30 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/test-oauth.js +109 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/test-pipes.js +167 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/test-proxy.js +39 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/test-timeout.js +87 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/uuid.js +19 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/vendor/cookie/index.js +55 -0
- data/server/node_modules/cradle/node_modules/follow/node_modules/request/vendor/cookie/jar.js +72 -0
- data/server/node_modules/cradle/node_modules/follow/package.json +45 -0
- data/server/node_modules/cradle/node_modules/follow/test/couch.js +153 -0
- data/server/node_modules/cradle/node_modules/follow/test/follow.js +136 -0
- data/server/node_modules/cradle/node_modules/follow/test/issues.js +178 -0
- data/server/node_modules/cradle/node_modules/follow/test/issues/10.js +24 -0
- data/server/node_modules/cradle/node_modules/follow/test/stream.js +493 -0
- data/server/node_modules/cradle/node_modules/request/LICENSE +55 -0
- data/server/node_modules/cradle/node_modules/request/README.md +287 -0
- data/server/node_modules/cradle/node_modules/request/forever.js +103 -0
- data/server/node_modules/cradle/node_modules/request/main.js +913 -0
- data/server/node_modules/cradle/node_modules/request/mimetypes.js +152 -0
- data/server/node_modules/cradle/node_modules/request/oauth.js +34 -0
- data/server/node_modules/cradle/node_modules/request/package.json +42 -0
- data/server/node_modules/cradle/node_modules/request/tests/googledoodle.png +0 -0
- data/server/node_modules/cradle/node_modules/request/tests/run.js +38 -0
- data/server/node_modules/cradle/node_modules/request/tests/server.js +82 -0
- data/server/node_modules/cradle/node_modules/request/tests/squid.conf +77 -0
- data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/ca.cnf +20 -0
- data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/ca.crl +0 -0
- data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/ca.crt +17 -0
- data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/ca.csr +13 -0
- data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/ca.key +18 -0
- data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/ca.srl +1 -0
- data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/server.cnf +19 -0
- data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/server.crt +16 -0
- data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/server.csr +11 -0
- data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/server.js +28 -0
- data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/server.key +9 -0
- data/server/node_modules/cradle/node_modules/request/tests/ssl/npm-ca.crt +16 -0
- data/server/node_modules/cradle/node_modules/request/tests/ssl/test.crt +15 -0
- data/server/node_modules/cradle/node_modules/request/tests/ssl/test.key +15 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-body.js +95 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-cookie.js +29 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-cookiejar.js +90 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-defaults.js +68 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-errors.js +37 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-headers.js +52 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-httpModule.js +94 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-https-strict.js +97 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-https.js +86 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-oauth.js +117 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-params.js +92 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-pipes.js +202 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-proxy.js +39 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-qs.js +28 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-redirect.js +154 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-timeout.js +87 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-toJSON.js +14 -0
- data/server/node_modules/cradle/node_modules/request/tests/test-tunnel.js +61 -0
- data/server/node_modules/cradle/node_modules/request/tunnel.js +229 -0
- data/server/node_modules/cradle/node_modules/request/uuid.js +19 -0
- data/server/node_modules/cradle/node_modules/request/vendor/cookie/index.js +65 -0
- data/server/node_modules/cradle/node_modules/request/vendor/cookie/jar.js +72 -0
- data/server/node_modules/cradle/node_modules/vargs/package.json +33 -10
- data/server/node_modules/cradle/package.json +50 -12
- data/server/node_modules/cradle/test/cache-test.js +1 -4
- data/server/node_modules/cradle/test/connection-test.js +179 -0
- data/server/node_modules/cradle/test/database-attachment-test.js +344 -0
- data/server/node_modules/cradle/test/database-cache-test.js +132 -0
- data/server/node_modules/cradle/test/database-test.js +219 -0
- data/server/node_modules/cradle/test/database-view-test.js +141 -0
- data/server/node_modules/cradle/test/fixtures/databases.json +28 -1
- data/server/node_modules/cradle/test/helpers/seed.js +14 -5
- data/server/node_modules/cradle/test/response-test.js +1 -1
- data/server/node_modules/express/History.md +16 -0
- data/server/node_modules/express/bin/express +7 -6
- data/server/node_modules/express/lib-cov/application.js +510 -0
- data/server/node_modules/express/lib-cov/express.js +65 -0
- data/server/node_modules/express/lib-cov/middleware.js +54 -0
- data/server/node_modules/express/lib-cov/request.js +225 -0
- data/server/node_modules/express/lib-cov/response.js +611 -0
- data/server/node_modules/express/lib-cov/router/collection.js +40 -0
- data/server/node_modules/express/lib-cov/router/index.js +515 -0
- data/server/node_modules/express/lib-cov/router/methods.js +9 -0
- data/server/node_modules/express/lib-cov/router/route.js +68 -0
- data/server/node_modules/express/lib-cov/utils.js +151 -0
- data/server/node_modules/express/lib-cov/view.js +81 -0
- data/server/node_modules/express/lib/express.js +1 -1
- data/server/node_modules/express/lib/http.js +1 -2
- data/server/node_modules/express/lib/request.js +2 -2
- data/server/node_modules/express/lib/router/methods.js +10 -1
- data/server/node_modules/express/node_modules/connect/lib/connect.js +1 -1
- data/server/node_modules/express/node_modules/connect/lib/http.js +3 -2
- data/server/node_modules/express/node_modules/connect/lib/middleware/limit.js +0 -2
- data/server/node_modules/express/node_modules/connect/lib/middleware/session.js +1 -2
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/Readme.md +42 -25
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js +1 -0
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/package.json +14 -3
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-incoming-form.js +11 -0
- data/server/node_modules/express/node_modules/connect/package.json +35 -7
- data/server/node_modules/express/node_modules/mime/package.json +30 -8
- data/server/node_modules/express/node_modules/mkdirp/README.markdown +35 -2
- data/server/node_modules/express/node_modules/mkdirp/examples/pow.js +1 -1
- data/server/node_modules/express/node_modules/mkdirp/index.js +72 -13
- data/server/node_modules/express/node_modules/mkdirp/package.json +39 -21
- data/server/node_modules/express/node_modules/mkdirp/test/chmod.js +38 -0
- data/server/node_modules/express/node_modules/mkdirp/test/clobber.js +37 -0
- data/server/node_modules/express/node_modules/mkdirp/test/perm.js +32 -0
- data/server/node_modules/express/node_modules/mkdirp/test/perm_sync.js +39 -0
- data/server/node_modules/express/node_modules/mkdirp/test/sync.js +27 -0
- data/server/node_modules/express/node_modules/mkdirp/test/umask.js +28 -0
- data/server/node_modules/express/node_modules/mkdirp/test/umask_sync.js +27 -0
- data/server/node_modules/express/node_modules/qs/History.md +10 -0
- data/server/node_modules/express/node_modules/qs/Readme.md +9 -2
- data/server/node_modules/express/node_modules/qs/examples.js +3 -0
- data/server/node_modules/express/node_modules/qs/lib/querystring.js +8 -6
- data/server/node_modules/express/node_modules/qs/package.json +26 -8
- data/server/node_modules/express/node_modules/qs/test/parse.js +13 -1
- data/server/node_modules/express/node_modules/qs/test/stringify.js +45 -37
- data/server/node_modules/express/package.json +55 -16
- data/server/node_modules/express/test.js +41 -0
- data/server/node_modules/knox/package.json +26 -4
- data/server/node_modules/node-uuid/package.json +40 -11
- data/server/node_modules/node-uuid/test/test.js +1 -1
- data/server/node_modules/nodemon/README.md +120 -0
- data/server/node_modules/nodemon/nodemon.js +518 -0
- data/server/node_modules/nodemon/nodemonignore.example +11 -0
- data/server/node_modules/nodemon/package.json +49 -0
- data/server/node_modules/restler/README.md +144 -94
- data/server/node_modules/restler/lib/multipartform.js +2 -0
- data/server/node_modules/restler/lib/restler.js +218 -61
- data/server/node_modules/restler/package.json +35 -8
- data/server/node_modules/restler/test/all.js +6 -1
- data/server/node_modules/restler/test/restler.js +624 -118
- data/server/package.json +14 -10
- data/server/web.coffee +64 -0
- data/server/web.js +15 -3
- metadata +170 -57
- data/server/index.js +0 -14
- data/server/node_modules/connect-form/LICENSE +0 -22
- data/server/node_modules/connect-form/index.js +0 -100
- data/server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js +0 -45
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/no-filename/generic.http +0 -13
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-chrome-13.http +0 -26
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-firefox-3.6.http +0 -24
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-safari-5.http +0 -23
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-chrome-12.http +0 -24
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-7.http +0 -22
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-8.http +0 -22
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-safari-5.http +0 -22
- data/server/node_modules/connect-form/node_modules/formidable/test/fixture/multi_video.upload +0 -0
- data/server/node_modules/cradle/Makefile +0 -10
- data/server/node_modules/cradle/test/cradle-test.js +0 -650
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/no-filename/generic.http +0 -13
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-chrome-13.http +0 -26
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-firefox-3.6.http +0 -24
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-safari-5.http +0 -23
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-chrome-12.http +0 -24
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-7.http +0 -22
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-8.http +0 -22
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-safari-5.http +0 -22
- data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/multi_video.upload +0 -0
- data/server/node_modules/express/node_modules/connect/test.js +0 -52
- data/server/node_modules/express/testing/foo/app.js +0 -35
- data/server/node_modules/express/testing/foo/package.json +0 -9
- data/server/node_modules/express/testing/foo/public/stylesheets/style.css +0 -8
- data/server/node_modules/express/testing/foo/routes/index.js +0 -10
- data/server/node_modules/express/testing/foo/views/index.jade +0 -2
- data/server/node_modules/express/testing/foo/views/layout.jade +0 -6
- data/server/node_modules/express/testing/index.js +0 -43
- data/server/node_modules/express/testing/public/test.txt +0 -2971
- data/server/node_modules/express/testing/views/page.html +0 -1
- data/server/node_modules/express/testing/views/page.jade +0 -3
- data/server/node_modules/express/testing/views/test.md +0 -1
- data/server/node_modules/express/testing/views/user/index.jade +0 -1
- data/server/node_modules/express/testing/views/user/list.jade +0 -1
- data/server/node_modules/knox/lib/knox/mime/index.js +0 -308
- data/server/node_modules/knox/lib/knox/mime/test.js +0 -59
- data/server/node_modules/node-uuid/test/benchmark-native +0 -0
- data/server/node_modules/on/index.js +0 -13
- data/server/node_modules/restler/test/test_helper.js +0 -163
- data/server/node_modules/spawner/index.js +0 -106
File without changes
|
@@ -0,0 +1,17 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIICvTCCAiYCCQDn+P/MSbDsWjANBgkqhkiG9w0BAQUFADCBojELMAkGA1UEBhMC
|
3
|
+
VVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQHEwdPYWtsYW5kMRAwDgYDVQQKEwdyZXF1
|
4
|
+
ZXN0MSYwJAYDVQQLEx1yZXF1ZXN0IENlcnRpZmljYXRlIEF1dGhvcml0eTESMBAG
|
5
|
+
A1UEAxMJcmVxdWVzdENBMSYwJAYJKoZIhvcNAQkBFhdtaWtlYWxAbWlrZWFscm9n
|
6
|
+
ZXJzLmNvbTAeFw0xMjAzMDEyMjUwNTZaFw0yMjAyMjcyMjUwNTZaMIGiMQswCQYD
|
7
|
+
VQQGEwJVUzELMAkGA1UECBMCQ0ExEDAOBgNVBAcTB09ha2xhbmQxEDAOBgNVBAoT
|
8
|
+
B3JlcXVlc3QxJjAkBgNVBAsTHXJlcXVlc3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
|
9
|
+
MRIwEAYDVQQDEwlyZXF1ZXN0Q0ExJjAkBgkqhkiG9w0BCQEWF21pa2VhbEBtaWtl
|
10
|
+
YWxyb2dlcnMuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7t9pQUAK4
|
11
|
+
5XJYTI6NrF0n3G2HZsfN+rPYSVzzL8SuVyb1tHXos+vbPm3NKI4E8X1yVAXU8CjJ
|
12
|
+
5SqXnp4DAypAhaseho81cbhk7LXUhFz78OvAa+OD+xTAEAnNQ8tGUr4VGyplEjfD
|
13
|
+
xsBVuqV2j8GPNTftr+drOCFlqfAgMrBn4wIDAQABMA0GCSqGSIb3DQEBBQUAA4GB
|
14
|
+
ADVdTlVAL45R+PACNS7Gs4o81CwSclukBu4FJbxrkd4xGQmurgfRrYYKjtqiopQm
|
15
|
+
D7ysRamS3HMN9/VKq2T7r3z1PMHPAy7zM4uoXbbaTKwlnX4j/8pGPn8Ca3qHXYlo
|
16
|
+
88L/OOPc6Di7i7qckS3HFbXQCTiULtxWmy97oEuTwrAj
|
17
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,13 @@
|
|
1
|
+
-----BEGIN CERTIFICATE REQUEST-----
|
2
|
+
MIICBjCCAW8CAQAwgaIxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEQMA4GA1UE
|
3
|
+
BxMHT2FrbGFuZDEQMA4GA1UEChMHcmVxdWVzdDEmMCQGA1UECxMdcmVxdWVzdCBD
|
4
|
+
ZXJ0aWZpY2F0ZSBBdXRob3JpdHkxEjAQBgNVBAMTCXJlcXVlc3RDQTEmMCQGCSqG
|
5
|
+
SIb3DQEJARYXbWlrZWFsQG1pa2VhbHJvZ2Vycy5jb20wgZ8wDQYJKoZIhvcNAQEB
|
6
|
+
BQADgY0AMIGJAoGBALu32lBQArjlclhMjo2sXSfcbYdmx836s9hJXPMvxK5XJvW0
|
7
|
+
deiz69s+bc0ojgTxfXJUBdTwKMnlKpeengMDKkCFqx6GjzVxuGTstdSEXPvw68Br
|
8
|
+
44P7FMAQCc1Dy0ZSvhUbKmUSN8PGwFW6pXaPwY81N+2v52s4IWWp8CAysGfjAgMB
|
9
|
+
AAGgIzAhBgkqhkiG9w0BCQcxFBMScGFzc3dvcmQgY2hhbGxlbmdlMA0GCSqGSIb3
|
10
|
+
DQEBBQUAA4GBAGJO7grHeVHXetjHEK8urIxdnvfB2qeZeObz4GPKIkqUurjr0rfj
|
11
|
+
bA3EK1kDMR5aeQWR8RunixdM16Q6Ry0lEdLVWkdSwRN9dmirIHT9cypqnD/FYOia
|
12
|
+
SdezZ0lUzXgmJIwRYRwB1KSMMocIf52ll/xC2bEGg7/ZAEuAyAgcZV3X
|
13
|
+
-----END CERTIFICATE REQUEST-----
|
@@ -0,0 +1,18 @@
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
2
|
+
Proc-Type: 4,ENCRYPTED
|
3
|
+
DEK-Info: DES-EDE3-CBC,C8B5887048377F02
|
4
|
+
|
5
|
+
nyD5ZH0Wup2uWsDvurq5mKDaDrf8lvNn9w0SH/ZkVnfR1/bkwqrFriqJWvZNUG+q
|
6
|
+
nS0iBYczsWLJnbub9a1zLOTENWUKVD5uqbC3aGHhnoUTNSa27DONgP8gHOn6JgR+
|
7
|
+
GAKo01HCSTiVT4LjkwN337QKHnMP2fTzg+IoC/CigvMcq09hRLwU1/guq0GJKGwH
|
8
|
+
gTxYNuYmQC4Tjh8vdS4liF+Ve/P3qPR2CehZrIOkDT8PHJBGQJRo4xGUIB7Tpk38
|
9
|
+
VCk+UZ0JCS2coY8VkY/9tqFJp/ZnnQQVmaNbdRqg7ECKL+bXnNo7yjzmazPZmPe3
|
10
|
+
/ShbE0+CTt7LrjCaQAxWbeDzqfo1lQfgN1LulTm8MCXpQaJpv7v1VhIhQ7afjMYb
|
11
|
+
4thW/ypHPiYS2YJCAkAVlua9Oxzzh1qJoh8Df19iHtpd79Q77X/qf+1JvITlMu0U
|
12
|
+
gi7yEatmQcmYNws1mtTC1q2DXrO90c+NZ0LK/Alse6NRL/xiUdjug2iHeTf/idOR
|
13
|
+
Gg/5dSZbnnlj1E5zjSMDkzg6EHAFmHV4jYGSAFLEQgp4V3ZhMVoWZrvvSHgKV/Qh
|
14
|
+
FqrAK4INr1G2+/QTd09AIRzfy3/j6yD4A9iNaOsEf9Ua7Qh6RcALRCAZTWR5QtEf
|
15
|
+
dX+iSNJ4E85qXs0PqwkMDkoaxIJ+tmIRJY7y8oeylV8cfGAi8Soubt/i3SlR8IHC
|
16
|
+
uDMas/2OnwafK3N7ODeE1i7r7wkzQkSHaEz0TrF8XRnP25jAICCSLiMdAAjKfxVb
|
17
|
+
EvzsFSuAy3Jt6bU3hSLY9o4YVYKE+68ITMv9yNjvTsEiW+T+IbN34w==
|
18
|
+
-----END RSA PRIVATE KEY-----
|
@@ -0,0 +1 @@
|
|
1
|
+
ADF62016AA40C9C3
|
@@ -0,0 +1,19 @@
|
|
1
|
+
[ req ]
|
2
|
+
default_bits = 1024
|
3
|
+
days = 3650
|
4
|
+
distinguished_name = req_distinguished_name
|
5
|
+
attributes = req_attributes
|
6
|
+
prompt = no
|
7
|
+
|
8
|
+
[ req_distinguished_name ]
|
9
|
+
C = US
|
10
|
+
ST = CA
|
11
|
+
L = Oakland
|
12
|
+
O = request
|
13
|
+
OU = testing
|
14
|
+
CN = testing.request.mikealrogers.com
|
15
|
+
emailAddress = mikeal@mikealrogers.com
|
16
|
+
|
17
|
+
[ req_attributes ]
|
18
|
+
challengePassword = password challenge
|
19
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIICejCCAeMCCQCt9iAWqkDJwzANBgkqhkiG9w0BAQUFADCBojELMAkGA1UEBhMC
|
3
|
+
VVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQHEwdPYWtsYW5kMRAwDgYDVQQKEwdyZXF1
|
4
|
+
ZXN0MSYwJAYDVQQLEx1yZXF1ZXN0IENlcnRpZmljYXRlIEF1dGhvcml0eTESMBAG
|
5
|
+
A1UEAxMJcmVxdWVzdENBMSYwJAYJKoZIhvcNAQkBFhdtaWtlYWxAbWlrZWFscm9n
|
6
|
+
ZXJzLmNvbTAeFw0xMjAzMDEyMjUwNTZaFw0yMjAyMjcyMjUwNTZaMIGjMQswCQYD
|
7
|
+
VQQGEwJVUzELMAkGA1UECBMCQ0ExEDAOBgNVBAcTB09ha2xhbmQxEDAOBgNVBAoT
|
8
|
+
B3JlcXVlc3QxEDAOBgNVBAsTB3Rlc3RpbmcxKTAnBgNVBAMTIHRlc3RpbmcucmVx
|
9
|
+
dWVzdC5taWtlYWxyb2dlcnMuY29tMSYwJAYJKoZIhvcNAQkBFhdtaWtlYWxAbWlr
|
10
|
+
ZWFscm9nZXJzLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQDgVl0jMumvOpmM
|
11
|
+
20W5v9yhGgZj8hPhEQF/N7yCBVBn/rWGYm70IHC8T/pR5c0LkWc5gdnCJEvKWQjh
|
12
|
+
DBKxZD8FAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEABShRkNgFbgs4vUWW9R9deNJj
|
13
|
+
7HJoiTmvkmoOC7QzcYkjdgHbOxsSq3rBnwxsVjY9PAtPwBn0GRspOeG7KzKRgySB
|
14
|
+
kb22LyrCFKbEOfKO/+CJc80ioK9zEPVjGsFMyAB+ftYRqM+s/4cQlTg/m89l01wC
|
15
|
+
yapjN3RxZbInGhWR+jA=
|
16
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,11 @@
|
|
1
|
+
-----BEGIN CERTIFICATE REQUEST-----
|
2
|
+
MIIBgjCCASwCAQAwgaMxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEQMA4GA1UE
|
3
|
+
BxMHT2FrbGFuZDEQMA4GA1UEChMHcmVxdWVzdDEQMA4GA1UECxMHdGVzdGluZzEp
|
4
|
+
MCcGA1UEAxMgdGVzdGluZy5yZXF1ZXN0Lm1pa2VhbHJvZ2Vycy5jb20xJjAkBgkq
|
5
|
+
hkiG9w0BCQEWF21pa2VhbEBtaWtlYWxyb2dlcnMuY29tMFwwDQYJKoZIhvcNAQEB
|
6
|
+
BQADSwAwSAJBAOBWXSMy6a86mYzbRbm/3KEaBmPyE+ERAX83vIIFUGf+tYZibvQg
|
7
|
+
cLxP+lHlzQuRZzmB2cIkS8pZCOEMErFkPwUCAwEAAaAjMCEGCSqGSIb3DQEJBzEU
|
8
|
+
ExJwYXNzd29yZCBjaGFsbGVuZ2UwDQYJKoZIhvcNAQEFBQADQQBD3E5WekQzCEJw
|
9
|
+
7yOcqvtPYIxGaX8gRKkYfLPoj3pm3GF5SGqtJKhylKfi89szHXgktnQgzff9FN+A
|
10
|
+
HidVJ/3u
|
11
|
+
-----END CERTIFICATE REQUEST-----
|
@@ -0,0 +1,28 @@
|
|
1
|
+
var fs = require("fs")
|
2
|
+
var https = require("https")
|
3
|
+
var options = { key: fs.readFileSync("./server.key")
|
4
|
+
, cert: fs.readFileSync("./server.crt") }
|
5
|
+
|
6
|
+
var server = https.createServer(options, function (req, res) {
|
7
|
+
res.writeHead(200)
|
8
|
+
res.end()
|
9
|
+
server.close()
|
10
|
+
})
|
11
|
+
server.listen(1337)
|
12
|
+
|
13
|
+
var ca = fs.readFileSync("./ca.crt")
|
14
|
+
var agent = new https.Agent({ host: "localhost", port: 1337, ca: ca })
|
15
|
+
|
16
|
+
https.request({ host: "localhost"
|
17
|
+
, method: "HEAD"
|
18
|
+
, port: 1337
|
19
|
+
, headers: { host: "testing.request.mikealrogers.com" }
|
20
|
+
, agent: agent
|
21
|
+
, ca: [ ca ]
|
22
|
+
, path: "/" }, function (res) {
|
23
|
+
if (res.client.authorized) {
|
24
|
+
console.log("node test: OK")
|
25
|
+
} else {
|
26
|
+
throw new Error(res.client.authorizationError)
|
27
|
+
}
|
28
|
+
}).end()
|
@@ -0,0 +1,9 @@
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
2
|
+
MIIBOwIBAAJBAOBWXSMy6a86mYzbRbm/3KEaBmPyE+ERAX83vIIFUGf+tYZibvQg
|
3
|
+
cLxP+lHlzQuRZzmB2cIkS8pZCOEMErFkPwUCAwEAAQJAK+r8ZM2sze8s7FRo/ApB
|
4
|
+
iRBtO9fCaIdJwbwJnXKo4RKwZDt1l2mm+fzZ+/QaQNjY1oTROkIIXmnwRvZWfYlW
|
5
|
+
gQIhAPKYsG+YSBN9o8Sdp1DMyZ/rUifKX3OE6q9tINkgajDVAiEA7Ltqh01+cnt0
|
6
|
+
JEnud/8HHcuehUBLMofeg0G+gCnSbXECIQCqDvkXsWNNLnS/3lgsnvH0Baz4sbeJ
|
7
|
+
rjIpuVEeg8eM5QIgbu0+9JmOV6ybdmmiMV4yAncoF35R/iKGVHDZCAsQzDECIQDZ
|
8
|
+
0jGz22tlo5YMcYSqrdD3U4sds1pwiAaWFRbCunoUJw==
|
9
|
+
-----END RSA PRIVATE KEY-----
|
@@ -0,0 +1,16 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIChzCCAfACCQDauvz/KHp8ejANBgkqhkiG9w0BAQUFADCBhzELMAkGA1UEBhMC
|
3
|
+
VVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQHEwdPYWtsYW5kMQwwCgYDVQQKEwNucG0x
|
4
|
+
IjAgBgNVBAsTGW5wbSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxDjAMBgNVBAMTBW5w
|
5
|
+
bUNBMRcwFQYJKoZIhvcNAQkBFghpQGl6cy5tZTAeFw0xMTA5MDUwMTQ3MTdaFw0y
|
6
|
+
MTA5MDIwMTQ3MTdaMIGHMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExEDAOBgNV
|
7
|
+
BAcTB09ha2xhbmQxDDAKBgNVBAoTA25wbTEiMCAGA1UECxMZbnBtIENlcnRpZmlj
|
8
|
+
YXRlIEF1dGhvcml0eTEOMAwGA1UEAxMFbnBtQ0ExFzAVBgkqhkiG9w0BCQEWCGlA
|
9
|
+
aXpzLm1lMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDLI4tIqPpRW+ACw9GE
|
10
|
+
OgBlJZwK5f8nnKCLK629Pv5yJpQKs3DENExAyOgDcyaF0HD0zk8zTp+ZsLaNdKOz
|
11
|
+
Gn2U181KGprGKAXP6DU6ByOJDWmTlY6+Ad1laYT0m64fERSpHw/hjD3D+iX4aMOl
|
12
|
+
y0HdbT5m1ZGh6SJz3ZqxavhHLQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAC4ySDbC
|
13
|
+
l7W1WpLmtLGEQ/yuMLUf6Jy/vr+CRp4h+UzL+IQpCv8FfxsYE7dhf/bmWTEupBkv
|
14
|
+
yNL18lipt2jSvR3v6oAHAReotvdjqhxddpe5Holns6EQd1/xEZ7sB1YhQKJtvUrl
|
15
|
+
ZNufy1Jf1r0ldEGeA+0ISck7s+xSh9rQD2Op
|
16
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,15 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIICQzCCAawCCQCO/XWtRFck1jANBgkqhkiG9w0BAQUFADBmMQswCQYDVQQGEwJU
|
3
|
+
SDEQMA4GA1UECBMHQmFuZ2tvazEOMAwGA1UEBxMFU2lsb20xGzAZBgNVBAoTElRo
|
4
|
+
ZSBSZXF1ZXN0IE1vZHVsZTEYMBYGA1UEAxMPcmVxdWVzdC5leGFtcGxlMB4XDTEx
|
5
|
+
MTIwMzAyMjkyM1oXDTIxMTEzMDAyMjkyM1owZjELMAkGA1UEBhMCVEgxEDAOBgNV
|
6
|
+
BAgTB0Jhbmdrb2sxDjAMBgNVBAcTBVNpbG9tMRswGQYDVQQKExJUaGUgUmVxdWVz
|
7
|
+
dCBNb2R1bGUxGDAWBgNVBAMTD3JlcXVlc3QuZXhhbXBsZTCBnzANBgkqhkiG9w0B
|
8
|
+
AQEFAAOBjQAwgYkCgYEAwmctddZqlA48+NXs0yOy92DijcQV1jf87zMiYAIlNUto
|
9
|
+
wghVbTWgJU5r0pdKrD16AptnWJTzKanhItEX8XCCPgsNkq1afgTtJP7rNkwu3xcj
|
10
|
+
eIMkhJg/ay4ZnkbnhYdsii5VTU5prix6AqWRAhbkBgoA+iVyHyof8wvZyKBoFTMC
|
11
|
+
AwEAATANBgkqhkiG9w0BAQUFAAOBgQB6BybMJbpeiABgihDfEVBcAjDoQ8gUMgwV
|
12
|
+
l4NulugfKTDmArqnR9aPd4ET5jX5dkMP4bwCHYsvrcYDeWEQy7x5WWuylOdKhua4
|
13
|
+
L4cEi2uDCjqEErIG3cc1MCOk6Cl6Ld6tkIzQSf953qfdEACRytOeUqLNQcrXrqeE
|
14
|
+
c7U8F6MWLQ==
|
15
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,15 @@
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
2
|
+
MIICXgIBAAKBgQDCZy111mqUDjz41ezTI7L3YOKNxBXWN/zvMyJgAiU1S2jCCFVt
|
3
|
+
NaAlTmvSl0qsPXoCm2dYlPMpqeEi0RfxcII+Cw2SrVp+BO0k/us2TC7fFyN4gySE
|
4
|
+
mD9rLhmeRueFh2yKLlVNTmmuLHoCpZECFuQGCgD6JXIfKh/zC9nIoGgVMwIDAQAB
|
5
|
+
AoGBALXFwfUf8vHTSmGlrdZS2AGFPvEtuvldyoxi9K5u8xmdFCvxnOcLsF2RsTHt
|
6
|
+
Mu5QYWhUpNJoG+IGLTPf7RJdj/kNtEs7xXqWy4jR36kt5z5MJzqiK+QIgiO9UFWZ
|
7
|
+
fjUb6oeDnTIJA9YFBdYi97MDuL89iU/UK3LkJN3hd4rciSbpAkEA+MCkowF5kSFb
|
8
|
+
rkOTBYBXZfiAG78itDXN6DXmqb9XYY+YBh3BiQM28oxCeQYyFy6pk/nstnd4TXk6
|
9
|
+
V/ryA2g5NwJBAMgRKTY9KvxJWbESeMEFe2iBIV0c26/72Amgi7ZKUCLukLfD4tLF
|
10
|
+
+WSZdmTbbqI1079YtwaiOVfiLm45Q/3B0eUCQAaQ/0eWSGE+Yi8tdXoVszjr4GXb
|
11
|
+
G81qBi91DMu6U1It+jNfIba+MPsiHLcZJMVb4/oWBNukN7bD1nhwFWdlnu0CQQCf
|
12
|
+
Is9WHkdvz2RxbZDxb8verz/7kXXJQJhx5+rZf7jIYFxqX3yvTNv3wf2jcctJaWlZ
|
13
|
+
fVZwB193YSivcgt778xlAkEAprYUz3jczjF5r2hrgbizPzPDR94tM5BTO3ki2v3w
|
14
|
+
kbf+j2g7FNAx6kZiVN8XwfLc8xEeUGiPKwtq3ddPDFh17w==
|
15
|
+
-----END RSA PRIVATE KEY-----
|
@@ -0,0 +1,95 @@
|
|
1
|
+
var server = require('./server')
|
2
|
+
, events = require('events')
|
3
|
+
, stream = require('stream')
|
4
|
+
, assert = require('assert')
|
5
|
+
, request = require('../main.js')
|
6
|
+
;
|
7
|
+
|
8
|
+
var s = server.createServer();
|
9
|
+
|
10
|
+
var tests =
|
11
|
+
{ testGet :
|
12
|
+
{ resp : server.createGetResponse("TESTING!")
|
13
|
+
, expectBody: "TESTING!"
|
14
|
+
}
|
15
|
+
, testGetChunkBreak :
|
16
|
+
{ resp : server.createChunkResponse(
|
17
|
+
[ new Buffer([239])
|
18
|
+
, new Buffer([163])
|
19
|
+
, new Buffer([191])
|
20
|
+
, new Buffer([206])
|
21
|
+
, new Buffer([169])
|
22
|
+
, new Buffer([226])
|
23
|
+
, new Buffer([152])
|
24
|
+
, new Buffer([131])
|
25
|
+
])
|
26
|
+
, expectBody: "Ω☃"
|
27
|
+
}
|
28
|
+
, testGetBuffer :
|
29
|
+
{ resp : server.createGetResponse(new Buffer("TESTING!"))
|
30
|
+
, encoding: null
|
31
|
+
, expectBody: new Buffer("TESTING!")
|
32
|
+
}
|
33
|
+
, testGetJSON :
|
34
|
+
{ resp : server.createGetResponse('{"test":true}', 'application/json')
|
35
|
+
, json : true
|
36
|
+
, expectBody: {"test":true}
|
37
|
+
}
|
38
|
+
, testPutString :
|
39
|
+
{ resp : server.createPostValidator("PUTTINGDATA")
|
40
|
+
, method : "PUT"
|
41
|
+
, body : "PUTTINGDATA"
|
42
|
+
}
|
43
|
+
, testPutBuffer :
|
44
|
+
{ resp : server.createPostValidator("PUTTINGDATA")
|
45
|
+
, method : "PUT"
|
46
|
+
, body : new Buffer("PUTTINGDATA")
|
47
|
+
}
|
48
|
+
, testPutJSON :
|
49
|
+
{ resp : server.createPostValidator(JSON.stringify({foo: 'bar'}))
|
50
|
+
, method: "PUT"
|
51
|
+
, json: {foo: 'bar'}
|
52
|
+
}
|
53
|
+
, testPutMultipart :
|
54
|
+
{ resp: server.createPostValidator(
|
55
|
+
'--frontier\r\n' +
|
56
|
+
'content-type: text/html\r\n' +
|
57
|
+
'\r\n' +
|
58
|
+
'<html><body>Oh hi.</body></html>' +
|
59
|
+
'\r\n--frontier\r\n\r\n' +
|
60
|
+
'Oh hi.' +
|
61
|
+
'\r\n--frontier--'
|
62
|
+
)
|
63
|
+
, method: "PUT"
|
64
|
+
, multipart:
|
65
|
+
[ {'content-type': 'text/html', 'body': '<html><body>Oh hi.</body></html>'}
|
66
|
+
, {'body': 'Oh hi.'}
|
67
|
+
]
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
s.listen(s.port, function () {
|
72
|
+
|
73
|
+
var counter = 0
|
74
|
+
|
75
|
+
for (i in tests) {
|
76
|
+
(function () {
|
77
|
+
var test = tests[i]
|
78
|
+
s.on('/'+i, test.resp)
|
79
|
+
test.uri = s.url + '/' + i
|
80
|
+
request(test, function (err, resp, body) {
|
81
|
+
if (err) throw err
|
82
|
+
if (test.expectBody) {
|
83
|
+
assert.deepEqual(test.expectBody, body)
|
84
|
+
}
|
85
|
+
counter = counter - 1;
|
86
|
+
if (counter === 0) {
|
87
|
+
console.log(Object.keys(tests).length+" tests passed.")
|
88
|
+
s.close()
|
89
|
+
}
|
90
|
+
})
|
91
|
+
counter++
|
92
|
+
})()
|
93
|
+
}
|
94
|
+
})
|
95
|
+
|
@@ -0,0 +1,29 @@
|
|
1
|
+
var Cookie = require('../vendor/cookie')
|
2
|
+
, assert = require('assert');
|
3
|
+
|
4
|
+
var str = 'Sid="s543qactge.wKE61E01Bs%2BKhzmxrwrnug="; Path=/; httpOnly; Expires=Sat, 04 Dec 2010 23:27:28 GMT';
|
5
|
+
var cookie = new Cookie(str);
|
6
|
+
|
7
|
+
// test .toString()
|
8
|
+
assert.equal(cookie.toString(), str);
|
9
|
+
|
10
|
+
// test .path
|
11
|
+
assert.equal(cookie.path, '/');
|
12
|
+
|
13
|
+
// test .httpOnly
|
14
|
+
assert.equal(cookie.httpOnly, true);
|
15
|
+
|
16
|
+
// test .name
|
17
|
+
assert.equal(cookie.name, 'Sid');
|
18
|
+
|
19
|
+
// test .value
|
20
|
+
assert.equal(cookie.value, '"s543qactge.wKE61E01Bs%2BKhzmxrwrnug="');
|
21
|
+
|
22
|
+
// test .expires
|
23
|
+
assert.equal(cookie.expires instanceof Date, true);
|
24
|
+
|
25
|
+
// test .path default
|
26
|
+
var cookie = new Cookie('foo=bar', { url: 'http://foo.com/bar' });
|
27
|
+
assert.equal(cookie.path, '/bar');
|
28
|
+
|
29
|
+
console.log('All tests passed');
|
@@ -0,0 +1,90 @@
|
|
1
|
+
var Cookie = require('../vendor/cookie')
|
2
|
+
, Jar = require('../vendor/cookie/jar')
|
3
|
+
, assert = require('assert');
|
4
|
+
|
5
|
+
function expires(ms) {
|
6
|
+
return new Date(Date.now() + ms).toUTCString();
|
7
|
+
}
|
8
|
+
|
9
|
+
// test .get() expiration
|
10
|
+
(function() {
|
11
|
+
var jar = new Jar;
|
12
|
+
var cookie = new Cookie('sid=1234; path=/; expires=' + expires(1000));
|
13
|
+
jar.add(cookie);
|
14
|
+
setTimeout(function(){
|
15
|
+
var cookies = jar.get({ url: 'http://foo.com/foo' });
|
16
|
+
assert.equal(cookies.length, 1);
|
17
|
+
assert.equal(cookies[0], cookie);
|
18
|
+
setTimeout(function(){
|
19
|
+
var cookies = jar.get({ url: 'http://foo.com/foo' });
|
20
|
+
assert.equal(cookies.length, 0);
|
21
|
+
}, 1000);
|
22
|
+
}, 5);
|
23
|
+
})();
|
24
|
+
|
25
|
+
// test .get() path support
|
26
|
+
(function() {
|
27
|
+
var jar = new Jar;
|
28
|
+
var a = new Cookie('sid=1234; path=/');
|
29
|
+
var b = new Cookie('sid=1111; path=/foo/bar');
|
30
|
+
var c = new Cookie('sid=2222; path=/');
|
31
|
+
jar.add(a);
|
32
|
+
jar.add(b);
|
33
|
+
jar.add(c);
|
34
|
+
|
35
|
+
// should remove the duplicates
|
36
|
+
assert.equal(jar.cookies.length, 2);
|
37
|
+
|
38
|
+
// same name, same path, latter prevails
|
39
|
+
var cookies = jar.get({ url: 'http://foo.com/' });
|
40
|
+
assert.equal(cookies.length, 1);
|
41
|
+
assert.equal(cookies[0], c);
|
42
|
+
|
43
|
+
// same name, diff path, path specifity prevails, latter prevails
|
44
|
+
var cookies = jar.get({ url: 'http://foo.com/foo/bar' });
|
45
|
+
assert.equal(cookies.length, 1);
|
46
|
+
assert.equal(cookies[0], b);
|
47
|
+
|
48
|
+
var jar = new Jar;
|
49
|
+
var a = new Cookie('sid=1111; path=/foo/bar');
|
50
|
+
var b = new Cookie('sid=1234; path=/');
|
51
|
+
jar.add(a);
|
52
|
+
jar.add(b);
|
53
|
+
|
54
|
+
var cookies = jar.get({ url: 'http://foo.com/foo/bar' });
|
55
|
+
assert.equal(cookies.length, 1);
|
56
|
+
assert.equal(cookies[0], a);
|
57
|
+
|
58
|
+
var cookies = jar.get({ url: 'http://foo.com/' });
|
59
|
+
assert.equal(cookies.length, 1);
|
60
|
+
assert.equal(cookies[0], b);
|
61
|
+
|
62
|
+
var jar = new Jar;
|
63
|
+
var a = new Cookie('sid=1111; path=/foo/bar');
|
64
|
+
var b = new Cookie('sid=3333; path=/foo/bar');
|
65
|
+
var c = new Cookie('pid=3333; path=/foo/bar');
|
66
|
+
var d = new Cookie('sid=2222; path=/foo/');
|
67
|
+
var e = new Cookie('sid=1234; path=/');
|
68
|
+
jar.add(a);
|
69
|
+
jar.add(b);
|
70
|
+
jar.add(c);
|
71
|
+
jar.add(d);
|
72
|
+
jar.add(e);
|
73
|
+
|
74
|
+
var cookies = jar.get({ url: 'http://foo.com/foo/bar' });
|
75
|
+
assert.equal(cookies.length, 2);
|
76
|
+
assert.equal(cookies[0], b);
|
77
|
+
assert.equal(cookies[1], c);
|
78
|
+
|
79
|
+
var cookies = jar.get({ url: 'http://foo.com/foo/' });
|
80
|
+
assert.equal(cookies.length, 1);
|
81
|
+
assert.equal(cookies[0], d);
|
82
|
+
|
83
|
+
var cookies = jar.get({ url: 'http://foo.com/' });
|
84
|
+
assert.equal(cookies.length, 1);
|
85
|
+
assert.equal(cookies[0], e);
|
86
|
+
})();
|
87
|
+
|
88
|
+
setTimeout(function() {
|
89
|
+
console.log('All tests passed');
|
90
|
+
}, 1200);
|
@@ -0,0 +1,68 @@
|
|
1
|
+
var server = require('./server')
|
2
|
+
, assert = require('assert')
|
3
|
+
, request = require('../main.js')
|
4
|
+
;
|
5
|
+
|
6
|
+
var s = server.createServer();
|
7
|
+
|
8
|
+
s.listen(s.port, function () {
|
9
|
+
var counter = 0;
|
10
|
+
s.on('/get', function (req, resp) {
|
11
|
+
assert.equal(req.headers.foo, 'bar');
|
12
|
+
assert.equal(req.method, 'GET')
|
13
|
+
resp.writeHead(200, {'Content-Type': 'text/plain'});
|
14
|
+
resp.end('TESTING!');
|
15
|
+
});
|
16
|
+
|
17
|
+
// test get(string, function)
|
18
|
+
request.defaults({headers:{foo:"bar"}})(s.url + '/get', function (e, r, b){
|
19
|
+
if (e) throw e;
|
20
|
+
assert.deepEqual("TESTING!", b);
|
21
|
+
counter += 1;
|
22
|
+
});
|
23
|
+
|
24
|
+
s.on('/post', function (req, resp) {
|
25
|
+
assert.equal(req.headers.foo, 'bar');
|
26
|
+
assert.equal(req.headers['content-type'], 'application/json');
|
27
|
+
assert.equal(req.method, 'POST')
|
28
|
+
resp.writeHead(200, {'Content-Type': 'application/json'});
|
29
|
+
resp.end(JSON.stringify({foo:'bar'}));
|
30
|
+
});
|
31
|
+
|
32
|
+
// test post(string, object, function)
|
33
|
+
request.defaults({headers:{foo:"bar"}}).post(s.url + '/post', {json: true}, function (e, r, b){
|
34
|
+
if (e) throw e;
|
35
|
+
assert.deepEqual('bar', b.foo);
|
36
|
+
counter += 1;
|
37
|
+
});
|
38
|
+
|
39
|
+
s.on('/del', function (req, resp) {
|
40
|
+
assert.equal(req.headers.foo, 'bar');
|
41
|
+
assert.equal(req.method, 'DELETE')
|
42
|
+
resp.writeHead(200, {'Content-Type': 'application/json'});
|
43
|
+
resp.end(JSON.stringify({foo:'bar'}));
|
44
|
+
});
|
45
|
+
|
46
|
+
// test .del(string, function)
|
47
|
+
request.defaults({headers:{foo:"bar"}, json:true}).del(s.url + '/del', function (e, r, b){
|
48
|
+
if (e) throw e;
|
49
|
+
assert.deepEqual('bar', b.foo);
|
50
|
+
counter += 1;
|
51
|
+
});
|
52
|
+
|
53
|
+
s.on('/head', function (req, resp) {
|
54
|
+
assert.equal(req.headers.foo, 'bar');
|
55
|
+
assert.equal(req.method, 'HEAD')
|
56
|
+
resp.writeHead(200, {'Content-Type': 'text/plain'});
|
57
|
+
resp.end();
|
58
|
+
});
|
59
|
+
|
60
|
+
// test head.(object, function)
|
61
|
+
request.defaults({headers:{foo:"bar"}}).head({uri: s.url + '/head'}, function (e, r, b){
|
62
|
+
if (e) throw e;
|
63
|
+
counter += 1;
|
64
|
+
console.log(counter.toString() + " tests passed.")
|
65
|
+
s.close()
|
66
|
+
});
|
67
|
+
|
68
|
+
})
|