passenger 2.1.3 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of passenger might be problematic. Click here for more details.

Files changed (398) hide show
  1. data/DEVELOPERS.TXT +2 -0
  2. data/INSTALL +3 -1
  3. data/LICENSE +19 -355
  4. data/NEWS +3 -0
  5. data/README +11 -4
  6. data/Rakefile +435 -236
  7. data/bin/passenger-config +20 -14
  8. data/bin/passenger-install-apache2-module +67 -201
  9. data/bin/passenger-install-nginx-module +477 -0
  10. data/bin/passenger-make-enterprisey +17 -12
  11. data/bin/passenger-memory-stats +33 -23
  12. data/bin/passenger-spawn-server +17 -12
  13. data/bin/passenger-status +18 -13
  14. data/bin/passenger-stress-test +17 -12
  15. data/doc/{Users guide.html → Users guide Apache.html } +79 -61
  16. data/doc/{Users guide.txt → Users guide Apache.txt } +43 -939
  17. data/doc/Users guide Nginx.html +2276 -0
  18. data/doc/Users guide Nginx.txt +776 -0
  19. data/doc/cxxapi/ApplicationPoolServer_8h-source.html +9 -4
  20. data/doc/cxxapi/ApplicationPool_8h-source.html +9 -4
  21. data/doc/cxxapi/Application_8h-source.html +26 -21
  22. data/doc/cxxapi/Bucket_8h-source.html +54 -44
  23. data/doc/cxxapi/CachedFileStat_8h-source.html +9 -4
  24. data/doc/cxxapi/Configuration_8h-source.html +357 -339
  25. data/doc/cxxapi/DirectoryMapper_8h-source.html +294 -280
  26. data/doc/cxxapi/DummySpawnManager_8h-source.html +9 -4
  27. data/doc/cxxapi/Exceptions_8h-source.html +9 -4
  28. data/doc/cxxapi/FileChecker_8h-source.html +9 -4
  29. data/doc/cxxapi/Hooks_8h-source.html +50 -40
  30. data/doc/cxxapi/Logging_8h-source.html +9 -4
  31. data/doc/cxxapi/MessageChannel_8h-source.html +20 -15
  32. data/doc/cxxapi/PoolOptions_8h-source.html +10 -5
  33. data/doc/cxxapi/SpawnManager_8h-source.html +9 -4
  34. data/doc/cxxapi/StandardApplicationPool_8h-source.html +10 -5
  35. data/doc/cxxapi/SystemTime_8h-source.html +9 -4
  36. data/doc/cxxapi/Utils_8h-source.html +242 -214
  37. data/doc/cxxapi/annotated.html +4 -28
  38. data/doc/cxxapi/classClient-members.html +4 -4
  39. data/doc/cxxapi/classClient.html +14 -11
  40. data/doc/cxxapi/classHooks-members.html +4 -5
  41. data/doc/cxxapi/classHooks.html +26 -24
  42. data/doc/cxxapi/classPassenger_1_1Application-members.html +4 -4
  43. data/doc/cxxapi/classPassenger_1_1Application.html +40 -37
  44. data/doc/cxxapi/classPassenger_1_1ApplicationPool-members.html +4 -4
  45. data/doc/cxxapi/classPassenger_1_1ApplicationPool.html +95 -92
  46. data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer-members.html +4 -4
  47. data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer.html +26 -23
  48. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.map +1 -1
  49. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.md5 +1 -1
  50. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.png +0 -0
  51. data/doc/cxxapi/classPassenger_1_1Application_1_1Session-members.html +17 -17
  52. data/doc/cxxapi/classPassenger_1_1Application_1_1Session.html +139 -136
  53. data/doc/cxxapi/classPassenger_1_1BufferedUpload-members.html +4 -4
  54. data/doc/cxxapi/classPassenger_1_1BufferedUpload.html +13 -10
  55. data/doc/cxxapi/classPassenger_1_1BusyException-members.html +4 -4
  56. data/doc/cxxapi/classPassenger_1_1BusyException.html +11 -8
  57. data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +4 -4
  58. data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +11 -8
  59. data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +4 -5
  60. data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +45 -43
  61. data/doc/cxxapi/classPassenger_1_1DummySpawnManager-members.html +4 -4
  62. data/doc/cxxapi/classPassenger_1_1DummySpawnManager.html +13 -10
  63. data/doc/cxxapi/classPassenger_1_1FileChecker-members.html +4 -4
  64. data/doc/cxxapi/classPassenger_1_1FileChecker.html +22 -19
  65. data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +4 -4
  66. data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +12 -9
  67. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.map +1 -1
  68. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.md5 +1 -1
  69. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
  70. data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +4 -4
  71. data/doc/cxxapi/classPassenger_1_1FileSystemException.html +14 -11
  72. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.map +1 -1
  73. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.md5 +1 -1
  74. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.png +0 -0
  75. data/doc/cxxapi/classPassenger_1_1IOException-members.html +4 -4
  76. data/doc/cxxapi/classPassenger_1_1IOException.html +12 -9
  77. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +1 -1
  78. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +1 -1
  79. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
  80. data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +4 -4
  81. data/doc/cxxapi/classPassenger_1_1MessageChannel.html +228 -225
  82. data/doc/cxxapi/classPassenger_1_1RuntimeException-members.html +4 -4
  83. data/doc/cxxapi/classPassenger_1_1RuntimeException.html +11 -8
  84. data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +4 -4
  85. data/doc/cxxapi/classPassenger_1_1SpawnException.html +14 -11
  86. data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +4 -4
  87. data/doc/cxxapi/classPassenger_1_1SpawnManager.html +50 -47
  88. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool-members.html +4 -4
  89. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool.html +73 -70
  90. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.map +1 -1
  91. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.md5 +1 -1
  92. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.png +0 -0
  93. data/doc/cxxapi/classPassenger_1_1SystemException-members.html +4 -4
  94. data/doc/cxxapi/classPassenger_1_1SystemException.html +17 -14
  95. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map +1 -1
  96. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5 +1 -1
  97. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
  98. data/doc/cxxapi/classPassenger_1_1SystemTime-members.html +4 -4
  99. data/doc/cxxapi/classPassenger_1_1SystemTime.html +14 -11
  100. data/doc/cxxapi/classes.html +35 -0
  101. data/doc/cxxapi/definitions_8h-source.html +9 -4
  102. data/doc/cxxapi/doxygen.css +311 -303
  103. data/doc/cxxapi/files.html +9 -18
  104. data/doc/cxxapi/functions.html +5 -224
  105. data/doc/cxxapi/functions_func.html +5 -185
  106. data/doc/cxxapi/functions_type.html +4 -4
  107. data/doc/cxxapi/functions_vars.html +4 -4
  108. data/doc/cxxapi/graph_legend.dot +19 -19
  109. data/doc/cxxapi/graph_legend.html +5 -5
  110. data/doc/cxxapi/graph_legend.png +0 -0
  111. data/doc/cxxapi/group__Configuration.html +11 -13
  112. data/doc/cxxapi/group__Configuration.png +0 -0
  113. data/doc/cxxapi/group__Core.html +10 -12
  114. data/doc/cxxapi/group__Core.png +0 -0
  115. data/doc/cxxapi/group__Exceptions.html +5 -7
  116. data/doc/cxxapi/group__Hooks.html +5 -7
  117. data/doc/cxxapi/group__Hooks.png +0 -0
  118. data/doc/cxxapi/group__Support.html +5 -624
  119. data/doc/cxxapi/hierarchy.html +6 -6
  120. data/doc/cxxapi/inherit__graph__0.map +1 -1
  121. data/doc/cxxapi/inherit__graph__0.md5 +1 -1
  122. data/doc/cxxapi/inherit__graph__0.png +0 -0
  123. data/doc/cxxapi/inherit__graph__1.map +1 -1
  124. data/doc/cxxapi/inherit__graph__1.md5 +1 -1
  125. data/doc/cxxapi/inherit__graph__1.png +0 -0
  126. data/doc/cxxapi/inherit__graph__10.map +1 -1
  127. data/doc/cxxapi/inherit__graph__10.md5 +1 -1
  128. data/doc/cxxapi/inherit__graph__10.png +0 -0
  129. data/doc/cxxapi/inherit__graph__11.map +1 -1
  130. data/doc/cxxapi/inherit__graph__11.md5 +1 -1
  131. data/doc/cxxapi/inherit__graph__11.png +0 -0
  132. data/doc/cxxapi/inherit__graph__12.map +1 -1
  133. data/doc/cxxapi/inherit__graph__12.md5 +1 -1
  134. data/doc/cxxapi/inherit__graph__12.png +0 -0
  135. data/doc/cxxapi/inherit__graph__13.map +1 -2
  136. data/doc/cxxapi/inherit__graph__13.md5 +1 -1
  137. data/doc/cxxapi/inherit__graph__13.png +0 -0
  138. data/doc/cxxapi/inherit__graph__14.map +2 -1
  139. data/doc/cxxapi/inherit__graph__14.md5 +1 -1
  140. data/doc/cxxapi/inherit__graph__14.png +0 -0
  141. data/doc/cxxapi/inherit__graph__15.map +1 -1
  142. data/doc/cxxapi/inherit__graph__15.md5 +1 -1
  143. data/doc/cxxapi/inherit__graph__15.png +0 -0
  144. data/doc/cxxapi/inherit__graph__16.map +1 -1
  145. data/doc/cxxapi/inherit__graph__16.md5 +1 -1
  146. data/doc/cxxapi/inherit__graph__16.png +0 -0
  147. data/doc/cxxapi/inherit__graph__17.map +1 -1
  148. data/doc/cxxapi/inherit__graph__17.md5 +1 -1
  149. data/doc/cxxapi/inherit__graph__17.png +0 -0
  150. data/doc/cxxapi/inherit__graph__18.map +1 -1
  151. data/doc/cxxapi/inherit__graph__18.md5 +1 -1
  152. data/doc/cxxapi/inherit__graph__18.png +0 -0
  153. data/doc/cxxapi/inherit__graph__19.map +1 -1
  154. data/doc/cxxapi/inherit__graph__19.md5 +1 -1
  155. data/doc/cxxapi/inherit__graph__19.png +0 -0
  156. data/doc/cxxapi/inherit__graph__2.map +1 -1
  157. data/doc/cxxapi/inherit__graph__2.md5 +1 -1
  158. data/doc/cxxapi/inherit__graph__2.png +0 -0
  159. data/doc/cxxapi/inherit__graph__20.map +2 -2
  160. data/doc/cxxapi/inherit__graph__20.md5 +1 -1
  161. data/doc/cxxapi/inherit__graph__20.png +0 -0
  162. data/doc/cxxapi/inherit__graph__21.map +1 -1
  163. data/doc/cxxapi/inherit__graph__21.md5 +1 -1
  164. data/doc/cxxapi/inherit__graph__21.png +0 -0
  165. data/doc/cxxapi/inherit__graph__3.map +1 -1
  166. data/doc/cxxapi/inherit__graph__3.md5 +1 -1
  167. data/doc/cxxapi/inherit__graph__3.png +0 -0
  168. data/doc/cxxapi/inherit__graph__4.map +1 -1
  169. data/doc/cxxapi/inherit__graph__4.md5 +1 -1
  170. data/doc/cxxapi/inherit__graph__4.png +0 -0
  171. data/doc/cxxapi/inherit__graph__5.map +1 -2
  172. data/doc/cxxapi/inherit__graph__5.md5 +1 -1
  173. data/doc/cxxapi/inherit__graph__5.png +0 -0
  174. data/doc/cxxapi/inherit__graph__6.map +2 -1
  175. data/doc/cxxapi/inherit__graph__6.md5 +1 -1
  176. data/doc/cxxapi/inherit__graph__6.png +0 -0
  177. data/doc/cxxapi/inherit__graph__7.map +1 -1
  178. data/doc/cxxapi/inherit__graph__7.md5 +1 -1
  179. data/doc/cxxapi/inherit__graph__7.png +0 -0
  180. data/doc/cxxapi/inherit__graph__8.map +1 -1
  181. data/doc/cxxapi/inherit__graph__8.md5 +1 -1
  182. data/doc/cxxapi/inherit__graph__8.png +0 -0
  183. data/doc/cxxapi/inherit__graph__9.map +1 -1
  184. data/doc/cxxapi/inherit__graph__9.md5 +1 -1
  185. data/doc/cxxapi/inherit__graph__9.png +0 -0
  186. data/doc/cxxapi/inherits.html +41 -41
  187. data/doc/cxxapi/main.html +4 -4
  188. data/doc/cxxapi/modules.html +4 -5
  189. data/doc/cxxapi/structPassenger_1_1AnythingToString-members.html +4 -4
  190. data/doc/cxxapi/structPassenger_1_1AnythingToString.html +13 -10
  191. data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4-members.html +5 -5
  192. data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html +16 -13
  193. data/doc/cxxapi/structPassenger_1_1PoolOptions-members.html +4 -4
  194. data/doc/cxxapi/structPassenger_1_1PoolOptions.html +63 -60
  195. data/doc/cxxapi/tabs.css +5 -2
  196. data/doc/cxxapi/tree.html +7 -81
  197. data/doc/rdoc/classes/ConditionVariable.html +59 -59
  198. data/doc/rdoc/classes/Exception.html +11 -11
  199. data/doc/rdoc/classes/GC.html +4 -4
  200. data/doc/rdoc/classes/IO.html +14 -14
  201. data/doc/rdoc/classes/PhusionPassenger.html +75 -20
  202. data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +153 -0
  203. data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +125 -130
  204. data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +236 -236
  205. data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +213 -213
  206. data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +28 -28
  207. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess.html +91 -75
  208. data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +10 -10
  209. data/doc/rdoc/classes/PhusionPassenger/Application.html +64 -64
  210. data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +34 -34
  211. data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +13 -13
  212. data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +30 -30
  213. data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +10 -10
  214. data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +136 -136
  215. data/doc/rdoc/classes/PhusionPassenger/NativeSupport.html +24 -24
  216. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +42 -42
  217. data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +55 -53
  218. data/doc/rdoc/classes/PhusionPassenger/Railz.html +1 -1
  219. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner.html +25 -30
  220. data/doc/rdoc/classes/PhusionPassenger/Railz/CGIFixed.html +23 -23
  221. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner.html +116 -117
  222. data/doc/rdoc/classes/PhusionPassenger/Railz/RequestHandler.html +22 -22
  223. data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +118 -124
  224. data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +10 -10
  225. data/doc/rdoc/classes/PhusionPassenger/Utils.html +354 -354
  226. data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +9 -9
  227. data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +37 -37
  228. data/doc/rdoc/classes/PlatformInfo.html +282 -261
  229. data/doc/rdoc/classes/RakeExtensions.html +7 -7
  230. data/doc/rdoc/classes/Signal.html +26 -26
  231. data/doc/rdoc/created.rid +1 -1
  232. data/doc/rdoc/files/DEVELOPERS_TXT.html +6 -1
  233. data/doc/rdoc/files/README.html +15 -6
  234. data/doc/rdoc/files/ext/phusion_passenger/native_support_c.html +1 -1
  235. data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +129 -0
  236. data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +20 -13
  237. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +19 -13
  238. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +19 -13
  239. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/control_process_rb.html +31 -1
  240. data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +31 -1
  241. data/doc/rdoc/files/lib/phusion_passenger/application_rb.html +19 -13
  242. data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +19 -13
  243. data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +21 -12
  244. data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +19 -13
  245. data/doc/rdoc/files/lib/phusion_passenger/events_rb.html +19 -13
  246. data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +19 -13
  247. data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +19 -13
  248. data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +19 -13
  249. data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +122 -0
  250. data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +19 -13
  251. data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +22 -12
  252. data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +21 -12
  253. data/doc/rdoc/files/lib/phusion_passenger/railz/application_spawner_rb.html +19 -13
  254. data/doc/rdoc/files/lib/phusion_passenger/railz/cgi_fixed_rb.html +1 -1
  255. data/doc/rdoc/files/lib/phusion_passenger/railz/framework_spawner_rb.html +19 -13
  256. data/doc/rdoc/files/lib/phusion_passenger/railz/request_handler_rb.html +21 -12
  257. data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +19 -13
  258. data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +19 -13
  259. data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +27 -21
  260. data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +21 -12
  261. data/doc/rdoc/files/misc/rake/extensions_rb.html +21 -12
  262. data/doc/rdoc/fr_class_index.html +1 -0
  263. data/doc/rdoc/fr_file_index.html +2 -0
  264. data/doc/rdoc/fr_method_index.html +116 -112
  265. data/doc/users_guide_snippets/analysis_and_system_maintenance_tools.txt +144 -0
  266. data/doc/users_guide_snippets/appendix_a_about.txt +13 -0
  267. data/doc/users_guide_snippets/appendix_b_terminology.txt +63 -0
  268. data/doc/users_guide_snippets/appendix_c_spawning_methods.txt +304 -0
  269. data/doc/users_guide_snippets/global_queueing_explained.txt +78 -0
  270. data/doc/users_guide_snippets/rackup_specifications.txt +75 -0
  271. data/doc/users_guide_snippets/rails_spawn_method.txt +48 -0
  272. data/doc/users_guide_snippets/tips.txt +173 -0
  273. data/ext/apache2/Bucket.cpp +17 -12
  274. data/ext/apache2/Bucket.h +17 -12
  275. data/ext/apache2/Configuration.cpp +17 -12
  276. data/ext/apache2/Configuration.h +27 -14
  277. data/ext/apache2/DirectoryMapper.h +21 -12
  278. data/ext/apache2/Hooks.cpp +67 -21
  279. data/ext/apache2/Hooks.h +17 -12
  280. data/ext/apache2/mod_passenger.c +17 -12
  281. data/ext/{apache2 → common}/Application.h +19 -14
  282. data/ext/{apache2 → common}/ApplicationPool.h +17 -12
  283. data/ext/{apache2 → common}/ApplicationPoolServer.h +18 -72
  284. data/ext/{apache2 → common}/ApplicationPoolServerExecutable.cpp +45 -104
  285. data/ext/common/ApplicationPoolStatusReporter.h +212 -0
  286. data/ext/{apache2 → common}/CachedFileStat.cpp +17 -12
  287. data/ext/{apache2 → common}/CachedFileStat.h +17 -12
  288. data/ext/{apache2 → common}/DummySpawnManager.h +17 -12
  289. data/ext/{apache2 → common}/Exceptions.h +17 -12
  290. data/ext/{apache2 → common}/FileChecker.h +17 -12
  291. data/ext/common/Logging.cpp +65 -0
  292. data/ext/{apache2 → common}/Logging.h +17 -12
  293. data/ext/{apache2 → common}/MessageChannel.h +17 -12
  294. data/ext/{apache2 → common}/PoolOptions.h +17 -12
  295. data/ext/{apache2 → common}/SpawnManager.h +17 -12
  296. data/ext/{apache2 → common}/StandardApplicationPool.h +17 -12
  297. data/ext/common/StaticString.h +147 -0
  298. data/ext/common/SystemTime.cpp +33 -0
  299. data/ext/{apache2 → common}/SystemTime.h +17 -12
  300. data/ext/{apache2 → common}/Utils.cpp +69 -12
  301. data/ext/{apache2 → common}/Utils.h +41 -12
  302. data/ext/nginx/Configuration.c +1091 -0
  303. data/ext/nginx/Configuration.h +71 -0
  304. data/ext/nginx/ContentHandler.c +1154 -0
  305. data/ext/nginx/ContentHandler.h +64 -0
  306. data/ext/nginx/HelperServer.cpp +857 -0
  307. data/ext/nginx/HttpStatusExtractor.h +161 -0
  308. data/ext/nginx/ScgiRequestParser.h +317 -0
  309. data/ext/nginx/StaticContentHandler.c +222 -0
  310. data/ext/nginx/StaticContentHandler.h +37 -0
  311. data/ext/nginx/config +41 -0
  312. data/ext/nginx/ngx_http_passenger_module.c +572 -0
  313. data/ext/nginx/ngx_http_passenger_module.h +72 -0
  314. data/ext/oxt/backtrace.cpp +8 -1
  315. data/ext/oxt/system_calls.cpp +40 -0
  316. data/ext/oxt/system_calls.hpp +14 -7
  317. data/ext/phusion_passenger/extconf.rb +17 -12
  318. data/ext/phusion_passenger/native_support.c +19 -12
  319. data/lib/phusion_passenger/abstract_installer.rb +196 -0
  320. data/lib/phusion_passenger/abstract_request_handler.rb +19 -24
  321. data/lib/phusion_passenger/abstract_server.rb +17 -12
  322. data/lib/phusion_passenger/abstract_server_collection.rb +17 -12
  323. data/lib/phusion_passenger/admin_tools.rb +23 -0
  324. data/lib/phusion_passenger/admin_tools/control_process.rb +39 -13
  325. data/lib/phusion_passenger/application.rb +17 -12
  326. data/lib/phusion_passenger/console_text_template.rb +17 -12
  327. data/lib/phusion_passenger/constants.rb +22 -11
  328. data/lib/phusion_passenger/dependencies.rb +47 -12
  329. data/lib/phusion_passenger/events.rb +17 -12
  330. data/lib/phusion_passenger/exceptions.rb +17 -12
  331. data/lib/phusion_passenger/html_template.rb +17 -12
  332. data/lib/phusion_passenger/message_channel.rb +17 -12
  333. data/lib/phusion_passenger/packaging.rb +39 -0
  334. data/lib/phusion_passenger/platform_info.rb +48 -22
  335. data/lib/phusion_passenger/rack/application_spawner.rb +22 -11
  336. data/lib/phusion_passenger/rack/request_handler.rb +21 -12
  337. data/lib/phusion_passenger/railz/application_spawner.rb +23 -23
  338. data/lib/phusion_passenger/railz/framework_spawner.rb +18 -14
  339. data/lib/phusion_passenger/railz/request_handler.rb +18 -11
  340. data/lib/phusion_passenger/simple_benchmarking.rb +17 -12
  341. data/lib/phusion_passenger/spawn_manager.rb +17 -20
  342. data/lib/phusion_passenger/templates/{apache_must_be_compiled_with_compatible_mpm.txt.erb → apache2/apache_must_be_compiled_with_compatible_mpm.txt.erb} +0 -0
  343. data/lib/phusion_passenger/templates/{apache2_config_snippets.txt.erb → apache2/config_snippets.txt.erb} +0 -0
  344. data/lib/phusion_passenger/templates/{deployment_example.txt.erb → apache2/deployment_example.txt.erb} +0 -0
  345. data/lib/phusion_passenger/templates/{no_write_permission_to_passenger_root.txt.erb → apache2/no_write_permission_to_passenger_root.txt.erb} +0 -0
  346. data/lib/phusion_passenger/templates/{possible_solutions_for_compilation_and_installation_problems.txt.erb → apache2/possible_solutions_for_compilation_and_installation_problems.txt.erb} +0 -0
  347. data/lib/phusion_passenger/templates/{run_installer_as_root.txt.erb → apache2/run_installer_as_root.txt.erb} +0 -0
  348. data/lib/phusion_passenger/templates/{welcome.txt.erb → apache2/welcome.txt.erb} +0 -0
  349. data/lib/phusion_passenger/templates/nginx/ask_for_extra_configure_flags.txt.erb +8 -0
  350. data/lib/phusion_passenger/templates/nginx/cannot_write_to_dir.txt.erb +11 -0
  351. data/lib/phusion_passenger/templates/nginx/config_snippets.txt.erb +17 -0
  352. data/lib/phusion_passenger/templates/nginx/config_snippets_inserted.txt.erb +20 -0
  353. data/lib/phusion_passenger/templates/nginx/confirm_extra_configure_flags.txt.erb +5 -0
  354. data/lib/phusion_passenger/templates/nginx/deployment_example.txt.erb +22 -0
  355. data/lib/phusion_passenger/templates/nginx/pcre_could_not_be_downloaded.txt.erb +11 -0
  356. data/lib/phusion_passenger/templates/nginx/pcre_could_not_be_extracted.txt.erb +11 -0
  357. data/lib/phusion_passenger/templates/nginx/possible_solutions_for_compilation_and_installation_problems.txt.erb +11 -0
  358. data/lib/phusion_passenger/templates/nginx/possible_solutions_for_download_and_extraction_problems.txt.erb +20 -0
  359. data/lib/phusion_passenger/templates/nginx/query_download_and_install.txt.erb +21 -0
  360. data/lib/phusion_passenger/templates/nginx/run_installer_as_root.txt.erb +8 -0
  361. data/lib/phusion_passenger/templates/nginx/welcome.txt.erb +15 -0
  362. data/lib/phusion_passenger/utils.rb +20 -15
  363. data/lib/phusion_passenger/wsgi/application_spawner.rb +18 -11
  364. data/lib/phusion_passenger/wsgi/request_handler.py +23 -0
  365. data/misc/copy_boost_headers.rb +23 -0
  366. data/misc/find_owner_pipe_leaks.rb +18 -11
  367. data/misc/rake/cplusplus.rb +18 -11
  368. data/misc/rake/extensions.rb +21 -14
  369. data/misc/render_error_pages.rb +18 -11
  370. data/test/ApplicationPoolServerTest.cpp +1 -3
  371. data/test/ApplicationPoolServer_ApplicationPoolTest.cpp +1 -1
  372. data/test/CxxTestMain.cpp +19 -3
  373. data/test/HttpStatusExtractorTest.cpp +181 -0
  374. data/test/ScgiRequestParserTest.cpp +337 -0
  375. data/test/StaticStringTest.cpp +51 -0
  376. data/test/UtilsTest.cpp +32 -0
  377. data/test/config.yml.example +5 -0
  378. data/test/{integration_tests.rb → integration_tests/apache2_tests.rb} +7 -299
  379. data/test/integration_tests/hello_world_rack_spec.rb +36 -0
  380. data/test/integration_tests/hello_world_wsgi_spec.rb +41 -0
  381. data/test/integration_tests/mycook_spec.rb +192 -0
  382. data/test/integration_tests/nginx_tests.rb +98 -0
  383. data/test/ruby/rack/application_spawner_spec.rb +40 -0
  384. data/test/stub/nginx/koi-utf +109 -0
  385. data/test/stub/nginx/koi-win +103 -0
  386. data/test/stub/nginx/mime.types +70 -0
  387. data/test/stub/nginx/nginx.conf.erb +57 -0
  388. data/test/stub/nginx/win-utf +126 -0
  389. data/test/stub/rails_apps/mycook/app/controllers/uploads_controller.rb +4 -0
  390. data/test/stub/rails_apps/mycook/config/routes.rb +1 -1
  391. data/test/stub/wsgi/passenger_wsgi.pyc +0 -0
  392. data/test/support/Support.h +40 -0
  393. data/test/support/nginx_controller.rb +98 -0
  394. data/test/support/test_helper.rb +79 -0
  395. metadata +1091 -1028
  396. data/benchmark/DummyRequestHandler.cpp +0 -101
  397. data/ext/apache2/Logging.cpp +0 -60
  398. data/ext/apache2/SystemTime.cpp +0 -28
