vulcan 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. data/lib/vulcan/cli.rb +20 -10
  2. data/lib/vulcan/version.rb +1 -1
  3. data/server/Procfile +1 -1
  4. data/server/bin/web +10 -0
  5. data/server/lib/cloudant.coffee +20 -0
  6. data/server/lib/logger.coffee +17 -0
  7. data/server/lib/on.coffee +10 -0
  8. data/server/lib/spawner.coffee +65 -0
  9. data/server/node_modules/coffee-script/CNAME +1 -0
  10. data/server/node_modules/coffee-script/LICENSE +22 -0
  11. data/server/node_modules/coffee-script/README +51 -0
  12. data/server/node_modules/coffee-script/Rakefile +78 -0
  13. data/server/node_modules/coffee-script/bin/cake +7 -0
  14. data/server/node_modules/coffee-script/bin/coffee +7 -0
  15. data/server/node_modules/coffee-script/extras/jsl.conf +44 -0
  16. data/server/node_modules/coffee-script/lib/coffee-script/browser.js +92 -0
  17. data/server/node_modules/coffee-script/lib/coffee-script/cake.js +111 -0
  18. data/server/node_modules/coffee-script/lib/coffee-script/coffee-script.js +167 -0
  19. data/server/node_modules/coffee-script/lib/coffee-script/command.js +500 -0
  20. data/server/node_modules/coffee-script/lib/coffee-script/grammar.js +606 -0
  21. data/server/node_modules/coffee-script/lib/coffee-script/helpers.js +77 -0
  22. data/server/node_modules/coffee-script/lib/coffee-script/index.js +11 -0
  23. data/server/node_modules/coffee-script/lib/coffee-script/lexer.js +788 -0
  24. data/server/node_modules/coffee-script/lib/coffee-script/nodes.js +2986 -0
  25. data/server/node_modules/coffee-script/lib/coffee-script/optparse.js +138 -0
  26. data/server/node_modules/coffee-script/lib/coffee-script/parser.js +683 -0
  27. data/server/node_modules/coffee-script/lib/coffee-script/repl.js +261 -0
  28. data/server/node_modules/coffee-script/lib/coffee-script/rewriter.js +349 -0
  29. data/server/node_modules/coffee-script/lib/coffee-script/scope.js +146 -0
  30. data/server/node_modules/coffee-script/package.json +55 -0
  31. data/server/node_modules/connect-form/History.md +0 -6
  32. data/server/node_modules/connect-form/lib/connect-form.js +2 -4
  33. data/server/node_modules/connect-form/node_modules/formidable/Readme.md +64 -36
  34. data/server/node_modules/connect-form/node_modules/formidable/lib/incoming_form.js +5 -1
  35. data/server/node_modules/connect-form/node_modules/formidable/package.json +20 -6
  36. data/server/node_modules/connect-form/node_modules/formidable/test/common.js +5 -6
  37. data/server/node_modules/connect-form/node_modules/formidable/test/fixture/file/funkyfilename.txt +1 -0
  38. data/server/node_modules/connect-form/node_modules/formidable/test/fixture/js/special-chars-in-filename.js +1 -1
  39. data/server/node_modules/connect-form/node_modules/formidable/test/{slow → integration}/test-fixtures.js +38 -33
  40. data/server/node_modules/connect-form/node_modules/formidable/test/legacy/simple/test-incoming-form.js +11 -0
  41. data/server/node_modules/connect-form/node_modules/formidable/test/run.js +1 -6
  42. data/server/node_modules/connect-form/node_modules/formidable/test/unit/test-incoming-form.js +63 -0
  43. data/server/node_modules/connect-form/package.json +27 -5
  44. data/server/node_modules/cradle/README.md +10 -10
  45. data/server/node_modules/cradle/lib/cradle.js +117 -523
  46. data/server/node_modules/cradle/lib/cradle/database/attachments.js +120 -0
  47. data/server/node_modules/cradle/lib/cradle/database/changes.js +56 -0
  48. data/server/node_modules/cradle/lib/cradle/database/documents.js +215 -0
  49. data/server/node_modules/cradle/lib/cradle/database/index.js +65 -0
  50. data/server/node_modules/cradle/lib/cradle/database/views.js +125 -0
  51. data/server/node_modules/cradle/node_modules/follow/LICENSE +202 -0
  52. data/server/node_modules/cradle/node_modules/follow/README.md +164 -0
  53. data/server/node_modules/cradle/node_modules/follow/Rakefile +54 -0
  54. data/server/node_modules/cradle/node_modules/follow/api.js +35 -0
  55. data/server/node_modules/cradle/node_modules/follow/browser/eventemitter2.js +453 -0
  56. data/server/node_modules/cradle/node_modules/follow/browser/export.js +78 -0
  57. data/server/node_modules/cradle/node_modules/follow/browser/index.html +14 -0
  58. data/server/node_modules/cradle/node_modules/follow/browser/jquery-1.6.1.min.js +18 -0
  59. data/server/node_modules/cradle/node_modules/follow/browser/log4js.js +46 -0
  60. data/server/node_modules/cradle/node_modules/follow/browser/main.js +92 -0
  61. data/server/node_modules/cradle/node_modules/follow/browser/querystring.js +28 -0
  62. data/server/node_modules/cradle/node_modules/follow/browser/request.jquery.js +237 -0
  63. data/server/node_modules/cradle/node_modules/follow/browser/require.js +33 -0
  64. data/server/node_modules/cradle/node_modules/follow/browser/util.js +28 -0
  65. data/server/node_modules/cradle/node_modules/follow/cli.js +101 -0
  66. data/server/node_modules/cradle/node_modules/follow/lib/feed.js +556 -0
  67. data/server/node_modules/cradle/node_modules/follow/lib/index.js +66 -0
  68. data/server/node_modules/cradle/node_modules/follow/lib/stream.js +305 -0
  69. data/server/node_modules/cradle/node_modules/follow/node_modules/request/LICENSE +55 -0
  70. data/server/node_modules/cradle/node_modules/follow/node_modules/request/README.md +285 -0
  71. data/server/node_modules/cradle/node_modules/follow/node_modules/request/main.js +618 -0
  72. data/server/node_modules/cradle/node_modules/follow/node_modules/request/mimetypes.js +146 -0
  73. data/server/node_modules/cradle/node_modules/follow/node_modules/request/oauth.js +34 -0
  74. data/server/node_modules/cradle/node_modules/follow/node_modules/request/package.json +42 -0
  75. data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/googledoodle.png +0 -0
  76. data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/run.sh +6 -0
  77. data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/server.js +57 -0
  78. data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/test-body.js +90 -0
  79. data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/test-cookie.js +29 -0
  80. data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/test-cookiejar.js +90 -0
  81. data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/test-errors.js +30 -0
  82. data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/test-oauth.js +109 -0
  83. data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/test-pipes.js +167 -0
  84. data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/test-proxy.js +39 -0
  85. data/server/node_modules/cradle/node_modules/follow/node_modules/request/tests/test-timeout.js +87 -0
  86. data/server/node_modules/cradle/node_modules/follow/node_modules/request/uuid.js +19 -0
  87. data/server/node_modules/cradle/node_modules/follow/node_modules/request/vendor/cookie/index.js +55 -0
  88. data/server/node_modules/cradle/node_modules/follow/node_modules/request/vendor/cookie/jar.js +72 -0
  89. data/server/node_modules/cradle/node_modules/follow/package.json +45 -0
  90. data/server/node_modules/cradle/node_modules/follow/test/couch.js +153 -0
  91. data/server/node_modules/cradle/node_modules/follow/test/follow.js +136 -0
  92. data/server/node_modules/cradle/node_modules/follow/test/issues.js +178 -0
  93. data/server/node_modules/cradle/node_modules/follow/test/issues/10.js +24 -0
  94. data/server/node_modules/cradle/node_modules/follow/test/stream.js +493 -0
  95. data/server/node_modules/cradle/node_modules/request/LICENSE +55 -0
  96. data/server/node_modules/cradle/node_modules/request/README.md +287 -0
  97. data/server/node_modules/cradle/node_modules/request/forever.js +103 -0
  98. data/server/node_modules/cradle/node_modules/request/main.js +913 -0
  99. data/server/node_modules/cradle/node_modules/request/mimetypes.js +152 -0
  100. data/server/node_modules/cradle/node_modules/request/oauth.js +34 -0
  101. data/server/node_modules/cradle/node_modules/request/package.json +42 -0
  102. data/server/node_modules/cradle/node_modules/request/tests/googledoodle.png +0 -0
  103. data/server/node_modules/cradle/node_modules/request/tests/run.js +38 -0
  104. data/server/node_modules/cradle/node_modules/request/tests/server.js +82 -0
  105. data/server/node_modules/cradle/node_modules/request/tests/squid.conf +77 -0
  106. data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/ca.cnf +20 -0
  107. data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/ca.crl +0 -0
  108. data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/ca.crt +17 -0
  109. data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/ca.csr +13 -0
  110. data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/ca.key +18 -0
  111. data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/ca.srl +1 -0
  112. data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/server.cnf +19 -0
  113. data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/server.crt +16 -0
  114. data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/server.csr +11 -0
  115. data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/server.js +28 -0
  116. data/server/node_modules/cradle/node_modules/request/tests/ssl/ca/server.key +9 -0
  117. data/server/node_modules/cradle/node_modules/request/tests/ssl/npm-ca.crt +16 -0
  118. data/server/node_modules/cradle/node_modules/request/tests/ssl/test.crt +15 -0
  119. data/server/node_modules/cradle/node_modules/request/tests/ssl/test.key +15 -0
  120. data/server/node_modules/cradle/node_modules/request/tests/test-body.js +95 -0
  121. data/server/node_modules/cradle/node_modules/request/tests/test-cookie.js +29 -0
  122. data/server/node_modules/cradle/node_modules/request/tests/test-cookiejar.js +90 -0
  123. data/server/node_modules/cradle/node_modules/request/tests/test-defaults.js +68 -0
  124. data/server/node_modules/cradle/node_modules/request/tests/test-errors.js +37 -0
  125. data/server/node_modules/cradle/node_modules/request/tests/test-headers.js +52 -0
  126. data/server/node_modules/cradle/node_modules/request/tests/test-httpModule.js +94 -0
  127. data/server/node_modules/cradle/node_modules/request/tests/test-https-strict.js +97 -0
  128. data/server/node_modules/cradle/node_modules/request/tests/test-https.js +86 -0
  129. data/server/node_modules/cradle/node_modules/request/tests/test-oauth.js +117 -0
  130. data/server/node_modules/cradle/node_modules/request/tests/test-params.js +92 -0
  131. data/server/node_modules/cradle/node_modules/request/tests/test-pipes.js +202 -0
  132. data/server/node_modules/cradle/node_modules/request/tests/test-proxy.js +39 -0
  133. data/server/node_modules/cradle/node_modules/request/tests/test-qs.js +28 -0
  134. data/server/node_modules/cradle/node_modules/request/tests/test-redirect.js +154 -0
  135. data/server/node_modules/cradle/node_modules/request/tests/test-timeout.js +87 -0
  136. data/server/node_modules/cradle/node_modules/request/tests/test-toJSON.js +14 -0
  137. data/server/node_modules/cradle/node_modules/request/tests/test-tunnel.js +61 -0
  138. data/server/node_modules/cradle/node_modules/request/tunnel.js +229 -0
  139. data/server/node_modules/cradle/node_modules/request/uuid.js +19 -0
  140. data/server/node_modules/cradle/node_modules/request/vendor/cookie/index.js +65 -0
  141. data/server/node_modules/cradle/node_modules/request/vendor/cookie/jar.js +72 -0
  142. data/server/node_modules/cradle/node_modules/vargs/package.json +33 -10
  143. data/server/node_modules/cradle/package.json +50 -12
  144. data/server/node_modules/cradle/test/cache-test.js +1 -4
  145. data/server/node_modules/cradle/test/connection-test.js +179 -0
  146. data/server/node_modules/cradle/test/database-attachment-test.js +344 -0
  147. data/server/node_modules/cradle/test/database-cache-test.js +132 -0
  148. data/server/node_modules/cradle/test/database-test.js +219 -0
  149. data/server/node_modules/cradle/test/database-view-test.js +141 -0
  150. data/server/node_modules/cradle/test/fixtures/databases.json +28 -1
  151. data/server/node_modules/cradle/test/helpers/seed.js +14 -5
  152. data/server/node_modules/cradle/test/response-test.js +1 -1
  153. data/server/node_modules/express/History.md +16 -0
  154. data/server/node_modules/express/bin/express +7 -6
  155. data/server/node_modules/express/lib-cov/application.js +510 -0
  156. data/server/node_modules/express/lib-cov/express.js +65 -0
  157. data/server/node_modules/express/lib-cov/middleware.js +54 -0
  158. data/server/node_modules/express/lib-cov/request.js +225 -0
  159. data/server/node_modules/express/lib-cov/response.js +611 -0
  160. data/server/node_modules/express/lib-cov/router/collection.js +40 -0
  161. data/server/node_modules/express/lib-cov/router/index.js +515 -0
  162. data/server/node_modules/express/lib-cov/router/methods.js +9 -0
  163. data/server/node_modules/express/lib-cov/router/route.js +68 -0
  164. data/server/node_modules/express/lib-cov/utils.js +151 -0
  165. data/server/node_modules/express/lib-cov/view.js +81 -0
  166. data/server/node_modules/express/lib/express.js +1 -1
  167. data/server/node_modules/express/lib/http.js +1 -2
  168. data/server/node_modules/express/lib/request.js +2 -2
  169. data/server/node_modules/express/lib/router/methods.js +10 -1
  170. data/server/node_modules/express/node_modules/connect/lib/connect.js +1 -1
  171. data/server/node_modules/express/node_modules/connect/lib/http.js +3 -2
  172. data/server/node_modules/express/node_modules/connect/lib/middleware/limit.js +0 -2
  173. data/server/node_modules/express/node_modules/connect/lib/middleware/session.js +1 -2
  174. data/server/node_modules/express/node_modules/connect/node_modules/formidable/Readme.md +42 -25
  175. data/server/node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js +1 -0
  176. data/server/node_modules/express/node_modules/connect/node_modules/formidable/package.json +14 -3
  177. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-incoming-form.js +11 -0
  178. data/server/node_modules/express/node_modules/connect/package.json +35 -7
  179. data/server/node_modules/express/node_modules/mime/package.json +30 -8
  180. data/server/node_modules/express/node_modules/mkdirp/README.markdown +35 -2
  181. data/server/node_modules/express/node_modules/mkdirp/examples/pow.js +1 -1
  182. data/server/node_modules/express/node_modules/mkdirp/index.js +72 -13
  183. data/server/node_modules/express/node_modules/mkdirp/package.json +39 -21
  184. data/server/node_modules/express/node_modules/mkdirp/test/chmod.js +38 -0
  185. data/server/node_modules/express/node_modules/mkdirp/test/clobber.js +37 -0
  186. data/server/node_modules/express/node_modules/mkdirp/test/perm.js +32 -0
  187. data/server/node_modules/express/node_modules/mkdirp/test/perm_sync.js +39 -0
  188. data/server/node_modules/express/node_modules/mkdirp/test/sync.js +27 -0
  189. data/server/node_modules/express/node_modules/mkdirp/test/umask.js +28 -0
  190. data/server/node_modules/express/node_modules/mkdirp/test/umask_sync.js +27 -0
  191. data/server/node_modules/express/node_modules/qs/History.md +10 -0
  192. data/server/node_modules/express/node_modules/qs/Readme.md +9 -2
  193. data/server/node_modules/express/node_modules/qs/examples.js +3 -0
  194. data/server/node_modules/express/node_modules/qs/lib/querystring.js +8 -6
  195. data/server/node_modules/express/node_modules/qs/package.json +26 -8
  196. data/server/node_modules/express/node_modules/qs/test/parse.js +13 -1
  197. data/server/node_modules/express/node_modules/qs/test/stringify.js +45 -37
  198. data/server/node_modules/express/package.json +55 -16
  199. data/server/node_modules/express/test.js +41 -0
  200. data/server/node_modules/knox/package.json +26 -4
  201. data/server/node_modules/node-uuid/package.json +40 -11
  202. data/server/node_modules/node-uuid/test/test.js +1 -1
  203. data/server/node_modules/nodemon/README.md +120 -0
  204. data/server/node_modules/nodemon/nodemon.js +518 -0
  205. data/server/node_modules/nodemon/nodemonignore.example +11 -0
  206. data/server/node_modules/nodemon/package.json +49 -0
  207. data/server/node_modules/restler/README.md +144 -94
  208. data/server/node_modules/restler/lib/multipartform.js +2 -0
  209. data/server/node_modules/restler/lib/restler.js +218 -61
  210. data/server/node_modules/restler/package.json +35 -8
  211. data/server/node_modules/restler/test/all.js +6 -1
  212. data/server/node_modules/restler/test/restler.js +624 -118
  213. data/server/package.json +14 -10
  214. data/server/web.coffee +64 -0
  215. data/server/web.js +15 -3
  216. metadata +170 -57
  217. data/server/index.js +0 -14
  218. data/server/node_modules/connect-form/LICENSE +0 -22
  219. data/server/node_modules/connect-form/index.js +0 -100
  220. data/server/node_modules/connect-form/node_modules/formidable/test/fast/test-incoming-form.js +0 -45
  221. data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/no-filename/generic.http +0 -13
  222. data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-chrome-13.http +0 -26
  223. data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-firefox-3.6.http +0 -24
  224. data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-safari-5.http +0 -23
  225. data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-chrome-12.http +0 -24
  226. data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-7.http +0 -22
  227. data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-8.http +0 -22
  228. data/server/node_modules/connect-form/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-safari-5.http +0 -22
  229. data/server/node_modules/connect-form/node_modules/formidable/test/fixture/multi_video.upload +0 -0
  230. data/server/node_modules/cradle/Makefile +0 -10
  231. data/server/node_modules/cradle/test/cradle-test.js +0 -650
  232. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/no-filename/generic.http +0 -13
  233. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-chrome-13.http +0 -26
  234. 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
  235. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-safari-5.http +0 -23
  236. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-chrome-12.http +0 -24
  237. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-7.http +0 -22
  238. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-8.http +0 -22
  239. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-safari-5.http +0 -22
  240. data/server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/multi_video.upload +0 -0
  241. data/server/node_modules/express/node_modules/connect/test.js +0 -52
  242. data/server/node_modules/express/testing/foo/app.js +0 -35
  243. data/server/node_modules/express/testing/foo/package.json +0 -9
  244. data/server/node_modules/express/testing/foo/public/stylesheets/style.css +0 -8
  245. data/server/node_modules/express/testing/foo/routes/index.js +0 -10
  246. data/server/node_modules/express/testing/foo/views/index.jade +0 -2
  247. data/server/node_modules/express/testing/foo/views/layout.jade +0 -6
  248. data/server/node_modules/express/testing/index.js +0 -43
  249. data/server/node_modules/express/testing/public/test.txt +0 -2971
  250. data/server/node_modules/express/testing/views/page.html +0 -1
  251. data/server/node_modules/express/testing/views/page.jade +0 -3
  252. data/server/node_modules/express/testing/views/test.md +0 -1
  253. data/server/node_modules/express/testing/views/user/index.jade +0 -1
  254. data/server/node_modules/express/testing/views/user/list.jade +0 -1
  255. data/server/node_modules/knox/lib/knox/mime/index.js +0 -308
  256. data/server/node_modules/knox/lib/knox/mime/test.js +0 -59
  257. data/server/node_modules/node-uuid/test/benchmark-native +0 -0
  258. data/server/node_modules/on/index.js +0 -13
  259. data/server/node_modules/restler/test/test_helper.js +0 -163
  260. data/server/node_modules/spawner/index.js +0 -106
