webpack_rails 0.3.0 → 1.0.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 (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,103 @@
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
+ */
14
+
15
+ var EventEmitter = require('events').EventEmitter;
16
+ var mixin = require('merge-descriptors');
17
+ var proto = require('./application');
18
+ var Route = require('./router/route');
19
+ var Router = require('./router');
20
+ var req = require('./request');
21
+ var res = require('./response');
22
+
23
+ /**
24
+ * Expose `createApplication()`.
25
+ */
26
+
27
+ exports = module.exports = createApplication;
28
+
29
+ /**
30
+ * Create an express application.
31
+ *
32
+ * @return {Function}
33
+ * @api public
34
+ */
35
+
36
+ function createApplication() {
37
+ var app = function(req, res, next) {
38
+ app.handle(req, res, next);
39
+ };
40
+
41
+ mixin(app, EventEmitter.prototype, false);
42
+ mixin(app, proto, false);
43
+
44
+ app.request = { __proto__: req, app: app };
45
+ app.response = { __proto__: res, app: app };
46
+ app.init();
47
+ return app;
48
+ }
49
+
50
+ /**
51
+ * Expose the prototypes.
52
+ */
53
+
54
+ exports.application = proto;
55
+ exports.request = req;
56
+ exports.response = res;
57
+
58
+ /**
59
+ * Expose constructors.
60
+ */
61
+
62
+ exports.Route = Route;
63
+ exports.Router = Router;
64
+
65
+ /**
66
+ * Expose middleware
67
+ */
68
+
69
+ exports.query = require('./middleware/query');
70
+ exports.static = require('serve-static');
71
+
72
+ /**
73
+ * Replace removed middleware with an appropriate error message.
74
+ */
75
+
76
+ [
77
+ 'json',
78
+ 'urlencoded',
79
+ 'bodyParser',
80
+ 'compress',
81
+ 'cookieSession',
82
+ 'session',
83
+ 'logger',
84
+ 'cookieParser',
85
+ 'favicon',
86
+ 'responseTime',
87
+ 'errorHandler',
88
+ 'timeout',
89
+ 'methodOverride',
90
+ 'vhost',
91
+ 'csrf',
92
+ 'directory',
93
+ 'limit',
94
+ 'multipart',
95
+ 'staticCache',
96
+ ].forEach(function (name) {
97
+ Object.defineProperty(exports, name, {
98
+ get: function () {
99
+ throw new Error('Most middleware (like ' + name + ') is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.');
100
+ },
101
+ configurable: true
102
+ });
103
+ });
@@ -0,0 +1,36 @@
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
+ * Initialization middleware, exposing the
13
+ * request and response to each other, as well
14
+ * as defaulting the X-Powered-By header field.
15
+ *
16
+ * @param {Function} app
17
+ * @return {Function}
18
+ * @api private
19
+ */
20
+
21
+ exports.init = function(app){
22
+ return function expressInit(req, res, next){
23
+ if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express');
24
+ req.res = res;
25
+ res.req = req;
26
+ req.next = next;
27
+
28
+ req.__proto__ = app.request;
29
+ res.__proto__ = app.response;
30
+
31
+ res.locals = res.locals || Object.create(null);
32
+
33
+ next();
34
+ };
35
+ };
36
+
@@ -0,0 +1,51 @@
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
+ */
14
+
15
+ var parseUrl = require('parseurl');
16
+ var qs = require('qs');
17
+
18
+ /**
19
+ * @param {Object} options
20
+ * @return {Function}
21
+ * @api public
22
+ */
23
+
24
+ module.exports = function query(options) {
25
+ var opts = Object.create(options || null);
26
+ var queryparse = qs.parse;
27
+
28
+ if (typeof options === 'function') {
29
+ queryparse = options;
30
+ opts = undefined;
31
+ }
32
+
33
+ if (opts !== undefined) {
34
+ if (opts.allowDots === undefined) {
35
+ opts.allowDots = false;
36
+ }
37
+
38
+ if (opts.allowPrototypes === undefined) {
39
+ opts.allowPrototypes = true;
40
+ }
41
+ }
42
+
43
+ return function query(req, res, next){
44
+ if (!req.query) {
45
+ var val = parseUrl(req).query;
46
+ req.query = queryparse(val, opts);
47
+ }
48
+
49
+ next();
50
+ };
51
+ };
@@ -0,0 +1,489 @@
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 accepts = require('accepts');
17
+ var deprecate = require('depd')('express');
18
+ var isIP = require('net').isIP;
19
+ var typeis = require('type-is');
20
+ var http = require('http');
21
+ var fresh = require('fresh');
22
+ var parseRange = require('range-parser');
23
+ var parse = require('parseurl');
24
+ var proxyaddr = require('proxy-addr');
25
+
26
+ /**
27
+ * Request prototype.
28
+ */
29
+
30
+ var req = exports = module.exports = {
31
+ __proto__: http.IncomingMessage.prototype
32
+ };
33
+
34
+ /**
35
+ * Return request header.
36
+ *
37
+ * The `Referrer` header field is special-cased,
38
+ * both `Referrer` and `Referer` are interchangeable.
39
+ *
40
+ * Examples:
41
+ *
42
+ * req.get('Content-Type');
43
+ * // => "text/plain"
44
+ *
45
+ * req.get('content-type');
46
+ * // => "text/plain"
47
+ *
48
+ * req.get('Something');
49
+ * // => undefined
50
+ *
51
+ * Aliased as `req.header()`.
52
+ *
53
+ * @param {String} name
54
+ * @return {String}
55
+ * @public
56
+ */
57
+
58
+ req.get =
59
+ req.header = function header(name) {
60
+ var lc = name.toLowerCase();
61
+
62
+ switch (lc) {
63
+ case 'referer':
64
+ case 'referrer':
65
+ return this.headers.referrer
66
+ || this.headers.referer;
67
+ default:
68
+ return this.headers[lc];
69
+ }
70
+ };
71
+
72
+ /**
73
+ * To do: update docs.
74
+ *
75
+ * Check if the given `type(s)` is acceptable, returning
76
+ * the best match when true, otherwise `undefined`, in which
77
+ * case you should respond with 406 "Not Acceptable".
78
+ *
79
+ * The `type` value may be a single MIME type string
80
+ * such as "application/json", an extension name
81
+ * such as "json", a comma-delimited list such as "json, html, text/plain",
82
+ * an argument list such as `"json", "html", "text/plain"`,
83
+ * or an array `["json", "html", "text/plain"]`. When a list
84
+ * or array is given, the _best_ match, if any is returned.
85
+ *
86
+ * Examples:
87
+ *
88
+ * // Accept: text/html
89
+ * req.accepts('html');
90
+ * // => "html"
91
+ *
92
+ * // Accept: text/*, application/json
93
+ * req.accepts('html');
94
+ * // => "html"
95
+ * req.accepts('text/html');
96
+ * // => "text/html"
97
+ * req.accepts('json, text');
98
+ * // => "json"
99
+ * req.accepts('application/json');
100
+ * // => "application/json"
101
+ *
102
+ * // Accept: text/*, application/json
103
+ * req.accepts('image/png');
104
+ * req.accepts('png');
105
+ * // => undefined
106
+ *
107
+ * // Accept: text/*;q=.5, application/json
108
+ * req.accepts(['html', 'json']);
109
+ * req.accepts('html', 'json');
110
+ * req.accepts('html, json');
111
+ * // => "json"
112
+ *
113
+ * @param {String|Array} type(s)
114
+ * @return {String|Array|Boolean}
115
+ * @public
116
+ */
117
+
118
+ req.accepts = function(){
119
+ var accept = accepts(this);
120
+ return accept.types.apply(accept, arguments);
121
+ };
122
+
123
+ /**
124
+ * Check if the given `encoding`s are accepted.
125
+ *
126
+ * @param {String} ...encoding
127
+ * @return {String|Array}
128
+ * @public
129
+ */
130
+
131
+ req.acceptsEncodings = function(){
132
+ var accept = accepts(this);
133
+ return accept.encodings.apply(accept, arguments);
134
+ };
135
+
136
+ req.acceptsEncoding = deprecate.function(req.acceptsEncodings,
137
+ 'req.acceptsEncoding: Use acceptsEncodings instead');
138
+
139
+ /**
140
+ * Check if the given `charset`s are acceptable,
141
+ * otherwise you should respond with 406 "Not Acceptable".
142
+ *
143
+ * @param {String} ...charset
144
+ * @return {String|Array}
145
+ * @public
146
+ */
147
+
148
+ req.acceptsCharsets = function(){
149
+ var accept = accepts(this);
150
+ return accept.charsets.apply(accept, arguments);
151
+ };
152
+
153
+ req.acceptsCharset = deprecate.function(req.acceptsCharsets,
154
+ 'req.acceptsCharset: Use acceptsCharsets instead');
155
+
156
+ /**
157
+ * Check if the given `lang`s are acceptable,
158
+ * otherwise you should respond with 406 "Not Acceptable".
159
+ *
160
+ * @param {String} ...lang
161
+ * @return {String|Array}
162
+ * @public
163
+ */
164
+
165
+ req.acceptsLanguages = function(){
166
+ var accept = accepts(this);
167
+ return accept.languages.apply(accept, arguments);
168
+ };
169
+
170
+ req.acceptsLanguage = deprecate.function(req.acceptsLanguages,
171
+ 'req.acceptsLanguage: Use acceptsLanguages instead');
172
+
173
+ /**
174
+ * Parse Range header field,
175
+ * capping to the given `size`.
176
+ *
177
+ * Unspecified ranges such as "0-" require
178
+ * knowledge of your resource length. In
179
+ * the case of a byte range this is of course
180
+ * the total number of bytes. If the Range
181
+ * header field is not given `null` is returned,
182
+ * `-1` when unsatisfiable, `-2` when syntactically invalid.
183
+ *
184
+ * NOTE: remember that ranges are inclusive, so
185
+ * for example "Range: users=0-3" should respond
186
+ * with 4 users when available, not 3.
187
+ *
188
+ * @param {Number} size
189
+ * @return {Array}
190
+ * @public
191
+ */
192
+
193
+ req.range = function(size){
194
+ var range = this.get('Range');
195
+ if (!range) return;
196
+ return parseRange(size, range);
197
+ };
198
+
199
+ /**
200
+ * Return the value of param `name` when present or `defaultValue`.
201
+ *
202
+ * - Checks route placeholders, ex: _/user/:id_
203
+ * - Checks body params, ex: id=12, {"id":12}
204
+ * - Checks query string params, ex: ?id=12
205
+ *
206
+ * To utilize request bodies, `req.body`
207
+ * should be an object. This can be done by using
208
+ * the `bodyParser()` middleware.
209
+ *
210
+ * @param {String} name
211
+ * @param {Mixed} [defaultValue]
212
+ * @return {String}
213
+ * @public
214
+ */
215
+
216
+ req.param = function param(name, defaultValue) {
217
+ var params = this.params || {};
218
+ var body = this.body || {};
219
+ var query = this.query || {};
220
+
221
+ var args = arguments.length === 1
222
+ ? 'name'
223
+ : 'name, default';
224
+ deprecate('req.param(' + args + '): Use req.params, req.body, or req.query instead');
225
+
226
+ if (null != params[name] && params.hasOwnProperty(name)) return params[name];
227
+ if (null != body[name]) return body[name];
228
+ if (null != query[name]) return query[name];
229
+
230
+ return defaultValue;
231
+ };
232
+
233
+ /**
234
+ * Check if the incoming request contains the "Content-Type"
235
+ * header field, and it contains the give mime `type`.
236
+ *
237
+ * Examples:
238
+ *
239
+ * // With Content-Type: text/html; charset=utf-8
240
+ * req.is('html');
241
+ * req.is('text/html');
242
+ * req.is('text/*');
243
+ * // => true
244
+ *
245
+ * // When Content-Type is application/json
246
+ * req.is('json');
247
+ * req.is('application/json');
248
+ * req.is('application/*');
249
+ * // => true
250
+ *
251
+ * req.is('html');
252
+ * // => false
253
+ *
254
+ * @param {String|Array} types...
255
+ * @return {String|false|null}
256
+ * @public
257
+ */
258
+
259
+ req.is = function is(types) {
260
+ var arr = types;
261
+
262
+ // support flattened arguments
263
+ if (!Array.isArray(types)) {
264
+ arr = new Array(arguments.length);
265
+ for (var i = 0; i < arr.length; i++) {
266
+ arr[i] = arguments[i];
267
+ }
268
+ }
269
+
270
+ return typeis(this, arr);
271
+ };
272
+
273
+ /**
274
+ * Return the protocol string "http" or "https"
275
+ * when requested with TLS. When the "trust proxy"
276
+ * setting trusts the socket address, the
277
+ * "X-Forwarded-Proto" header field will be trusted
278
+ * and used if present.
279
+ *
280
+ * If you're running behind a reverse proxy that
281
+ * supplies https for you this may be enabled.
282
+ *
283
+ * @return {String}
284
+ * @public
285
+ */
286
+
287
+ defineGetter(req, 'protocol', function protocol(){
288
+ var proto = this.connection.encrypted
289
+ ? 'https'
290
+ : 'http';
291
+ var trust = this.app.get('trust proxy fn');
292
+
293
+ if (!trust(this.connection.remoteAddress, 0)) {
294
+ return proto;
295
+ }
296
+
297
+ // Note: X-Forwarded-Proto is normally only ever a
298
+ // single value, but this is to be safe.
299
+ proto = this.get('X-Forwarded-Proto') || proto;
300
+ return proto.split(/\s*,\s*/)[0];
301
+ });
302
+
303
+ /**
304
+ * Short-hand for:
305
+ *
306
+ * req.protocol == 'https'
307
+ *
308
+ * @return {Boolean}
309
+ * @public
310
+ */
311
+
312
+ defineGetter(req, 'secure', function secure(){
313
+ return this.protocol === 'https';
314
+ });
315
+
316
+ /**
317
+ * Return the remote address from the trusted proxy.
318
+ *
319
+ * The is the remote address on the socket unless
320
+ * "trust proxy" is set.
321
+ *
322
+ * @return {String}
323
+ * @public
324
+ */
325
+
326
+ defineGetter(req, 'ip', function ip(){
327
+ var trust = this.app.get('trust proxy fn');
328
+ return proxyaddr(this, trust);
329
+ });
330
+
331
+ /**
332
+ * When "trust proxy" is set, trusted proxy addresses + client.
333
+ *
334
+ * For example if the value were "client, proxy1, proxy2"
335
+ * you would receive the array `["client", "proxy1", "proxy2"]`
336
+ * where "proxy2" is the furthest down-stream and "proxy1" and
337
+ * "proxy2" were trusted.
338
+ *
339
+ * @return {Array}
340
+ * @public
341
+ */
342
+
343
+ defineGetter(req, 'ips', function ips() {
344
+ var trust = this.app.get('trust proxy fn');
345
+ var addrs = proxyaddr.all(this, trust);
346
+ return addrs.slice(1).reverse();
347
+ });
348
+
349
+ /**
350
+ * Return subdomains as an array.
351
+ *
352
+ * Subdomains are the dot-separated parts of the host before the main domain of
353
+ * the app. By default, the domain of the app is assumed to be the last two
354
+ * parts of the host. This can be changed by setting "subdomain offset".
355
+ *
356
+ * For example, if the domain is "tobi.ferrets.example.com":
357
+ * If "subdomain offset" is not set, req.subdomains is `["ferrets", "tobi"]`.
358
+ * If "subdomain offset" is 3, req.subdomains is `["tobi"]`.
359
+ *
360
+ * @return {Array}
361
+ * @public
362
+ */
363
+
364
+ defineGetter(req, 'subdomains', function subdomains() {
365
+ var hostname = this.hostname;
366
+
367
+ if (!hostname) return [];
368
+
369
+ var offset = this.app.get('subdomain offset');
370
+ var subdomains = !isIP(hostname)
371
+ ? hostname.split('.').reverse()
372
+ : [hostname];
373
+
374
+ return subdomains.slice(offset);
375
+ });
376
+
377
+ /**
378
+ * Short-hand for `url.parse(req.url).pathname`.
379
+ *
380
+ * @return {String}
381
+ * @public
382
+ */
383
+
384
+ defineGetter(req, 'path', function path() {
385
+ return parse(this).pathname;
386
+ });
387
+
388
+ /**
389
+ * Parse the "Host" header field to a hostname.
390
+ *
391
+ * When the "trust proxy" setting trusts the socket
392
+ * address, the "X-Forwarded-Host" header field will
393
+ * be trusted.
394
+ *
395
+ * @return {String}
396
+ * @public
397
+ */
398
+
399
+ defineGetter(req, 'hostname', function hostname(){
400
+ var trust = this.app.get('trust proxy fn');
401
+ var host = this.get('X-Forwarded-Host');
402
+
403
+ if (!host || !trust(this.connection.remoteAddress, 0)) {
404
+ host = this.get('Host');
405
+ }
406
+
407
+ if (!host) return;
408
+
409
+ // IPv6 literal support
410
+ var offset = host[0] === '['
411
+ ? host.indexOf(']') + 1
412
+ : 0;
413
+ var index = host.indexOf(':', offset);
414
+
415
+ return index !== -1
416
+ ? host.substring(0, index)
417
+ : host;
418
+ });
419
+
420
+ // TODO: change req.host to return host in next major
421
+
422
+ defineGetter(req, 'host', deprecate.function(function host(){
423
+ return this.hostname;
424
+ }, 'req.host: Use req.hostname instead'));
425
+
426
+ /**
427
+ * Check if the request is fresh, aka
428
+ * Last-Modified and/or the ETag
429
+ * still match.
430
+ *
431
+ * @return {Boolean}
432
+ * @public
433
+ */
434
+
435
+ defineGetter(req, 'fresh', function(){
436
+ var method = this.method;
437
+ var s = this.res.statusCode;
438
+
439
+ // GET or HEAD for weak freshness validation only
440
+ if ('GET' != method && 'HEAD' != method) return false;
441
+
442
+ // 2xx or 304 as per rfc2616 14.26
443
+ if ((s >= 200 && s < 300) || 304 == s) {
444
+ return fresh(this.headers, (this.res._headers || {}));
445
+ }
446
+
447
+ return false;
448
+ });
449
+
450
+ /**
451
+ * Check if the request is stale, aka
452
+ * "Last-Modified" and / or the "ETag" for the
453
+ * resource has changed.
454
+ *
455
+ * @return {Boolean}
456
+ * @public
457
+ */
458
+
459
+ defineGetter(req, 'stale', function stale(){
460
+ return !this.fresh;
461
+ });
462
+
463
+ /**
464
+ * Check if the request was an _XMLHttpRequest_.
465
+ *
466
+ * @return {Boolean}
467
+ * @public
468
+ */
469
+
470
+ defineGetter(req, 'xhr', function xhr(){
471
+ var val = this.get('X-Requested-With') || '';
472
+ return val.toLowerCase() === 'xmlhttprequest';
473
+ });
474
+
475
+ /**
476
+ * Helper function for creating a getter on an object.
477
+ *
478
+ * @param {Object} obj
479
+ * @param {String} name
480
+ * @param {Function} getter
481
+ * @private
482
+ */
483
+ function defineGetter(obj, name, getter) {
484
+ Object.defineProperty(obj, name, {
485
+ configurable: true,
486
+ enumerable: true,
487
+ get: getter
488
+ });
489
+ };