@@ -1,10 +1,10 @@
1
1
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
2
  <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
3
  <title>Passenger: Member List</title>
4
- <link href="doxygen.css" rel="stylesheet" type="text/css">
5
4
  <link href="tabs.css" rel="stylesheet" type="text/css">
5
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
6
6
  </head><body>
7
- <!-- Generated by Doxygen 1.5.5 -->
7
+ <!-- Generated by Doxygen 1.5.8 -->
8
8
  <div class="navigation" id="top">
9
9
  <div class="tabs">
10
10
  <ul>
@@ -28,8 +28,8 @@
28
28
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1BufferedUpload.html#fab496fee959db6320d909069ca6c2b9">getDir</a>()</td><td><a class="el" href="classPassenger_1_1BufferedUpload.html">Passenger::BufferedUpload</a></td><td><code> [inline, static]</code></td></tr>
29
29
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1BufferedUpload.html#0a340f2d972ae791f56f893901109dac">handle</a></td><td><a class="el" href="classPassenger_1_1BufferedUpload.html">Passenger::BufferedUpload</a></td><td></td></tr>
30
30
  </table></div>
31
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 31 14:00:31 2009 for Passenger by&nbsp;
31
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 for Passenger by&nbsp;
32
32
  <a href="http://www.doxygen.org/index.html">