@@ -0,0 +1,146 @@
1
+ // from http://github.com/felixge/node-paperboy
2
+ exports.types = {
3
+ "aiff":"audio/x-aiff",
4
+ "arj":"application/x-arj-compressed",
5
+ "asf":"video/x-ms-asf",
6
+ "asx":"video/x-ms-asx",
7
+ "au":"audio/ulaw",
8
+ "avi":"video/x-msvideo",
9
+ "bcpio":"application/x-bcpio",
10
+ "ccad":"application/clariscad",
11
+ "cod":"application/vnd.rim.cod",
12
+ "com":"application/x-msdos-program",
13
+ "cpio":"application/x-cpio",
14
+ "cpt":"application/mac-compactpro",
15
+ "csh":"application/x-csh",
16
+ "css":"text/css",
17
+ "deb":"application/x-debian-package",
18
+ "dl":"video/dl",
19
+ "doc":"application/msword",
20
+ "drw":"application/drafting",
21
+ "dvi":"application/x-dvi",
22
+ "dwg":"application/acad",
23
+ "dxf":"application/dxf",
24
+ "dxr":"application/x-director",
25
+ "etx":"text/x-setext",
26
+ "ez":"application/andrew-inset",
27
+ "fli":"video/x-fli",
28
+ "flv":"video/x-flv",
29
+ "gif":"image/gif",
30
+ "gl":"video/gl",
31
+ "gtar":"application/x-gtar",
32
+ "gz":"application/x-gzip",
33
+ "hdf":"application/x-hdf",
34
+ "hqx":"application/mac-binhex40",
35
+ "html":"text/html",
36
+ "ice":"x-conference/x-cooltalk",
37
+ "ico":"image/x-icon",
38
+ "ief":"image/ief",
39
+ "igs":"model/iges",
40
+ "ips":"application/x-ipscript",
41
+ "ipx":"application/x-ipix",
42
+ "jad":"text/vnd.sun.j2me.app-descriptor",
43
+ "jar":"application/java-archive",
44
+ "jpeg":"image/jpeg",
45
+ "jpg":"image/jpeg",
46
+ "js":"text/javascript",
47
+ "json":"application/json",
48
+ "latex":"application/x-latex",
49
+ "lsp":"application/x-lisp",
50
+ "lzh":"application/octet-stream",
51
+ "m":"text/plain",
52
+ "m3u":"audio/x-mpegurl",
53
+ "man":"application/x-troff-man",
54
+ "me":"application/x-troff-me",
55
+ "midi":"audio/midi",
56
+ "mif":"application/x-mif",
57
+ "mime":"www/mime",
58
+ "movie":"video/x-sgi-movie",
59
+ "mustache":"text/plain",
60
+ "mp4":"video/mp4",
61
+ "mpg":"video/mpeg",
62
+ "mpga":"audio/mpeg",
63
+ "ms":"application/x-troff-ms",
64
+ "nc":"application/x-netcdf",
65
+ "oda":"application/oda",
66
+ "ogm":"application/ogg",
67
+ "pbm":"image/x-portable-bitmap",
68
+ "pdf":"application/pdf",
69
+ "pgm":"image/x-portable-graymap",
70
+ "pgn":"application/x-chess-pgn",
71
+ "pgp":"application/pgp",
72
+ "pm":"application/x-perl",
73
+ "png":"image/png",
74
+ "pnm":"image/x-portable-anymap",
75
+ "ppm":"image/x-portable-pixmap",
76
+ "ppz":"application/vnd.ms-powerpoint",
77
+ "pre":"application/x-freelance",
78
+ "prt":"application/pro_eng",
79
+ "ps":"application/postscript",
80
+ "qt":"video/quicktime",
81
+ "ra":"audio/x-realaudio",
82
+ "rar":"application/x-rar-compressed",
83
+ "ras":"image/x-cmu-raster",
84
+ "rgb":"image/x-rgb",
85
+ "rm":"audio/x-pn-realaudio",
86
+ "rpm":"audio/x-pn-realaudio-plugin",
87
+ "rtf":"text/rtf",
88
+ "rtx":"text/richtext",
89
+ "scm":"application/x-lotusscreencam",
90
+ "set":"application/set",
91
+ "sgml":"text/sgml",
92
+ "sh":"application/x-sh",
93
+ "shar":"application/x-shar",
94
+ "silo":"model/mesh",
95
+ "sit":"application/x-stuffit",
96
+ "skt":"application/x-koan",
97
+ "smil":"application/smil",
98
+ "snd":"audio/basic",
99
+ "sol":"application/solids",
100
+ "spl":"application/x-futuresplash",
101
+ "src":"application/x-wais-source",
102
+ "stl":"application/SLA",
103
+ "stp":"application/STEP",
104
+ "sv4cpio":"application/x-sv4cpio",
105
+ "sv4crc":"application/x-sv4crc",
106
+ "svg":"image/svg+xml",
107
+ "swf":"application/x-shockwave-flash",
108
+ "tar":"application/x-tar",
109
+ "tcl":"application/x-tcl",
110
+ "tex":"application/x-tex",
111
+ "texinfo":"application/x-texinfo",
112
+ "tgz":"application/x-tar-gz",
113
+ "tiff":"image/tiff",
114
+ "tr":"application/x-troff",
115
+ "tsi":"audio/TSP-audio",
116
+ "tsp":"application/dsptype",
117
+ "tsv":"text/tab-separated-values",
118
+ "unv":"application/i-deas",
119
+ "ustar":"application/x-ustar",
120
+ "vcd":"application/x-cdlink",
121
+ "vda":"application/vda",
122
+ "vivo":"video/vnd.vivo",
123
+ "vrm":"x-world/x-vrml",
124
+ "wav":"audio/x-wav",
125
+ "wax":"audio/x-ms-wax",
126
+ "wma":"audio/x-ms-wma",
127
+ "wmv":"video/x-ms-wmv",
128
+ "wmx":"video/x-ms-wmx",
129
+ "wrl":"model/vrml",
130
+ "wvx":"video/x-ms-wvx",
131
+ "xbm":"image/x-xbitmap",
132
+ "xlw":"application/vnd.ms-excel",
133
+ "xml":"text/xml",
134
+ "xpm":"image/x-xpixmap",
135
+ "xwd":"image/x-xwindowdump",
136
+ "xyz":"chemical/x-pdb",
137
+ "zip":"application/zip",
138
+ };
139
+
140
+ exports.lookup = function(ext, defaultType) {
141
+ defaultType = defaultType || 'application/octet-stream';
142
+
143
+ return (ext in exports.types)
144
+ ? exports.types[ext]
145
+ : defaultType;
146
+ };
@@ -0,0 +1,34 @@
1
+ var crypto = require('crypto')
2
+ , qs = require('querystring')
3
+ ;
4
+
5
+ function sha1 (key, body) {
6
+ return crypto.createHmac('sha1', key).update(body).digest('base64')
7
+ }
8
+
9
+ function rfc3986 (str) {
10
+ return encodeURIComponent(str)
11
+ .replace('!','%21')
12
+ .replace('*','%2A')
13
+ .replace('(','%28')
14
+ .replace(')','%29')
15
+ .replace("'",'%27')
16
+ ;
17
+ }
18
+
19
+ function hmacsign (httpMethod, base_uri, params, consumer_secret, token_secret, body) {
20
+ // adapted from https://dev.twitter.com/docs/auth/oauth
21
+ var base =
22
+ httpMethod + "&" +
23
+ encodeURIComponent( base_uri ) + "&" +
24
+ Object.keys(params).sort().map(function (i) {
25
+ // big WTF here with the escape + encoding but it's what twitter wants
26
+ return escape(rfc3986(i)) + "%3D" + escape(rfc3986(params[i]))
27
+ }).join("%26")
28
+ var key = consumer_secret + '&'
29
+ if (token_secret) key += token_secret
30
+ return sha1(key, base)
31
+ }
32
+
33
+ exports.hmacsign = hmacsign
34
+ exports.rfc3986 = rfc3986
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "request",
3
+ "description": "Simplified HTTP request client.",
4
+ "tags": [
5
+ "http",
6
+ "simple",
7
+ "util",
8
+ "utility"
9
+ ],
10
+ "version": "2.2.9",
11
+ "author": {
12
+ "name": "Mikeal Rogers",
13
+ "email": "mikeal.rogers@gmail.com"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git://github.com/mikeal/request.git"
18
+ },
19
+ "bugs": {
20
+ "url": "http://github.com/mikeal/request/issues"
21
+ },
22
+ "engines": [
23
+ "node >= 0.3.6"
24
+ ],
25
+ "main": "./main",
26
+ "scripts": {
27
+ "test": "bash tests/run.sh"
28
+ },
29
+ "_npmUser": {
30
+ "name": "ddollar",
31
+ "email": "ddollar@gmail.com"
32
+ },
33
+ "_id": "request@2.2.9",
34
+ "dependencies": {},
35
+ "devDependencies": {},
36
+ "optionalDependencies": {},
37
+ "_engineSupported": true,
38
+ "_npmVersion": "1.1.21",
39
+ "_nodeVersion": "v0.6.17",
40
+ "_defaultsLoaded": true,
41
+ "_from": "request@~2.2.5"
42
+ }
@@ -0,0 +1,6 @@
1
+ FAILS=0
2
+ for i in tests/test-*.js; do
3
+ echo $i
4
+ node $i || let FAILS++
5
+ done
6
+ exit $FAILS
@@ -0,0 +1,57 @@
1
+ var http = require('http')
2
+ , events = require('events')
3
+ , stream = require('stream')
4
+ , assert = require('assert')
5
+ ;
6
+
7
+ exports.createServer = function (port) {
8
+ port = port || 6767
9
+ var s = http.createServer(function (req, resp) {
10
+ s.emit(req.url, req, resp);
11
+ })
12
+ s.port = port
13
+ s.url = 'http://localhost:'+port
14
+ return s;
15
+ }
16
+
17
+ exports.createPostStream = function (text) {
18
+ var postStream = new stream.Stream();
19
+ postStream.writeable = true;
20
+ postStream.readable = true;
21
+ setTimeout(function () {postStream.emit('data', new Buffer(text)); postStream.emit('end')}, 0);
22
+ return postStream;
23
+ }
24
+ exports.createPostValidator = function (text) {
25
+ var l = function (req, resp) {
26
+ var r = '';
27
+ req.on('data', function (chunk) {r += chunk})
28
+ req.on('end', function () {
29
+ if (r !== text) console.log(r, text);
30
+ assert.equal(r, text)
31
+ resp.writeHead(200, {'content-type':'text/plain'})
32
+ resp.write('OK')
33
+ resp.end()
34
+ })
35
+ }
36
+ return l;
37
+ }
38
+ exports.createGetResponse = function (text, contentType) {
39
+ var l = function (req, resp) {
40
+ contentType = contentType || 'text/plain'
41
+ resp.writeHead(200, {'content-type':contentType})
42
+ resp.write(text)
43
+ resp.end()
44
+ }
45
+ return l;
46
+ }
47
+ exports.createChunkResponse = function (chunks, contentType) {
48
+ var l = function (req, resp) {
49
+ contentType = contentType || 'text/plain'
50
+ resp.writeHead(200, {'content-type':contentType})
51
+ chunks.forEach(function (chunk) {
52
+ resp.write(chunk)
53
+ })
54
+ resp.end()
55
+ }
56
+ return l;
57
+ }
@@ -0,0 +1,90 @@
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
+ , testGetJSON :
29
+ { resp : server.createGetResponse('{"test":true}', 'application/json')
30
+ , json : true
31
+ , expectBody: {"test":true}
32
+ }
33
+ , testPutString :
34
+ { resp : server.createPostValidator("PUTTINGDATA")
35
+ , method : "PUT"
36
+ , body : "PUTTINGDATA"
37
+ }
38
+ , testPutBuffer :
39
+ { resp : server.createPostValidator("PUTTINGDATA")
40
+ , method : "PUT"
41
+ , body : new Buffer("PUTTINGDATA")
42
+ }
43
+ , testPutJSON :
44
+ { resp : server.createPostValidator(JSON.stringify({foo: 'bar'}))
45
+ , method: "PUT"
46
+ , json: {foo: 'bar'}
47
+ }
48
+ , testPutMultipart :
49
+ { resp: server.createPostValidator(
50
+ '--frontier\r\n' +
51
+ 'content-type: text/html\r\n' +
52
+ '\r\n' +
53
+ '<html><body>Oh hi.</body></html>' +
54
+ '\r\n--frontier\r\n\r\n' +
55
+ 'Oh hi.' +
56
+ '\r\n--frontier--'
57
+ )
58
+ , method: "PUT"
59
+ , multipart:
60
+ [ {'content-type': 'text/html', 'body': '<html><body>Oh hi.</body></html>'}
61
+ , {'body': 'Oh hi.'}
62
+ ]
63
+ }
64
+ }
65
+
66
+ s.listen(s.port, function () {
67
+
68
+ var counter = 0
69
+
70
+ for (i in tests) {
71
+ (function () {
72
+ var test = tests[i]
73
+ s.on('/'+i, test.resp)
74
+ test.uri = s.url + '/' + i
75
+ request(test, function (err, resp, body) {
76
+ if (err) throw err
77
+ if (test.expectBody) {
78
+ assert.deepEqual(test.expectBody, body)
79
+ }
80
+ counter = counter - 1;
81
+ if (counter === 0) {
82
+ console.log(Object.keys(tests).length+" tests passed.")
83
+ s.close()
84
+ }
85
+ })
86
+ counter++
87
+ })()
88
+ }
89
+ })
90
+
@@ -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);