webpack_rails 0.3.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (353) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webpack_rails/ErrorMessagePlugin.js +37 -0
  3. data/lib/webpack_rails/engine.rb +6 -5
  4. data/lib/webpack_rails/node_modules/cors/CONTRIBUTING.md +35 -0
  5. data/lib/webpack_rails/node_modules/cors/LICENSE +9 -0
  6. data/lib/webpack_rails/node_modules/cors/README.md +192 -0
  7. data/lib/webpack_rails/node_modules/cors/lib/index.js +242 -0
  8. data/lib/webpack_rails/node_modules/cors/node_modules/vary/HISTORY.md +29 -0
  9. data/lib/webpack_rails/node_modules/cors/node_modules/vary/LICENSE +22 -0
  10. data/lib/webpack_rails/node_modules/cors/node_modules/vary/README.md +91 -0
  11. data/lib/webpack_rails/node_modules/cors/node_modules/vary/index.js +124 -0
  12. data/lib/webpack_rails/node_modules/cors/node_modules/vary/package.json +72 -0
  13. data/lib/webpack_rails/node_modules/cors/package.json +79 -0
  14. data/lib/webpack_rails/node_modules/cors/test/basic-auth.js +40 -0
  15. data/lib/webpack_rails/node_modules/cors/test/body-events.js +81 -0
  16. data/lib/webpack_rails/node_modules/cors/test/cors.js +652 -0
  17. data/lib/webpack_rails/node_modules/cors/test/error-response.js +77 -0
  18. data/lib/webpack_rails/node_modules/cors/test/example-app.js +98 -0
  19. data/lib/webpack_rails/node_modules/cors/test/issue-2.js +56 -0
  20. data/lib/webpack_rails/node_modules/cors/test/issue-31.js +58 -0
  21. data/lib/webpack_rails/node_modules/cors/test/mocha.opts +3 -0
  22. data/lib/webpack_rails/node_modules/express/History.md +3025 -0
  23. data/lib/webpack_rails/node_modules/express/LICENSE +24 -0
  24. data/lib/webpack_rails/node_modules/express/Readme.md +138 -0
  25. data/lib/webpack_rails/node_modules/express/index.js +11 -0
  26. data/lib/webpack_rails/node_modules/express/lib/application.js +643 -0
  27. data/lib/webpack_rails/node_modules/express/lib/express.js +103 -0
  28. data/lib/webpack_rails/node_modules/express/lib/middleware/init.js +36 -0
  29. data/lib/webpack_rails/node_modules/express/lib/middleware/query.js +51 -0
  30. data/lib/webpack_rails/node_modules/express/lib/request.js +489 -0
  31. data/lib/webpack_rails/node_modules/express/lib/response.js +1053 -0
  32. data/lib/webpack_rails/node_modules/express/lib/router/index.js +645 -0
  33. data/lib/webpack_rails/node_modules/express/lib/router/layer.js +176 -0
  34. data/lib/webpack_rails/node_modules/express/lib/router/route.js +210 -0
  35. data/lib/webpack_rails/node_modules/express/lib/utils.js +300 -0
  36. data/lib/webpack_rails/node_modules/express/lib/view.js +173 -0
  37. data/lib/webpack_rails/node_modules/express/node_modules/accepts/HISTORY.md +170 -0
  38. data/lib/webpack_rails/node_modules/express/node_modules/accepts/LICENSE +23 -0
  39. data/lib/webpack_rails/node_modules/express/node_modules/accepts/README.md +135 -0
  40. data/lib/webpack_rails/node_modules/express/node_modules/accepts/index.js +231 -0
  41. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/HISTORY.md +171 -0
  42. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/LICENSE +23 -0
  43. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/README.md +103 -0
  44. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/index.js +188 -0
  45. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/HISTORY.md +274 -0
  46. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/LICENSE +22 -0
  47. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/README.md +82 -0
  48. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/db.json +6474 -0
  49. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/index.js +11 -0
  50. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/package.json +94 -0
  51. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/package.json +84 -0
  52. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/HISTORY.md +76 -0
  53. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/LICENSE +24 -0
  54. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/README.md +203 -0
  55. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/index.js +62 -0
  56. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/charset.js +102 -0
  57. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/encoding.js +118 -0
  58. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/language.js +112 -0
  59. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/mediaType.js +179 -0
  60. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/package.json +86 -0
  61. data/lib/webpack_rails/node_modules/express/node_modules/accepts/package.json +98 -0
  62. data/lib/webpack_rails/node_modules/express/node_modules/array-flatten/LICENSE +21 -0
  63. data/lib/webpack_rails/node_modules/express/node_modules/array-flatten/README.md +43 -0
  64. data/lib/webpack_rails/node_modules/express/node_modules/array-flatten/array-flatten.js +64 -0
  65. data/lib/webpack_rails/node_modules/express/node_modules/array-flatten/package.json +62 -0
  66. data/lib/webpack_rails/node_modules/express/node_modules/content-disposition/HISTORY.md +40 -0
  67. data/lib/webpack_rails/node_modules/express/node_modules/content-disposition/LICENSE +22 -0
  68. data/lib/webpack_rails/node_modules/express/node_modules/content-disposition/README.md +141 -0
  69. data/lib/webpack_rails/node_modules/express/node_modules/content-disposition/index.js +443 -0
  70. data/lib/webpack_rails/node_modules/express/node_modules/content-disposition/package.json +66 -0
  71. data/lib/webpack_rails/node_modules/express/node_modules/content-type/HISTORY.md +9 -0
  72. data/lib/webpack_rails/node_modules/express/node_modules/content-type/LICENSE +22 -0
  73. data/lib/webpack_rails/node_modules/express/node_modules/content-type/README.md +92 -0
  74. data/lib/webpack_rails/node_modules/express/node_modules/content-type/index.js +214 -0
  75. data/lib/webpack_rails/node_modules/express/node_modules/content-type/package.json +65 -0
  76. data/lib/webpack_rails/node_modules/express/node_modules/cookie/LICENSE +23 -0
  77. data/lib/webpack_rails/node_modules/express/node_modules/cookie/README.md +64 -0
  78. data/lib/webpack_rails/node_modules/express/node_modules/cookie/index.js +116 -0
  79. data/lib/webpack_rails/node_modules/express/node_modules/cookie/package.json +68 -0
  80. data/lib/webpack_rails/node_modules/express/node_modules/cookie-signature/History.md +38 -0
  81. data/lib/webpack_rails/node_modules/express/node_modules/cookie-signature/Readme.md +42 -0
  82. data/lib/webpack_rails/node_modules/express/node_modules/cookie-signature/index.js +51 -0
  83. data/lib/webpack_rails/node_modules/express/node_modules/cookie-signature/package.json +59 -0
  84. data/lib/webpack_rails/node_modules/express/node_modules/debug/History.md +195 -0
  85. data/lib/webpack_rails/node_modules/express/node_modules/debug/Makefile +36 -0
  86. data/lib/webpack_rails/node_modules/express/node_modules/debug/Readme.md +188 -0
  87. data/lib/webpack_rails/node_modules/express/node_modules/debug/bower.json +28 -0
  88. data/lib/webpack_rails/node_modules/express/node_modules/debug/browser.js +168 -0
  89. data/lib/webpack_rails/node_modules/express/node_modules/debug/component.json +19 -0
  90. data/lib/webpack_rails/node_modules/express/node_modules/debug/debug.js +197 -0
  91. data/lib/webpack_rails/node_modules/express/node_modules/debug/node.js +209 -0
  92. data/lib/webpack_rails/node_modules/express/node_modules/debug/node_modules/ms/History.md +66 -0
  93. data/lib/webpack_rails/node_modules/express/node_modules/debug/node_modules/ms/LICENSE +20 -0
  94. data/lib/webpack_rails/node_modules/express/node_modules/debug/node_modules/ms/README.md +35 -0
  95. data/lib/webpack_rails/node_modules/express/node_modules/debug/node_modules/ms/index.js +125 -0
  96. data/lib/webpack_rails/node_modules/express/node_modules/debug/node_modules/ms/package.json +47 -0
  97. data/lib/webpack_rails/node_modules/express/node_modules/debug/package.json +73 -0
  98. data/lib/webpack_rails/node_modules/express/node_modules/depd/History.md +75 -0
  99. data/lib/webpack_rails/node_modules/express/node_modules/depd/LICENSE +22 -0
  100. data/lib/webpack_rails/node_modules/express/node_modules/depd/Readme.md +274 -0
  101. data/lib/webpack_rails/node_modules/express/node_modules/depd/index.js +529 -0
  102. data/lib/webpack_rails/node_modules/express/node_modules/depd/lib/compat/buffer-concat.js +33 -0
  103. data/lib/webpack_rails/node_modules/express/node_modules/depd/lib/compat/callsite-tostring.js +101 -0
  104. data/lib/webpack_rails/node_modules/express/node_modules/depd/lib/compat/index.js +69 -0
  105. data/lib/webpack_rails/node_modules/express/node_modules/depd/package.json +66 -0
  106. data/lib/webpack_rails/node_modules/express/node_modules/escape-html/LICENSE +22 -0
  107. data/lib/webpack_rails/node_modules/express/node_modules/escape-html/Readme.md +15 -0
  108. data/lib/webpack_rails/node_modules/express/node_modules/escape-html/index.js +29 -0
  109. data/lib/webpack_rails/node_modules/express/node_modules/escape-html/package.json +51 -0
  110. data/lib/webpack_rails/node_modules/express/node_modules/etag/HISTORY.md +71 -0
  111. data/lib/webpack_rails/node_modules/express/node_modules/etag/LICENSE +22 -0
  112. data/lib/webpack_rails/node_modules/express/node_modules/etag/README.md +165 -0
  113. data/lib/webpack_rails/node_modules/express/node_modules/etag/index.js +132 -0
  114. data/lib/webpack_rails/node_modules/express/node_modules/etag/package.json +73 -0
  115. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/HISTORY.md +90 -0
  116. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/LICENSE +22 -0
  117. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/README.md +133 -0
  118. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/index.js +151 -0
  119. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/node_modules/unpipe/HISTORY.md +4 -0
  120. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/node_modules/unpipe/LICENSE +22 -0
  121. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/node_modules/unpipe/README.md +43 -0
  122. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/node_modules/unpipe/index.js +69 -0
  123. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/node_modules/unpipe/package.json +59 -0
  124. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/package.json +81 -0
  125. data/lib/webpack_rails/node_modules/express/node_modules/fresh/HISTORY.md +38 -0
  126. data/lib/webpack_rails/node_modules/express/node_modules/fresh/LICENSE +22 -0
  127. data/lib/webpack_rails/node_modules/express/node_modules/fresh/README.md +58 -0
  128. data/lib/webpack_rails/node_modules/express/node_modules/fresh/index.js +57 -0
  129. data/lib/webpack_rails/node_modules/express/node_modules/fresh/package.json +87 -0
  130. data/lib/webpack_rails/node_modules/express/node_modules/merge-descriptors/LICENSE +22 -0
  131. data/lib/webpack_rails/node_modules/express/node_modules/merge-descriptors/README.md +34 -0
  132. data/lib/webpack_rails/node_modules/express/node_modules/merge-descriptors/index.js +57 -0
  133. data/lib/webpack_rails/node_modules/express/node_modules/merge-descriptors/package.json +125 -0
  134. data/lib/webpack_rails/node_modules/express/node_modules/methods/HISTORY.md +24 -0
  135. data/lib/webpack_rails/node_modules/express/node_modules/methods/LICENSE +23 -0
  136. data/lib/webpack_rails/node_modules/express/node_modules/methods/README.md +41 -0
  137. data/lib/webpack_rails/node_modules/express/node_modules/methods/index.js +42 -0
  138. data/lib/webpack_rails/node_modules/express/node_modules/methods/package.json +88 -0
  139. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/HISTORY.md +88 -0
  140. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/LICENSE +23 -0
  141. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/README.md +154 -0
  142. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/index.js +196 -0
  143. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/node_modules/ee-first/LICENSE +22 -0
  144. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/node_modules/ee-first/README.md +80 -0
  145. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/node_modules/ee-first/index.js +95 -0
  146. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/node_modules/ee-first/package.json +64 -0
  147. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/package.json +71 -0
  148. data/lib/webpack_rails/node_modules/express/node_modules/parseurl/HISTORY.md +42 -0
  149. data/lib/webpack_rails/node_modules/express/node_modules/parseurl/LICENSE +24 -0
  150. data/lib/webpack_rails/node_modules/express/node_modules/parseurl/README.md +107 -0
  151. data/lib/webpack_rails/node_modules/express/node_modules/parseurl/index.js +136 -0
  152. data/lib/webpack_rails/node_modules/express/node_modules/parseurl/package.json +80 -0
  153. data/lib/webpack_rails/node_modules/express/node_modules/path-to-regexp/History.md +36 -0
  154. data/lib/webpack_rails/node_modules/express/node_modules/path-to-regexp/LICENSE +21 -0
  155. data/lib/webpack_rails/node_modules/express/node_modules/path-to-regexp/Readme.md +35 -0
  156. data/lib/webpack_rails/node_modules/express/node_modules/path-to-regexp/index.js +129 -0
  157. data/lib/webpack_rails/node_modules/express/node_modules/path-to-regexp/package.json +184 -0
  158. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/HISTORY.md +66 -0
  159. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/LICENSE +22 -0
  160. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/README.md +137 -0
  161. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/index.js +345 -0
  162. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/HISTORY.md +4 -0
  163. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/LICENSE +22 -0
  164. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/README.md +53 -0
  165. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/index.js +35 -0
  166. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/package.json +65 -0
  167. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/Cakefile +18 -0
  168. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/LICENSE +19 -0
  169. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/README.md +161 -0
  170. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  171. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/lib/ipaddr.js +439 -0
  172. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/package.json +60 -0
  173. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/src/ipaddr.coffee +374 -0
  174. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/test/ipaddr.test.coffee +262 -0
  175. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/package.json +90 -0
  176. data/lib/webpack_rails/node_modules/express/node_modules/qs/CHANGELOG.md +88 -0
  177. data/lib/webpack_rails/node_modules/express/node_modules/qs/CONTRIBUTING.md +1 -0
  178. data/lib/webpack_rails/node_modules/express/node_modules/qs/LICENSE +28 -0
  179. data/lib/webpack_rails/node_modules/express/node_modules/qs/README.md +317 -0
  180. data/lib/webpack_rails/node_modules/express/node_modules/qs/bower.json +22 -0
  181. data/lib/webpack_rails/node_modules/express/node_modules/qs/lib/index.js +15 -0
  182. data/lib/webpack_rails/node_modules/express/node_modules/qs/lib/parse.js +186 -0
  183. data/lib/webpack_rails/node_modules/express/node_modules/qs/lib/stringify.js +121 -0
  184. data/lib/webpack_rails/node_modules/express/node_modules/qs/lib/utils.js +190 -0
  185. data/lib/webpack_rails/node_modules/express/node_modules/qs/package.json +56 -0
  186. data/lib/webpack_rails/node_modules/express/node_modules/qs/test/parse.js +478 -0
  187. data/lib/webpack_rails/node_modules/express/node_modules/qs/test/stringify.js +259 -0
  188. data/lib/webpack_rails/node_modules/express/node_modules/qs/test/utils.js +28 -0
  189. data/lib/webpack_rails/node_modules/express/node_modules/range-parser/HISTORY.md +35 -0
  190. data/lib/webpack_rails/node_modules/express/node_modules/range-parser/LICENSE +22 -0
  191. data/lib/webpack_rails/node_modules/express/node_modules/range-parser/README.md +48 -0
  192. data/lib/webpack_rails/node_modules/express/node_modules/range-parser/index.js +49 -0
  193. data/lib/webpack_rails/node_modules/express/node_modules/range-parser/package.json +76 -0
  194. data/lib/webpack_rails/node_modules/express/node_modules/send/HISTORY.md +295 -0
  195. data/lib/webpack_rails/node_modules/express/node_modules/send/LICENSE +23 -0
  196. data/lib/webpack_rails/node_modules/express/node_modules/send/README.md +195 -0
  197. data/lib/webpack_rails/node_modules/express/node_modules/send/index.js +820 -0
  198. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/destroy/README.md +38 -0
  199. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/destroy/index.js +36 -0
  200. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/destroy/package.json +67 -0
  201. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/HISTORY.md +76 -0
  202. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/LICENSE +22 -0
  203. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/README.md +63 -0
  204. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/index.js +120 -0
  205. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/LICENSE +16 -0
  206. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/README.md +42 -0
  207. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/inherits.js +1 -0
  208. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/inherits_browser.js +23 -0
  209. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/package.json +50 -0
  210. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/test.js +25 -0
  211. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/package.json +85 -0
  212. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/mime/LICENSE +19 -0
  213. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/mime/README.md +90 -0
  214. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/mime/build/build.js +11 -0
  215. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/mime/build/test.js +57 -0
  216. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/mime/cli.js +8 -0
  217. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/mime/mime.js +108 -0
  218. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/mime/package.json +73 -0
  219. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/mime/types.json +1 -0
  220. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/ms/History.md +66 -0
  221. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/ms/LICENSE +20 -0
  222. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/ms/README.md +35 -0
  223. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/ms/index.js +125 -0
  224. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/ms/package.json +47 -0
  225. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/statuses/LICENSE +22 -0
  226. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/statuses/README.md +114 -0
  227. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/statuses/codes.json +64 -0
  228. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/statuses/index.js +60 -0
  229. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/statuses/package.json +84 -0
  230. data/lib/webpack_rails/node_modules/express/node_modules/send/package.json +89 -0
  231. data/lib/webpack_rails/node_modules/express/node_modules/serve-static/HISTORY.md +284 -0
  232. data/lib/webpack_rails/node_modules/express/node_modules/serve-static/LICENSE +25 -0
  233. data/lib/webpack_rails/node_modules/express/node_modules/serve-static/README.md +235 -0
  234. data/lib/webpack_rails/node_modules/express/node_modules/serve-static/index.js +187 -0
  235. data/lib/webpack_rails/node_modules/express/node_modules/serve-static/package.json +83 -0
  236. data/lib/webpack_rails/node_modules/express/node_modules/type-is/HISTORY.md +180 -0
  237. data/lib/webpack_rails/node_modules/express/node_modules/type-is/LICENSE +23 -0
  238. data/lib/webpack_rails/node_modules/express/node_modules/type-is/README.md +132 -0
  239. data/lib/webpack_rails/node_modules/express/node_modules/type-is/index.js +262 -0
  240. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/media-typer/HISTORY.md +22 -0
  241. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/media-typer/LICENSE +22 -0
  242. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/media-typer/README.md +81 -0
  243. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/media-typer/index.js +270 -0
  244. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/media-typer/package.json +58 -0
  245. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/HISTORY.md +171 -0
  246. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/LICENSE +23 -0
  247. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/README.md +103 -0
  248. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/index.js +188 -0
  249. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/HISTORY.md +274 -0
  250. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/LICENSE +22 -0
  251. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/README.md +82 -0
  252. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/db.json +6474 -0
  253. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/index.js +11 -0
  254. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/package.json +94 -0
  255. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/package.json +84 -0
  256. data/lib/webpack_rails/node_modules/express/node_modules/type-is/package.json +93 -0
  257. data/lib/webpack_rails/node_modules/express/node_modules/utils-merge/LICENSE +20 -0
  258. data/lib/webpack_rails/node_modules/express/node_modules/utils-merge/README.md +34 -0
  259. data/lib/webpack_rails/node_modules/express/node_modules/utils-merge/index.js +23 -0
  260. data/lib/webpack_rails/node_modules/express/node_modules/utils-merge/package.json +58 -0
  261. data/lib/webpack_rails/node_modules/express/node_modules/vary/HISTORY.md +23 -0
  262. data/lib/webpack_rails/node_modules/express/node_modules/vary/LICENSE +22 -0
  263. data/lib/webpack_rails/node_modules/express/node_modules/vary/README.md +91 -0
  264. data/lib/webpack_rails/node_modules/express/node_modules/vary/index.js +117 -0
  265. data/lib/webpack_rails/node_modules/express/node_modules/vary/package.json +72 -0
  266. data/lib/webpack_rails/node_modules/express/package.json +167 -0
  267. data/lib/webpack_rails/node_modules/is-array/History.md +11 -0
  268. data/lib/webpack_rails/node_modules/is-array/Makefile +11 -0
  269. data/lib/webpack_rails/node_modules/is-array/Readme.md +27 -0
  270. data/lib/webpack_rails/node_modules/is-array/component.json +13 -0
  271. data/lib/webpack_rails/node_modules/is-array/index.js +33 -0
  272. data/lib/webpack_rails/node_modules/is-array/package.json +41 -0
  273. data/lib/webpack_rails/node_modules/is-array/test/test.html +46 -0
  274. data/lib/webpack_rails/node_modules/is-object/LICENSE +19 -0
  275. data/lib/webpack_rails/node_modules/is-object/README.md +55 -0
  276. data/lib/webpack_rails/node_modules/is-object/index.js +5 -0
  277. data/lib/webpack_rails/node_modules/is-object/package.json +91 -0
  278. data/lib/webpack_rails/node_modules/is-object/test/index.js +23 -0
  279. data/lib/webpack_rails/node_modules/is-string/CHANGELOG.md +19 -0
  280. data/lib/webpack_rails/node_modules/is-string/LICENSE +22 -0
  281. data/lib/webpack_rails/node_modules/is-string/Makefile +61 -0
  282. data/lib/webpack_rails/node_modules/is-string/README.md +57 -0
  283. data/lib/webpack_rails/node_modules/is-string/index.js +20 -0
  284. data/lib/webpack_rails/node_modules/is-string/package.json +93 -0
  285. data/lib/webpack_rails/node_modules/is-string/test.js +36 -0
  286. data/lib/webpack_rails/node_modules/js-string-escape/CHANGELOG.md +9 -0
  287. data/lib/webpack_rails/node_modules/js-string-escape/LICENSE +21 -0
  288. data/lib/webpack_rails/node_modules/js-string-escape/README.md +44 -0
  289. data/lib/webpack_rails/node_modules/js-string-escape/index.js +22 -0
  290. data/lib/webpack_rails/node_modules/js-string-escape/package.json +63 -0
  291. data/lib/webpack_rails/node_modules/js-string-escape/test/test.js +43 -0
  292. data/lib/webpack_rails/node_modules/strip-ansi/index.js +6 -0
  293. data/lib/webpack_rails/node_modules/strip-ansi/license +21 -0
  294. data/lib/webpack_rails/node_modules/strip-ansi/node_modules/ansi-regex/index.js +4 -0
  295. data/lib/webpack_rails/node_modules/strip-ansi/node_modules/ansi-regex/license +21 -0
  296. data/lib/webpack_rails/node_modules/strip-ansi/node_modules/ansi-regex/package.json +86 -0
  297. data/lib/webpack_rails/node_modules/strip-ansi/node_modules/ansi-regex/readme.md +31 -0
  298. data/lib/webpack_rails/node_modules/strip-ansi/package.json +85 -0
  299. data/lib/webpack_rails/node_modules/strip-ansi/readme.md +33 -0
  300. data/lib/webpack_rails/node_modules/webpack-hot-middleware/README.md +109 -0
  301. data/lib/webpack_rails/node_modules/webpack-hot-middleware/client-overlay.js +35 -0
  302. data/lib/webpack_rails/node_modules/webpack-hot-middleware/client.js +131 -0
  303. data/lib/webpack_rails/node_modules/webpack-hot-middleware/example/README.md +15 -0
  304. data/lib/webpack_rails/node_modules/webpack-hot-middleware/example/client.js +30 -0
  305. data/lib/webpack_rails/node_modules/webpack-hot-middleware/example/index.html +18 -0
  306. data/lib/webpack_rails/node_modules/webpack-hot-middleware/example/package.json +14 -0
  307. data/lib/webpack_rails/node_modules/webpack-hot-middleware/example/server.js +41 -0
  308. data/lib/webpack_rails/node_modules/webpack-hot-middleware/example/webpack.config.js +22 -0
  309. data/lib/webpack_rails/node_modules/webpack-hot-middleware/helpers.js +8 -0
  310. data/lib/webpack_rails/node_modules/webpack-hot-middleware/middleware.js +83 -0
  311. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/History.md +20 -0
  312. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/License.md +19 -0
  313. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/Readme.md +15 -0
  314. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/decode.js +80 -0
  315. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/encode.js +64 -0
  316. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/index.js +4 -0
  317. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/package.json +96 -0
  318. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/test/common-index.js +3 -0
  319. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/test/index.js +210 -0
  320. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/test/tap-index.js +3 -0
  321. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/strip-ansi/cli.js +47 -0
  322. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/strip-ansi/index.js +6 -0
  323. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/strip-ansi/node_modules/ansi-regex/index.js +4 -0
  324. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/strip-ansi/node_modules/ansi-regex/license +21 -0
  325. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/strip-ansi/node_modules/ansi-regex/package.json +86 -0
  326. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/strip-ansi/node_modules/ansi-regex/readme.md +33 -0
  327. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/strip-ansi/package.json +89 -0
  328. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/strip-ansi/readme.md +43 -0
  329. data/lib/webpack_rails/node_modules/webpack-hot-middleware/package.json +58 -0
  330. data/lib/webpack_rails/node_modules/webpack-hot-middleware/process-update.js +105 -0
  331. data/lib/webpack_rails/node_modules/webpack-hot-middleware/test/client-test.js +81 -0
  332. data/lib/webpack_rails/node_modules/webpack-hot-middleware/test/helpers-test.js +22 -0
  333. data/lib/webpack_rails/node_modules/webpack-hot-middleware/test/middleware-test.js +188 -0
  334. data/lib/webpack_rails/node_modules/webpack-hot-middleware/test/mocha.opts +1 -0
  335. data/lib/webpack_rails/node_modules/xtend/LICENCE +19 -0
  336. data/lib/webpack_rails/node_modules/xtend/Makefile +4 -0
  337. data/lib/webpack_rails/node_modules/xtend/README.md +32 -0
  338. data/lib/webpack_rails/node_modules/xtend/immutable.js +17 -0
  339. data/lib/webpack_rails/node_modules/xtend/mutable.js +15 -0
  340. data/lib/webpack_rails/node_modules/xtend/package.json +88 -0
  341. data/lib/webpack_rails/node_modules/xtend/test.js +63 -0
  342. data/lib/webpack_rails/package.json +22 -0
  343. data/lib/webpack_rails/processor.rb +28 -9
  344. data/lib/webpack_rails/require_directive_processor.rb +51 -0
  345. data/lib/webpack_rails/sprockets_environment.rb +45 -0
  346. data/lib/webpack_rails/task.rb +51 -22
  347. data/lib/webpack_rails/webpack-task-dev-server.js +122 -0
  348. data/lib/webpack_rails/{webpack-task.js → webpack-task-watch.js} +0 -0
  349. data/lib/webpack_rails/webpack.rake +5 -5
  350. data/lib/webpack_rails.rb +1 -3
  351. metadata +346 -5
  352. data/lib/webpack_rails/sprockets_base_webpack.rb +0 -14
  353. data/lib/webpack_rails/sprockets_index_webpack.rb +0 -15