33
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
33
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
34
34
  </body>
35
35
  </html>
@@ -1,10 +1,10 @@
1
1
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
2
  <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
3
  <title>Passenger: Passenger::BufferedUpload Class Reference</title>
4
- <link href="doxygen.css" rel="stylesheet" type="text/css">
5
4
  <link href="tabs.css" rel="stylesheet" type="text/css">
5
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
6
6
  </head><body>
7
- <!-- Generated by Doxygen 1.5.5 -->
7
+ <!-- Generated by Doxygen 1.5.8 -->
8
8
  <div class="navigation" id="top">
9
9
  <div class="tabs">
10
10
  <ul>
@@ -28,12 +28,14 @@
28
28
  <h1>Passenger::BufferedUpload Class Reference<br>
29
29
  <small>
30
30
  [<a class="el" href="group__Support.html">Apache-independent support classes and function</a>]</small>
31
- </h1><!-- doxytag: class="Passenger::BufferedUpload" --><code>#include &lt;<a class="el" href="Utils_8h-source.html">Utils.h</a>&gt;</code>
31
+ </h1><!-- doxytag: class="Passenger::BufferedUpload" -->Represents a buffered upload file.
32
+ <a href="#_details">More...</a>
33
+ <p>
34
+ <code>#include &lt;<a class="el" href="Utils_8h-source.html">Utils.h</a>&gt;</code>
32
35
  <p>
33
36
 
34
37
  <p>
35
- <a href="classPassenger_1_1BufferedUpload-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
36
- Represents a buffered upload file. <table border="0" cellpadding="0" cellspacing="0">
38
+ <a href="classPassenger_1_1BufferedUpload-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37
39
  <tr><td></td></tr>
38
40
  <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
39
41
  <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1BufferedUpload.html#b85f5986340242fd2389b81ce4304e6b">BufferedUpload</a> (const char *identifier=&quot;temp&quot;)</td></tr>
@@ -48,7 +50,8 @@ Represents a buffered upload file. <table border="0" cellpadding="0" cellspacing
48
50
 
49
51
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The file handle. <a href="#0a340f2d972ae791f56f893901109dac"></a><br></td></tr>
50
52
  </table>
51
- <hr><h2>Constructor &amp; Destructor Documentation</h2>
53
+ <hr><a name="_details"></a><h2>Detailed Description</h2>
54
+ Represents a buffered upload file. <hr><h2>Constructor &amp; Destructor Documentation</h2>
52
55
  <a class="anchor" name="b85f5986340242fd2389b81ce4304e6b"></a><!-- doxytag: member="Passenger::BufferedUpload::BufferedUpload" ref="b85f5986340242fd2389b81ce4304e6b" args="(const char *identifier=&quot;temp&quot;)" -->