@@ -0,0 +1,643 @@
1
+ /*!
2
+ * express
3
+ * Copyright(c) 2009-2013 TJ Holowaychuk
4
+ * Copyright(c) 2013 Roman Shtylman
5
+ * Copyright(c) 2014-2015 Douglas Christopher Wilson
6
+ * MIT Licensed
7
+ */
8
+
9
+ 'use strict';
10
+
11
+ /**
12
+ * Module dependencies.
13
+ * @private
14
+ */
15
+
16
+ var finalhandler = require('finalhandler');
17
+ var Router = require('./router');
18
+ var methods = require('methods');
19
+ var middleware = require('./middleware/init');
20
+ var query = require('./middleware/query');
21
+ var debug = require('debug')('express:application');
22
+ var View = require('./view');
23
+ var http = require('http');
24
+ var compileETag = require('./utils').compileETag;
25
+ var compileQueryParser = require('./utils').compileQueryParser;
26
+ var compileTrust = require('./utils').compileTrust;
27
+ var deprecate = require('depd')('express');
28
+ var flatten = require('array-flatten');
29
+ var merge = require('utils-merge');
30
+ var resolve = require('path').resolve;
31
+ var slice = Array.prototype.slice;
32
+
33
+ /**
34
+ * Application prototype.
35
+ */
36
+
37
+ var app = exports = module.exports = {};
38
+
39
+ /**
40
+ * Variable for trust proxy inheritance back-compat
41
+ * @private
42
+ */
43
+
44
+ var trustProxyDefaultSymbol = '@@symbol:trust_proxy_default';
45
+
46
+ /**
47
+ * Initialize the server.
48
+ *
49
+ * - setup default configuration
50
+ * - setup default middleware
51
+ * - setup route reflection methods
52
+ *
53
+ * @private
54
+ */
55
+
56
+ app.init = function init() {
57
+ this.cache = {};
58
+ this.engines = {};
59
+ this.settings = {};
60
+
61
+ this.defaultConfiguration();
62
+ };
63
+
64
+ /**
65
+ * Initialize application configuration.
66
+ * @private
67
+ */
68
+
69
+ app.defaultConfiguration = function defaultConfiguration() {
70
+ var env = process.env.NODE_ENV || 'development';
71
+
72
+ // default settings
73
+ this.enable('x-powered-by');
74
+ this.set('etag', 'weak');
75
+ this.set('env', env);
76
+ this.set('query parser', 'extended');
77
+ this.set('subdomain offset', 2);
78
+ this.set('trust proxy', false);
79
+
80
+ // trust proxy inherit back-compat
81
+ Object.defineProperty(this.settings, trustProxyDefaultSymbol, {
82
+ configurable: true,
83
+ value: true
84
+ });
85
+
86
+ debug('booting in %s mode', env);
87
+
88
+ this.on('mount', function onmount(parent) {
89
+ // inherit trust proxy
90
+ if (this.settings[trustProxyDefaultSymbol] === true
91
+ && typeof parent.settings['trust proxy fn'] === 'function') {
92
+ delete this.settings['trust proxy'];
93
+ delete this.settings['trust proxy fn'];
94
+ }
95
+
96
+ // inherit protos
97
+ this.request.__proto__ = parent.request;
98
+ this.response.__proto__ = parent.response;
99
+ this.engines.__proto__ = parent.engines;
100
+ this.settings.__proto__ = parent.settings;
101
+ });
102
+
103
+ // setup locals
104
+ this.locals = Object.create(null);
105
+
106
+ // top-most app is mounted at /
107
+ this.mountpath = '/';
108
+
109
+ // default locals
110
+ this.locals.settings = this.settings;
111
+
112
+ // default configuration
113
+ this.set('view', View);
114
+ this.set('views', resolve('views'));
115
+ this.set('jsonp callback name', 'callback');
116
+
117
+ if (env === 'production') {
118
+ this.enable('view cache');
119
+ }
120
+
121
+ Object.defineProperty(this, 'router', {
122
+ get: function() {
123
+ throw new Error('\'app.router\' is deprecated!\nPlease see the 3.x to 4.x migration guide for details on how to update your app.');
124
+ }
125
+ });
126
+ };
127
+
128
+ /**
129
+ * lazily adds the base router if it has not yet been added.
130
+ *
131
+ * We cannot add the base router in the defaultConfiguration because
132
+ * it reads app settings which might be set after that has run.
133
+ *
134
+ * @private
135
+ */
136
+ app.lazyrouter = function lazyrouter() {
137
+ if (!this._router) {
138
+ this._router = new Router({
139
+ caseSensitive: this.enabled('case sensitive routing'),
140
+ strict: this.enabled('strict routing')
141
+ });
142
+
143
+ this._router.use(query(this.get('query parser fn')));
144
+ this._router.use(middleware.init(this));
145
+ }
146
+ };
147
+
148
+ /**
149
+ * Dispatch a req, res pair into the application. Starts pipeline processing.
150
+ *
151
+ * If no callback is provided, then default error handlers will respond
152
+ * in the event of an error bubbling through the stack.
153
+ *
154
+ * @private
155
+ */
156
+
157
+ app.handle = function handle(req, res, callback) {
158
+ var router = this._router;
159
+
160
+ // final handler
161
+ var done = callback || finalhandler(req, res, {
162
+ env: this.get('env'),
163
+ onerror: logerror.bind(this)
164
+ });
165
+
166
+ // no routes
167
+ if (!router) {
168
+ debug('no routes defined on app');
169
+ done();
170
+ return;
171
+ }
172
+
173
+ router.handle(req, res, done);
174
+ };
175
+
176
+ /**
177
+ * Proxy `Router#use()` to add middleware to the app router.
178
+ * See Router#use() documentation for details.
179
+ *
180
+ * If the _fn_ parameter is an express app, then it will be
181
+ * mounted at the _route_ specified.
182
+ *
183
+ * @public
184
+ */
185
+
186
+ app.use = function use(fn) {
187
+ var offset = 0;
188
+ var path = '/';
189
+
190
+ // default path to '/'
191
+ // disambiguate app.use([fn])
192
+ if (typeof fn !== 'function') {
193
+ var arg = fn;
194
+
195
+ while (Array.isArray(arg) && arg.length !== 0) {
196
+ arg = arg[0];
197
+ }
198
+
199
+ // first arg is the path
200
+ if (typeof arg !== 'function') {
201
+ offset = 1;
202
+ path = fn;
203
+ }
204
+ }
205
+
206
+ var fns = flatten(slice.call(arguments, offset));
207
+
208
+ if (fns.length === 0) {
209
+ throw new TypeError('app.use() requires middleware functions');
210
+ }
211
+
212
+ // setup router
213
+ this.lazyrouter();
214
+ var router = this._router;
215
+
216
+ fns.forEach(function (fn) {
217
+ // non-express app
218
+ if (!fn || !fn.handle || !fn.set) {
219
+ return router.use(path, fn);
220
+ }
221
+
222
+ debug('.use app under %s', path);
223
+ fn.mountpath = path;
224
+ fn.parent = this;
225
+
226
+ // restore .app property on req and res
227
+ router.use(path, function mounted_app(req, res, next) {
228
+ var orig = req.app;
229
+ fn.handle(req, res, function (err) {
230
+ req.__proto__ = orig.request;
231
+ res.__proto__ = orig.response;
232
+ next(err);
233
+ });
234
+ });
235
+
236
+ // mounted an app
237
+ fn.emit('mount', this);
238
+ }, this);
239
+
240
+ return this;
241
+ };
242
+
243
+ /**
244
+ * Proxy to the app `Router#route()`
245
+ * Returns a new `Route` instance for the _path_.
246
+ *
247
+ * Routes are isolated middleware stacks for specific paths.
248
+ * See the Route api docs for details.
249
+ *
250
+ * @public
251
+ */
252
+
253
+ app.route = function route(path) {
254
+ this.lazyrouter();
255
+ return this._router.route(path);
256
+ };
257
+
258
+ /**
259
+ * Register the given template engine callback `fn`
260
+ * as `ext`.
261
+ *
262
+ * By default will `require()` the engine based on the
263
+ * file extension. For example if you try to render
264
+ * a "foo.jade" file Express will invoke the following internally:
265
+ *
266
+ * app.engine('jade', require('jade').__express);
267
+ *
268
+ * For engines that do not provide `.__express` out of the box,
269
+ * or if you wish to "map" a different extension to the template engine
270
+ * you may use this method. For example mapping the EJS template engine to
271
+ * ".html" files:
272
+ *
273
+ * app.engine('html', require('ejs').renderFile);
274
+ *
275
+ * In this case EJS provides a `.renderFile()` method with
276
+ * the same signature that Express expects: `(path, options, callback)`,
277
+ * though note that it aliases this method as `ejs.__express` internally
278
+ * so if you're using ".ejs" extensions you dont need to do anything.
279
+ *
280
+ * Some template engines do not follow this convention, the
281
+ * [Consolidate.js](https://github.com/tj/consolidate.js)
282
+ * library was created to map all of node's popular template
283
+ * engines to follow this convention, thus allowing them to
284
+ * work seamlessly within Express.
285
+ *
286
+ * @param {String} ext
287
+ * @param {Function} fn
288
+ * @return {app} for chaining
289
+ * @public
290
+ */
291
+
292
+ app.engine = function engine(ext, fn) {
293
+ if (typeof fn !== 'function') {
294
+ throw new Error('callback function required');
295
+ }
296
+
297
+ // get file extension
298
+ var extension = ext[0] !== '.'
299
+ ? '.' + ext
300
+ : ext;
301
+
302
+ // store engine
303
+ this.engines[extension] = fn;
304
+
305
+ return this;
306
+ };
307
+
308
+ /**
309
+ * Proxy to `Router#param()` with one added api feature. The _name_ parameter
310
+ * can be an array of names.
311
+ *
312
+ * See the Router#param() docs for more details.
313
+ *
314
+ * @param {String|Array} name
315
+ * @param {Function} fn
316
+ * @return {app} for chaining
317
+ * @public
318
+ */
319
+
320
+ app.param = function param(name, fn) {
321
+ this.lazyrouter();
322
+
323
+ if (Array.isArray(name)) {
324
+ for (var i = 0; i < name.length; i++) {
325
+ this.param(name[i], fn);
326
+ }
327
+
328
+ return this;
329
+ }
330
+
331
+ this._router.param(name, fn);
332
+
333
+ return this;
334
+ };
335
+
336
+ /**
337
+ * Assign `setting` to `val`, or return `setting`'s value.
338
+ *
339
+ * app.set('foo', 'bar');
340
+ * app.get('foo');
341
+ * // => "bar"
342
+ *
343
+ * Mounted servers inherit their parent server's settings.
344
+ *
345
+ * @param {String} setting
346
+ * @param {*} [val]
347
+ * @return {Server} for chaining
348
+ * @public
349
+ */
350
+
351
+ app.set = function set(setting, val) {
352
+ if (arguments.length === 1) {
353
+ // app.get(setting)
354
+ return this.settings[setting];
355
+ }
356
+
357
+ debug('set "%s" to %o', setting, val);
358
+
359
+ // set value
360
+ this.settings[setting] = val;
361
+
362
+ // trigger matched settings
363
+ switch (setting) {
364
+ case 'etag':
365
+ this.set('etag fn', compileETag(val));
366
+ break;
367
+ case 'query parser':
368
+ this.set('query parser fn', compileQueryParser(val));
369
+ break;
370
+ case 'trust proxy':
371
+ this.set('trust proxy fn', compileTrust(val));
372
+
373
+ // trust proxy inherit back-compat
374
+ Object.defineProperty(this.settings, trustProxyDefaultSymbol, {
375
+ configurable: true,
376
+ value: false
377
+ });
378
+
379
+ break;
380
+ }
381
+
382
+ return this;
383
+ };
384
+
385
+ /**
386
+ * Return the app's absolute pathname
387
+ * based on the parent(s) that have
388
+ * mounted it.
389
+ *
390
+ * For example if the application was
391
+ * mounted as "/admin", which itself
392
+ * was mounted as "/blog" then the
393
+ * return value would be "/blog/admin".
394
+ *
395
+ * @return {String}
396
+ * @private
397
+ */
398
+
399
+ app.path = function path() {
400
+ return this.parent
401
+ ? this.parent.path() + this.mountpath
402
+ : '';
403
+ };
404
+
405
+ /**
406
+ * Check if `setting` is enabled (truthy).
407
+ *
408
+ * app.enabled('foo')
409
+ * // => false
410
+ *
411
+ * app.enable('foo')
412
+ * app.enabled('foo')
413
+ * // => true
414
+ *
415
+ * @param {String} setting
416
+ * @return {Boolean}
417
+ * @public
418
+ */
419
+
420
+ app.enabled = function enabled(setting) {
421
+ return Boolean(this.set(setting));
422
+ };
423
+
424
+ /**
425
+ * Check if `setting` is disabled.
426
+ *
427
+ * app.disabled('foo')
428
+ * // => true
429
+ *
430
+ * app.enable('foo')
431
+ * app.disabled('foo')
432
+ * // => false
433
+ *
434
+ * @param {String} setting
435
+ * @return {Boolean}
436
+ * @public
437
+ */
438
+
439
+ app.disabled = function disabled(setting) {
440
+ return !this.set(setting);
441
+ };
442
+
443
+ /**
444
+ * Enable `setting`.
445
+ *
446
+ * @param {String} setting
447
+ * @return {app} for chaining
448
+ * @public
449
+ */
450
+
451
+ app.enable = function enable(setting) {
452
+ return this.set(setting, true);
453
+ };
454
+
455
+ /**
456
+ * Disable `setting`.
457
+ *
458
+ * @param {String} setting
459
+ * @return {app} for chaining
460
+ * @public
461
+ */
462
+
463
+ app.disable = function disable(setting) {
464
+ return this.set(setting, false);
465
+ };
466
+
467
+ /**
468
+ * Delegate `.VERB(...)` calls to `router.VERB(...)`.
469
+ */
470
+
471
+ methods.forEach(function(method){
472
+ app[method] = function(path){
473
+ if (method === 'get' && arguments.length === 1) {
474
+ // app.get(setting)
475
+ return this.set(path);
476
+ }
477
+
478
+ this.lazyrouter();
479
+
480
+ var route = this._router.route(path);
481
+ route[method].apply(route, slice.call(arguments, 1));
482
+ return this;
483
+ };
484
+ });
485
+
486
+ /**
487
+ * Special-cased "all" method, applying the given route `path`,
488
+ * middleware, and callback to _every_ HTTP method.
489
+ *
490
+ * @param {String} path
491
+ * @param {Function} ...
492
+ * @return {app} for chaining
493
+ * @public
494
+ */
495
+
496
+ app.all = function all(path) {
497
+ this.lazyrouter();
498
+
499
+ var route = this._router.route(path);
500
+ var args = slice.call(arguments, 1);
501
+
502
+ for (var i = 0; i < methods.length; i++) {
503
+ route[methods[i]].apply(route, args);
504
+ }
505
+
506
+ return this;
507
+ };
508
+
509
+ // del -> delete alias
510
+
511
+ app.del = deprecate.function(app.delete, 'app.del: Use app.delete instead');
512
+
513
+ /**
514
+ * Render the given view `name` name with `options`
515
+ * and a callback accepting an error and the
516
+ * rendered template string.
517
+ *
518
+ * Example:
519
+ *
520
+ * app.render('email', { name: 'Tobi' }, function(err, html){
521
+ * // ...
522
+ * })
523
+ *
524
+ * @param {String} name
525
+ * @param {String|Function} options or fn
526
+ * @param {Function} callback
527
+ * @public
528
+ */
529
+
530
+ app.render = function render(name, options, callback) {
531
+ var cache = this.cache;
532
+ var done = callback;
533
+ var engines = this.engines;
534
+ var opts = options;
535
+ var renderOptions = {};
536
+ var view;
537
+
538
+ // support callback function as second arg
539
+ if (typeof options === 'function') {
540
+ done = options;
541
+ opts = {};
542
+ }
543
+
544
+ // merge app.locals
545
+ merge(renderOptions, this.locals);
546
+
547
+ // merge options._locals
548
+ if (opts._locals) {
549
+ merge(renderOptions, opts._locals);
550
+ }
551
+
552
+ // merge options
553
+ merge(renderOptions, opts);
554
+
555
+ // set .cache unless explicitly provided
556
+ if (renderOptions.cache == null) {
557
+ renderOptions.cache = this.enabled('view cache');
558
+ }
559
+
560
+ // primed cache
561
+ if (renderOptions.cache) {
562
+ view = cache[name];
563
+ }
564
+
565
+ // view
566
+ if (!view) {
567
+ var View = this.get('view');
568
+
569
+ view = new View(name, {
570
+ defaultEngine: this.get('view engine'),
571
+ root: this.get('views'),
572
+ engines: engines
573
+ });
574
+
575
+ if (!view.path) {
576
+ var dirs = Array.isArray(view.root) && view.root.length > 1
577
+ ? 'directories "' + view.root.slice(0, -1).join('", "') + '" or "' + view.root[view.root.length - 1] + '"'
578
+ : 'directory "' + view.root + '"'
579
+ var err = new Error('Failed to lookup view "' + name + '" in views ' + dirs);
580
+ err.view = view;
581
+ return done(err);
582
+ }
583
+
584
+ // prime the cache
585
+ if (renderOptions.cache) {
586
+ cache[name] = view;
587
+ }
588
+ }
589
+
590
+ // render
591
+ tryRender(view, renderOptions, done);
592
+ };
593
+
594
+ /**
595
+ * Listen for connections.
596
+ *
597
+ * A node `http.Server` is returned, with this
598
+ * application (which is a `Function`) as its
599
+ * callback. If you wish to create both an HTTP
600
+ * and HTTPS server you may do so with the "http"
601
+ * and "https" modules as shown here:
602
+ *
603
+ * var http = require('http')
604
+ * , https = require('https')
605
+ * , express = require('express')
606
+ * , app = express();
607
+ *
608
+ * http.createServer(app).listen(80);
609
+ * https.createServer({ ... }, app).listen(443);
610
+ *
611
+ * @return {http.Server}
612
+ * @public
613
+ */
614
+
615
+ app.listen = function listen() {
616
+ var server = http.createServer(this);
617
+ return server.listen.apply(server, arguments);
618
+ };
619
+
620
+ /**
621
+ * Log error using console.error.
622
+ *
623
+ * @param {Error} err
624
+ * @private
625
+ */
626
+
627
+ function logerror(err) {
628
+ /* istanbul ignore next */
629
+ if (this.get('env') !== 'test') console.error(err.stack || err.toString());
630
+ }
631
+
632
+ /**
633
+ * Try rendering a view.
634
+ * @private
635
+ */
636
+
637
+ function tryRender(view, options, callback) {
638
+ try {
639
+ view.render(options, callback);
640
+ } catch (err) {
641
+ callback(err);
642
+ }
643
+ }