53
56
  <div class="memitem">
54
57
  <div class="memproto">
@@ -59,7 +62,7 @@ Represents a buffered upload file. <table border="0" cellpadding="0" cellspacing
59
62
  <td class="paramtype">const char *&nbsp;</td>
60
63
  <td class="paramname"> <em>identifier</em> = <code>&quot;temp&quot;</code> </td>
61
64
  <td>&nbsp;)&nbsp;</td>
62
- <td width="100%"><code> [inline]</code></td>
65
+ <td><code> [inline]</code></td>
63
66
  </tr>
64
67
  </table>
65
68
  </div>
@@ -86,7 +89,7 @@ Create an empty upload bufer file, and open it for reading and writing.
86
89
  <td>(</td>
87
90
  <td class="paramname"> </td>
88
91
  <td>&nbsp;)&nbsp;</td>
89
- <td width="100%"><code> [inline, static]</code></td>
92
+ <td><code> [inline, static]</code></td>
90
93
  </tr>
91
94
  </table>
92
95
  </div>
@@ -119,8 +122,8 @@ The file handle.
119
122
  <hr>The documentation for this class was generated from the following file:<ul>
120
123
  <li><a class="el" href="Utils_8h-source.html">Utils.h</a></ul>
121
124
  </div>
122
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 31 14:00:31 2009 for Passenger by&nbsp;
125
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 for Passenger by&nbsp;
123
126
  <a href="http://www.doxygen.org/index.html">
124
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
127
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
125
128
  </body>
126
129
  </html>
@@ -1,10 +1,10 @@
1
1
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
2
  <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
3
  <title>Passenger: Member List</title>
4
- <link href="doxygen.css" rel="stylesheet" type="text/css">
5
4
  <link href="tabs.css" rel="stylesheet" type="text/css">
5
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
6
6
  </head><body>
7
- <!-- Generated by Doxygen 1.5.5 -->
7
+ <!-- Generated by Doxygen 1.5.8 -->
8
8
  <div class="navigation" id="top">
9
9
  <div class="tabs">
10
10
  <ul>
@@ -25,8 +25,8 @@
25
25
  <div class="contents">
26
26
  <h1>Passenger::BusyException Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1BusyException.html">Passenger::BusyException</a>, including all inherited members.<p><table>
27
27
  </table></div>
28
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 31 14:00:31 2009 for Passenger by&nbsp;
28
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 for Passenger by&nbsp;
29
29
  <a href="http://www.doxygen.org/index.html">
30
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
30
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
31
31
  </body>
32
32
  </html>
@@ -1,10 +1,10 @@
1
1
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
2
  <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
3
  <title>Passenger: Passenger::BusyException Class Reference</title>
4
- <link href="doxygen.css" rel="stylesheet" type="text/css">
5
4
  <link href="tabs.css" rel="stylesheet" type="text/css">
5
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
6
6
  </head><body>
7
- <!-- Generated by Doxygen 1.5.5 -->
7
+ <!-- Generated by Doxygen 1.5.8 -->
8
8
  <div class="navigation" id="top">
9
9
  <div class="tabs">
10
10
  <ul>
@@ -28,19 +28,22 @@
28
28
  <h1>Passenger::BusyException Class Reference<br>
29
29
  <small>
30
30
  [<a class="el" href="group__Exceptions.html">Exceptions</a>]</small>
31
- </h1><!-- doxytag: class="Passenger::BusyException" --><code>#include &lt;<a class="el" href="Exceptions_8h-source.html">Exceptions.h</a>&gt;</code>
31
+ </h1><!-- doxytag: class="Passenger::BusyException" -->The application pool is too busy and cannot fulfill a get() request.
32
+ <a href="#_details">More...</a>
33
+ <p>
34
+ <code>#include &lt;<a class="el" href="Exceptions_8h-source.html">Exceptions.h</a>&gt;</code>
32
35
  <p>
33
36
 
34
37
  <p>
35
- <a href="classPassenger_1_1BusyException-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
36
- The application pool is too busy and cannot fulfill a get() request. <table border="0" cellpadding="0" cellspacing="0">
38
+ <a href="classPassenger_1_1BusyException-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37
39
  <tr><td></td></tr>
38
40
  </table>
39
- <hr>The documentation for this class was generated from the following file:<ul>
41
+ <hr><a name="_details"></a><h2>Detailed Description</h2>
42
+ The application pool is too busy and cannot fulfill a get() request. <hr>The documentation for this class was generated from the following file:<ul>
40
43
  <li><a class="el" href="Exceptions_8h-source.html">Exceptions.h</a></ul>
41
44
  </div>
42
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 31 14:00:31 2009 for Passenger by&nbsp;
45
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 for Passenger by&nbsp;
43
46
  <a href="http://www.doxygen.org/index.html">
44
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
47
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
45
48
  </body>
46
49
  </html>
@@ -1,10 +1,10 @@
1
1
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
2
  <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
3
  <title>Passenger: Member List</title>
4
- <link href="doxygen.css" rel="stylesheet" type="text/css">
5
4
  <link href="tabs.css" rel="stylesheet" type="text/css">
5
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
6
6
  </head><body>
7
- <!-- Generated by Doxygen 1.5.5 -->
7
+ <!-- Generated by Doxygen 1.5.8 -->
8
8
  <div class="navigation" id="top">
9
9
  <div class="tabs">
10
10
  <ul>
@@ -25,8 +25,8 @@
25
25
  <div class="contents">
26
26
  <h1>Passenger::ConfigurationException Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1ConfigurationException.html">Passenger::ConfigurationException</a>, including all inherited members.<p><table>
27
27
  </table></div>
28
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 31 14:00:31 2009 for Passenger by&nbsp;
28
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 for Passenger by&nbsp;
29
29
  <a href="http://www.doxygen.org/index.html">
30
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
30
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
31
31
  </body>
32
32
  </html>
@@ -1,10 +1,10 @@
1
1
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
2
  <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
3
  <title>Passenger: Passenger::ConfigurationException Class Reference</title>
4
- <link href="doxygen.css" rel="stylesheet" type="text/css">
5
4
  <link href="tabs.css" rel="stylesheet" type="text/css">
5
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
6
6
  </head><body>
7
- <!-- Generated by Doxygen 1.5.5 -->
7
+ <!-- Generated by Doxygen 1.5.8 -->
8
8
  <div class="navigation" id="top">
9
9
  <div class="tabs">
10
10
  <ul>
@@ -25,19 +25,22 @@
25
25
  </div>
26
26
  </div>
27
27
  <div class="contents">
28
- <h1>Passenger::ConfigurationException Class Reference</h1><!-- doxytag: class="Passenger::ConfigurationException" --><code>#include &lt;<a class="el" href="Exceptions_8h-source.html">Exceptions.h</a>&gt;</code>
28
+ <h1>Passenger::ConfigurationException Class Reference</h1><!-- doxytag: class="Passenger::ConfigurationException" -->Thrown when an invalid configuration is given.
29
+ <a href="#_details">More...</a>
30
+ <p>
31
+ <code>#include &lt;<a class="el" href="Exceptions_8h-source.html">Exceptions.h</a>&gt;</code>
29
32
  <p>
30
33
 
31
34
  <p>
32
- <a href="classPassenger_1_1ConfigurationException-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
33
- Thrown when an invalid configuration is given. <table border="0" cellpadding="0" cellspacing="0">
35
+ <a href="classPassenger_1_1ConfigurationException-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
34
36
  <tr><td></td></tr>
35
37
  </table>
36
- <hr>The documentation for this class was generated from the following file:<ul>
38
+ <hr><a name="_details"></a><h2>Detailed Description</h2>
39
+ Thrown when an invalid configuration is given. <hr>The documentation for this class was generated from the following file:<ul>
37
40
  <li><a class="el" href="Exceptions_8h-source.html">Exceptions.h</a></ul>
38
41
  </div>
39
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 31 14:00:31 2009 for Passenger by&nbsp;
42
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 for Passenger by&nbsp;
40
43
  <a href="http://www.doxygen.org/index.html">
41
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
44
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
42
45
  </body>
43
46
  </html>
@@ -1,10 +1,10 @@
1
1
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
2
  <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
3
  <title>Passenger: Member List</title>
4
- <link href="doxygen.css" rel="stylesheet" type="text/css">
5
4
  <link href="tabs.css" rel="stylesheet" type="text/css">
5
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
6
6
  </head><body>
7
- <!-- Generated by Doxygen 1.5.5 -->
7
+ <!-- Generated by Doxygen 1.5.8 -->
8
8
  <div class="navigation" id="top">
9
9
  <div class="tabs">
10
10
  <ul>
@@ -17,7 +17,6 @@
17
17
  <div class="tabs">
18
18
  <ul>
19
19
  <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
20
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
21
20
  <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
22
21
  </ul>
23
22
  </div>
@@ -31,8 +30,8 @@
31
30
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1DirectoryMapper.html#f5091e3cef3878e160e5d3b2181d82fb">getEnvironment</a>()</td><td><a class="el" href="classPassenger_1_1DirectoryMapper.html">Passenger::DirectoryMapper</a></td><td><code> [inline]</code></td></tr>
32
31
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1DirectoryMapper.html#ef969f27622fb215990a870076648aa1">getPublicDirectory</a>()</td><td><a class="el" href="classPassenger_1_1DirectoryMapper.html">Passenger::DirectoryMapper</a></td><td><code> [inline]</code></td></tr>
33
32
  </table></div>
34
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 31 14:00:30 2009 for Passenger by&nbsp;
33
+ <hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 19:48:18 2009 for Passenger by&nbsp;
35
34
  <a href="http://www.doxygen.org/index.html">
36
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
35
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
37
36
  </body>
38
37
  </html>
@@ -1,10 +1,10 @@
1
1
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
2
  <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
3
  <title>Passenger: Passenger::DirectoryMapper Class Reference</title>
4
- <link href="doxygen.css" rel="stylesheet" type="text/css">
5
4
  <link href="tabs.css" rel="stylesheet" type="text/css">
5
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
6
6
  </head><body>
7
- <!-- Generated by Doxygen 1.5.5 -->
7
+ <!-- Generated by Doxygen 1.5.8 -->
8
8
  <div class="navigation" id="top">
9
9
  <div class="tabs">
10
10
  <ul>
@@ -17,7 +17,6 @@
17
17
  <div class="tabs">
18
18
  <ul>
19
19
  <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
20
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
21
20
  <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
22
21
  </ul>
23
22
  </div>
@@ -28,16 +27,14 @@
28
27
  <h1>Passenger::DirectoryMapper Class Reference<br>
29
28
  <small>
30
29
  [<a class="el" href="group__Core.html">Core Apache-related classes and functions</a>]</small>
31
- </h1><!-- doxytag: class="Passenger::DirectoryMapper" --><code>#include &lt;<a class="el" href="DirectoryMapper_8h-source.html">DirectoryMapper.h</a>&gt;</code>
30
+ </h1><!-- doxytag: class="Passenger::DirectoryMapper" -->Utility class for determining URI-to-application directory mappings.
31
+ <a href="#_details">More...</a>
32
32
  <p>
33
-
33
+ <code>#include &lt;<a class="el" href="DirectoryMapper_8h-source.html">DirectoryMapper.h</a>&gt;</code>
34
34
  <p>
35
- <a href="classPassenger_1_1DirectoryMapper-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
36
- Utility class for determining URI-to-application directory mappings.
35
+
37
36
  <p>
38
- Given a URI, it will determine whether that URI belongs to a Phusion Passenger-handled application, what the base URI of that application is, and what the associated 'public' directory is.<p>
39
- <dl class="note" compact><dt><b>Note:</b></dt><dd>This class is not thread-safe, but is reentrant. </dd></dl>
40
- <table border="0" cellpadding="0" cellspacing="0">
37
+ <a href="classPassenger_1_1DirectoryMapper-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
41
38
  <tr><td></td></tr>
42
39
  <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
43
40
  <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1DirectoryMapper.html#e2725c3280a5e5d63dbc099fe3c3d82a">DirectoryMapper</a> (request_rec *r, DirConfig *config, CachedMultiFileStat *mstat, unsigned int throttleRate)</td></tr>
@@ -59,6 +56,11 @@ Given a URI, it will determine whether that URI belongs to a Phusion Passenger-h
59
56
 
60
57
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the environment under which the application should be spawned. <a href="#f5091e3cef3878e160e5d3b2181d82fb"></a><br></td></tr>
61
58
  </table>
59
+ <hr><a name="_details"></a><h2>Detailed Description</h2>
60
+ Utility class for determining URI-to-application directory mappings.
61
+ <p>
62
+ Given a URI, it will determine whether that URI belongs to a Phusion Passenger-handled application, what the base URI of that application is, and what the associated 'public' directory is.<p>
63
+ <dl class="note" compact><dt><b>Note:</b></dt><dd>This class is not thread-safe, but is reentrant. </dd></dl>
62
64
  <hr><h2>Constructor &amp; Destructor Documentation</h2>
63
65
  <a class="anchor" name="e2725c3280a5e5d63dbc099fe3c3d82a"></a><!-- doxytag: member="Passenger::DirectoryMapper::DirectoryMapper" ref="e2725c3280a5e5d63dbc099fe3c3d82a" args="(request_rec *r, DirConfig *config, CachedMultiFileStat *mstat, unsigned int throttleRate)" -->
64
66
  <div class="memitem">
@@ -91,7 +93,7 @@ Given a URI, it will determine whether that URI belongs to a Phusion Passenger-h
91
93
  <tr>
92
94
  <td></td>
93
95
  <td>)</td>
94
- <td></td><td></td><td width="100%"><code> [inline]</code></td>
96
+ <td></td><td></td><td><code> [inline]</code></td>
95
97
  </tr>
96
98
  </table>
97
99
  </div>
@@ -111,136 +113,136 @@ Create a new <a class="el" href="classPassenger_1_1DirectoryMapper.html" title="
111
113
  </div>
112
114
  </div><p>
113
115
  <hr><h2>Member Function Documentation</h2>
114
- <a class="anchor" name="2da887c077fc2460dea204783470e821"></a><!-- doxytag: member="Passenger::DirectoryMapper::getBaseURI" ref="2da887c077fc2460dea204783470e821" args="()" -->
116
+ <a class="anchor" name="ba438d86ca263972a47540956bf11ec1"></a><!-- doxytag: member="Passenger::DirectoryMapper::getApplicationType" ref="ba438d86ca263972a47540956bf11ec1" args="()" -->
115
117
  <div class="memitem">
116
118
  <div class="memproto">
117
119
  <table class="memname">
118
120
  <tr>
119
- <td class="memname">const char* Passenger::DirectoryMapper::getBaseURI </td>
121
+ <td class="memname">ApplicationType Passenger::DirectoryMapper::getApplicationType </td>
120
122
  <td>(</td>
121
123
  <td class="paramname"> </td>
122
124
  <td>&nbsp;)&nbsp;</td>
123
- <td width="100%"><code> [inline]</code></td>
125
+ <td><code> [inline]</code></td>
124
126
  </tr>
125
127
  </table>
126
128
  </div>
127
129
  <div class="memdoc">
128
130
 
129
131
  <p>
130
- Determine whether the given HTTP request falls under one of the specified RailsBaseURIs or RackBaseURIs.
132
+ Returns the application type that's associated with the HTTP request.
131
133
  <p>
132
- If yes, then the first matching base URI will be returned.<p>
133
- If Rails/Rack autodetection was enabled in the configuration, and the document root seems to be a valid Rails/Rack 'public' folder, then this method will return "/".<p>
134
- Otherwise, NULL will be returned.<p>
135
134
  <dl compact><dt><b>Exceptions:</b></dt><dd>
136
135
  <table border="0" cellspacing="2" cellpadding="0">
137
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1FileSystemException.html" title="A filesystem error, as returned by the operating system.">FileSystemException</a></em>&nbsp;</td><td>This method might also examine the filesystem in order to detect the application's type. During that process, a <a class="el" href="classPassenger_1_1FileSystemException.html" title="A filesystem error, as returned by the operating system.">FileSystemException</a> might be thrown. </td></tr>
136
+ <tr><td valign="top"></td><td valign="top"><em>FileSystemException</em>&nbsp;</td><td>An error occured while examening the filesystem. </td></tr>
138
137
  </table>
139
138
  </dl>
140
- <dl class="warning" compact><dt><b>Warning:</b></dt><dd>The return value may only be used as long as <code>config</code> hasn't been destroyed. </dd></dl>
141
139
 
142
140
  </div>
143
141
  </div><p>
144
- <a class="anchor" name="ef969f27622fb215990a870076648aa1"></a><!-- doxytag: member="Passenger::DirectoryMapper::getPublicDirectory" ref="ef969f27622fb215990a870076648aa1" args="()" -->
142
+ <a class="anchor" name="c46f0e74ffd05b7fe9924dd99a057cf7"></a><!-- doxytag: member="Passenger::DirectoryMapper::getApplicationTypeString" ref="c46f0e74ffd05b7fe9924dd99a057cf7" args="()" -->
145
143
  <div class="memitem">
146
144
  <div class="memproto">
147
145
  <table class="memname">
148
146
  <tr>
149
- <td class="memname">string Passenger::DirectoryMapper::getPublicDirectory </td>
147
+ <td class="memname">const char* Passenger::DirectoryMapper::getApplicationTypeString </td>
150
148
  <td>(</td>
151
149
  <td class="paramname"> </td>
152
150
  <td>&nbsp;)&nbsp;</td>
153
- <td width="100%"><code> [inline]</code></td>
151
+ <td><code> [inline]</code></td>
154
152
  </tr>
155
153
  </table>
156
154
  </div>
157
155
  <div class="memdoc">
158
156
 
159
157
  <p>
160
- Returns the filename of the 'public' directory of the Rails/Rack application that's associated with the HTTP request.
158
+ Returns the application type (as a string) that's associated with the HTTP request.
161
159
  <p>
162
- Returns an empty string if the document root of the HTTP request cannot be determined, or if it isn't a valid folder.<p>
163
160
  <dl compact><dt><b>Exceptions:</b></dt><dd>
164
161
  <table border="0" cellspacing="2" cellpadding="0">
165
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1FileSystemException.html" title="A filesystem error, as returned by the operating system.">FileSystemException</a></em>&nbsp;</td><td>An error occured while examening the filesystem. </td></tr>
162
+ <tr><td valign="top"></td><td valign="top"><em>FileSystemException</em>&nbsp;</td><td>An error occured while examening the filesystem. </td></tr>
166
163
  </table>
167
164
  </dl>
168
165
 
169
166
  </div>
170
167
  </div><p>
171
- <a class="anchor" name="ba438d86ca263972a47540956bf11ec1"></a><!-- doxytag: member="Passenger::DirectoryMapper::getApplicationType" ref="ba438d86ca263972a47540956bf11ec1" args="()" -->
168
+ <a class="anchor" name="2da887c077fc2460dea204783470e821"></a><!-- doxytag: member="Passenger::DirectoryMapper::getBaseURI" ref="2da887c077fc2460dea204783470e821" args="()" -->
172
169
  <div class="memitem">
173
170
  <div class="memproto">
174
171
  <table class="memname">
175
172
  <tr>
176
- <td class="memname">ApplicationType Passenger::DirectoryMapper::getApplicationType </td>
173
+ <td class="memname">const char* Passenger::DirectoryMapper::getBaseURI </td>
177
174
  <td>(</td>
178
175
  <td class="paramname"> </td>
179
176
  <td>&nbsp;)&nbsp;</td>
180
- <td width="100%"><code> [inline]</code></td>
177
+ <td><code> [inline]</code></td>
181
178
  </tr>
182
179
  </table>
183
180
  </div>
184
181
  <div class="memdoc">
185
182
 
186
183
  <p>
187
- Returns the application type that's associated with the HTTP request.
184
+ Determine whether the given HTTP request falls under one of the specified RailsBaseURIs or RackBaseURIs.
188
185
  <p>
186
+ If yes, then the first matching base URI will be returned.<p>
187
+ If Rails/Rack autodetection was enabled in the configuration, and the document root seems to be a valid Rails/Rack 'public' folder, then this method will return "/".<p>
188
+ Otherwise, NULL will be returned.<p>
189
189
  <dl compact><dt><b>Exceptions:</b></dt><dd>
190
190
  <table border="0" cellspacing="2" cellpadding="0">
191
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1FileSystemException.html" title="A filesystem error, as returned by the operating system.">FileSystemException</a></em>&nbsp;</td><td>An error occured while examening the filesystem. </td></tr>
191
+ <tr><td valign="top"></td><td valign="top"><em>FileSystemException</em>&nbsp;</td><td>This method might also examine the filesystem in order to detect the application's type. During that process, a FileSystemException might be thrown. </td></tr>
192
192
  </table>
193
193
  </dl>
194
+ <dl class="warning" compact><dt><b>Warning:</b></dt><dd>The return value may only be used as long as <code>config</code> hasn't been destroyed. </dd></dl>
194
195
 
195
196
  </div>
196
197
  </div><p>
197
- <a class="anchor" name="c46f0e74ffd05b7fe9924dd99a057cf7"></a><!-- doxytag: member="Passenger::DirectoryMapper::getApplicationTypeString" ref="c46f0e74ffd05b7fe9924dd99a057cf7" args="()" -->
198
+ <a class="anchor" name="f5091e3cef3878e160e5d3b2181d82fb"></a><!-- doxytag: member="Passenger::DirectoryMapper::getEnvironment" ref="f5091e3cef3878e160e5d3b2181d82fb" args="()" -->
198
199
  <div class="memitem">
199
200
  <div class="memproto">
200
201
  <table class="memname">
201
202
  <tr>
202
- <td class="memname">const char* Passenger::DirectoryMapper::getApplicationTypeString </td>
203
+ <td class="memname">const char* Passenger::DirectoryMapper::getEnvironment </td>
203
204
  <td>(</td>
204
205
  <td class="paramname"> </td>
205
206
  <td>&nbsp;)&nbsp;</td>
206
- <td width="100%"><code> [inline]</code></td>
207
+ <td><code> [inline]</code></td>
207
208
  </tr>
208
209
  </table>
209
210
  </div>
210
211
  <div class="memdoc">
211
212
 
212
213
  <p>
213
- Returns the application type (as a string) that's associated with the HTTP request.
214
+ Returns the environment under which the application should be spawned.
214
215
  <p>
215
216
  <dl compact><dt><b>Exceptions:</b></dt><dd>
216
217
  <table border="0" cellspacing="2" cellpadding="0">
217
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1FileSystemException.html" title="A filesystem error, as returned by the operating system.">FileSystemException</a></em>&nbsp;</td><td>An error occured while examening the filesystem. </td></tr>
218
+ <tr><td valign="top"></td><td valign="top"><em>FileSystemException</em>&nbsp;</td><td>An error occured while examening the filesystem. </td></tr>
218
219
  </table>
219
220
  </dl>
220
221
 
221
222
  </div>
222
223
  </div><p>
223
- <a class="anchor" name="f5091e3cef3878e160e5d3b2181d82fb"></a><!-- doxytag: member="Passenger::DirectoryMapper::getEnvironment" ref="f5091e3cef3878e160e5d3b2181d82fb" args="()" -->
224
+ <a class="anchor" name="ef969f27622fb215990a870076648aa1"></a><!-- doxytag: member="Passenger::DirectoryMapper::getPublicDirectory" ref="ef969f27622fb215990a870076648aa1" args="()" -->
224
225
  <div class="memitem">
225
226
  <div class="memproto">
226
227
  <table class="memname">
227
228
  <tr>
228
- <td class="memname">const char* Passenger::DirectoryMapper::getEnvironment </td>
229
+ <td class="memname">string Passenger::DirectoryMapper::getPublicDirectory </td>
229
230
  <td>(</td>
230
231
  <td class="paramname"> </td>
231
232
  <td>&nbsp;)&nbsp;</td>
232
- <td width="100%"><code> [inline]</code></td>
233
+ <td><code> [inline]</code></td>
233
234
  </tr>
234
235
  </table>
235
236
  </div>
236
237
  <div class="memdoc">
237
238
 
238
239
  <p>
239
- Returns the environment under which the application should be spawned.
240
+ Returns the filename of the 'public' directory of the Rails/Rack application that's associated with the HTTP request.
240
241
  <p>
242
+ Returns an empty string if the document root of the HTTP request cannot be determined, or if it isn't a valid folder.<p>
241
243
  <dl compact><dt><b>Exceptions:</b></dt><dd>
242
244
  <table border="0" cellspacing="2" cellpadding="0">
243
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1FileSystemException.html" title="A filesystem error, as returned by the operating system.">FileSystemException</a></em>&nbsp;</td><td>An error occured while examening the filesystem. </td></tr>
245
+ <tr><td valign="top"></td><td valign="top"><em>FileSystemException</em>&nbsp;</td><td>An error occured while examening the filesystem. </td></tr>
244
246
  </table>
245
247
  </dl>
246
248
 
@@ -249,8 +251,8 @@ Returns the environment under which the application should be spawned.
249
251
  <hr>The documentation for this class was generated from the following file:<ul>
250
252
  <li><a class="el" href="DirectoryMapper_8h-source.html">DirectoryMapper.h</a></ul>
251
253
  </div>
252
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 31 14:00:30 2009 for Passenger by&nbsp;
254
+ <hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 19:48:18 2009 for Passenger by&nbsp;
253
255
  <a href="http://www.doxygen.org/index.html">
254
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
256
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
255
257
  </body>
256
258
  </html>