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: Class Members - Typedefs</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>
@@ -38,8 +38,8 @@
38
38
  : <a class="el" href="classPassenger_1_1Application.html#d14f673494991460b16246a527ad8ad9">Passenger::Application</a>
39
39
  </ul>
40
40
  </div>
41
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 31 14:00:28 2009 for Passenger by&nbsp;
41
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:11 2009 for Passenger by&nbsp;
42
42
  <a href="http://www.doxygen.org/index.html">
43
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
43
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
44
44
  </body>
45
45
  </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: Class Members - Variables</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>
@@ -64,8 +64,8 @@
64
64
  : <a class="el" href="structPassenger_1_1PoolOptions.html#b610e568a7b5d3bb27460d6e35952b7e">Passenger::PoolOptions</a>
65
65
  </ul>
66
66
  </div>
67
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 31 14:00:28 2009 for Passenger by&nbsp;
67
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:11 2009 for Passenger by&nbsp;
68
68
  <a href="http://www.doxygen.org/index.html">
69
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
69
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
70
70
  </body>
71
71
  </html>
@@ -1,22 +1,22 @@
1
1
  digraph G
2
2
  {
3
- edge [fontname="FreeSans",fontsize=10,labelfontname="FreeSans",labelfontsize=10];
4
- node [fontname="FreeSans",fontsize=10,shape=record];
5
- Node9 [shape="box",label="Inherited",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",fillcolor="grey75",style="filled" fontcolor="black"];
6
- Node10 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"];
7
- Node10 [shape="box",label="PublicBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classPublicBase.html"];
8
- Node11 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"];
9
- Node11 [shape="box",label="Truncated",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="red",URL="$classTruncated.html"];
10
- Node13 -> Node9 [dir=back,color="darkgreen",fontsize=10,style="solid",fontname="FreeSans"];
11
- Node13 [shape="box",label="ProtectedBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classProtectedBase.html"];
12
- Node14 -> Node9 [dir=back,color="firebrick4",fontsize=10,style="solid",fontname="FreeSans"];
13
- Node14 [shape="box",label="PrivateBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classPrivateBase.html"];
14
- Node15 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"];
15
- Node15 [shape="box",label="Undocumented",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="grey75"];
16
- Node16 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"];
17
- Node16 [shape="box",label="Templ< int >",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classTempl.html"];
18
- Node17 -> Node16 [dir=back,color="orange",fontsize=10,style="dashed",label="< int >",fontname="FreeSans"];
19
- Node17 [shape="box",label="Templ< T >",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classTempl.html"];
20
- Node18 -> Node9 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="m_usedClass",fontname="FreeSans"];
21
- Node18 [shape="box",label="Used",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classUsed.html"];
3
+ edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
4
+ node [fontname="FreeSans",fontsize="10",shape=record];
5
+ Node9 [shape="box",label="Inherited",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",fillcolor="grey75",style="filled" fontcolor="black"];
6
+ Node10 -> Node9 [dir=back,color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
7
+ Node10 [shape="box",label="PublicBase",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classPublicBase.html"];
8
+ Node11 -> Node10 [dir=back,color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
9
+ Node11 [shape="box",label="Truncated",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="red",URL="$classTruncated.html"];
10
+ Node13 -> Node9 [dir=back,color="darkgreen",fontsize="10",style="solid",fontname="FreeSans"];
11
+ Node13 [shape="box",label="ProtectedBase",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classProtectedBase.html"];
12
+ Node14 -> Node9 [dir=back,color="firebrick4",fontsize="10",style="solid",fontname="FreeSans"];
13
+ Node14 [shape="box",label="PrivateBase",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classPrivateBase.html"];
14
+ Node15 -> Node9 [dir=back,color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
15
+ Node15 [shape="box",label="Undocumented",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="grey75"];
16
+ Node16 -> Node9 [dir=back,color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
17
+ Node16 [shape="box",label="Templ< int >",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classTempl.html"];
18
+ Node17 -> Node16 [dir=back,color="orange",fontsize="10",style="dashed",label="< int >",fontname="FreeSans"];
19
+ Node17 [shape="box",label="Templ< T >",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classTempl.html"];
20
+ Node18 -> Node9 [dir=back,color="darkorchid3",fontsize="10",style="dashed",label="m_usedClass",fontname="FreeSans"];
21
+ Node18 [shape="box",label="Used",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classUsed.html"];
22
22
  }
@@ -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: Graph Legend</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>
@@ -51,7 +51,7 @@ Consider the following example: <div class="fragment"><pre class="fragment"><spa
51
51
  <span class="keyword">private</span>:
52
52
  Used *m_usedClass;
53
53
  };
54
- </pre></div> If the <code>MAX_DOT_GRAPH_HEIGHT</code> tag in the configuration file is set to 240 this will result in the following graph:<p>
54
+ </pre></div> This will result in the following graph:<p>
55
55
  <center><div align="center">
56
56
  <img src="graph_legend.png" alt="graph_legend.png">
57
57
  </div>
@@ -79,8 +79,8 @@ A purple dashed arrow is used if a class is contained or used by another class.
79
79
  A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li>
80
80
  </ul>
81
81
  </div>
82
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 31 14:00:31 2009 for Passenger by&nbsp;
82
+ <hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 19:48:18 2009 for Passenger by&nbsp;
83
83
  <a href="http://www.doxygen.org/index.html">
84
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
84
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
85
85
  </body>
86
86
  </html>
Binary file
@@ -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: Apache module configuration</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>
@@ -26,14 +26,12 @@ Collaboration diagram for Apache module configuration:</div>
26
26
  <div class="dynsection">
27
27
  <center><table><tr><td><img src="group__Configuration.png" border="0" alt="" usemap="#group____Configuration_map">
28
28
  <map name="group____Configuration_map">
29
- <area shape="rect" href="group__Core.html" title="Core Apache&#45;related classes and functions" alt="" coords="7,6,276,30"></map></td></tr></table></center>
29
+ <area shape="rect" href="group__Core.html" title="Core Apache&#45;related classes and functions" alt="" coords="5,5,288,32"></map></td></tr></table></center>
30
30
  </div>
31
-
32
- <p>
33
31
  <table border="0" cellpadding="0" cellspacing="0">
34
32
  <tr><td></td></tr>
35
33
  <tr><td colspan="2"><br><h2>Defines</h2></td></tr>
36
- <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Configuration.html#ga19398896775408d6ab7fd8ce2acd992">PASSENGER_VERSION</a>&nbsp;&nbsp;&nbsp;&quot;2.1.3&quot;</td></tr>
34
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Configuration.html#ga19398896775408d6ab7fd8ce2acd992">PASSENGER_VERSION</a>&nbsp;&nbsp;&nbsp;&quot;2.2.0&quot;</td></tr>
37
35
 
38
36
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Module version number. <a href="#ga19398896775408d6ab7fd8ce2acd992"></a><br></td></tr>
39
37
  <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
@@ -60,7 +58,7 @@ Collaboration diagram for Apache module configuration:</div>
60
58
  <div class="memproto">
61
59
  <table class="memname">
62
60
  <tr>
63
- <td class="memname">#define PASSENGER_VERSION&nbsp;&nbsp;&nbsp;&quot;2.1.3&quot; </td>
61
+ <td class="memname">#define PASSENGER_VERSION&nbsp;&nbsp;&nbsp;&quot;2.2.0&quot; </td>
64
62
  </tr>
65
63
  </table>
66
64
  </div>
@@ -92,7 +90,7 @@ Module version number.
92
90
  <tr>
93
91
  <td></td>
94
92
  <td>)</td>
95
- <td></td><td></td><td width="100%"></td>
93
+ <td></td><td></td><td></td>
96
94
  </tr>
97
95
  </table>
98
96
  </div>
@@ -123,7 +121,7 @@ Configuration hook for per-directory configuration structure creation.
123
121
  <tr>
124
122
  <td></td>
125
123
  <td>)</td>
126
- <td></td><td></td><td width="100%"></td>
124
+ <td></td><td></td><td></td>
127
125
  </tr>
128
126
  </table>
129
127
  </div>
@@ -160,7 +158,7 @@ Configuration hook for per-server configuration structure creation.
160
158
  <tr>
161
159
  <td></td>
162
160
  <td>)</td>
163
- <td></td><td></td><td width="100%"></td>
161
+ <td></td><td></td><td></td>
164
162
  </tr>
165
163
  </table>
166
164
  </div>
@@ -197,7 +195,7 @@ Configuration hook for per-directory configuration structure merging.
197
195
  <tr>
198
196
  <td></td>
199
197
  <td>)</td>
200
- <td></td><td></td><td width="100%"></td>
198
+ <td></td><td></td><td></td>
201
199
  </tr>
202
200
  </table>
203
201
  </div>
@@ -228,8 +226,8 @@ Apache module commands array.
228
226
  </div>
229
227
  </div><p>
230
228
  </div>
231
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 31 14:00:28 2009 for Passenger by&nbsp;
229
+ <hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 19:48:18 2009 for Passenger by&nbsp;
232
230
  <a href="http://www.doxygen.org/index.html">
233
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
231
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
234
232
  </body>
235
233
  </html>
Binary file
@@ -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: Core Apache-related classes and functions</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>
@@ -23,17 +23,10 @@ Collaboration diagram for Core Apache-related classes and functions:</div>
23
23
  <div class="dynsection">
24
24
  <center><table><tr><td><img src="group__Core.png" border="0" alt="" usemap="#group____Core_map">
25
25
  <map name="group____Core_map">
26
- <area shape="rect" href="group__Hooks.html" title="Apache hooks" alt="" coords="368,6,472,30"><area shape="rect" href="group__Configuration.html" title="Apache module configuration" alt="" coords="325,54,515,78"></map></td></tr></table></center>
26
+ <area shape="rect" href="group__Hooks.html" title="Apache hooks" alt="" coords="383,5,492,32"><area shape="rect" href="group__Configuration.html" title="Apache module configuration" alt="" coords="337,56,537,83"></map></td></tr></table></center>
27
27
  </div>
28
-
29
- <p>
30
28
  <table border="0" cellpadding="0" cellspacing="0">
31
29
  <tr><td></td></tr>
32
- <tr><td colspan="2"><br><h2>Modules</h2></td></tr>
33
- <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Configuration.html">Apache module configuration</a></td></tr>
34
-
35
- <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Hooks.html">Apache hooks</a></td></tr>
36
-
37
30
  <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
38
31
  <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1DirectoryMapper.html">Passenger::DirectoryMapper</a></td></tr>
39
32
 
@@ -41,10 +34,15 @@ Collaboration diagram for Core Apache-related classes and functions:</div>
41
34
  <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHooks.html">Hooks</a></td></tr>
42
35
 
43
36
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Apache hook functions, wrapped in a class. <a href="classHooks.html#_details">More...</a><br></td></tr>
37
+ <tr><td colspan="2"><br><h2>Modules</h2></td></tr>
38
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Configuration.html">Apache module configuration</a></td></tr>
39
+
40
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Hooks.html">Apache hooks</a></td></tr>
41
+
44
42
  </table>
45
43
  </div>
46
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 31 14:00:28 2009 for Passenger by&nbsp;
44
+ <hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 19:48:18 2009 for Passenger by&nbsp;
47
45
  <a href="http://www.doxygen.org/index.html">
48
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
46
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
49
47
  </body>
50
48
  </html>
Binary file
@@ -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: Exceptions</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>
@@ -16,9 +16,7 @@
16
16
  </div>
17
17
  </div>
18
18
  <div class="contents">
19
- <h1>Exceptions</h1>
20
- <p>
21
- <table border="0" cellpadding="0" cellspacing="0">
19
+ <h1>Exceptions</h1><table border="0" cellpadding="0" cellspacing="0">
22
20
  <tr><td></td></tr>
23
21
  <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
24
22
  <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SystemException.html">Passenger::SystemException</a></td></tr>
@@ -38,8 +36,8 @@
38
36
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The application pool is too busy and cannot fulfill a get() request. <a href="classPassenger_1_1BusyException.html#_details">More...</a><br></td></tr>
39
37
  </table>
40
38
  </div>
41
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 31 14:00:28 2009 for Passenger by&nbsp;
39
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:11 2009 for Passenger by&nbsp;
42
40
  <a href="http://www.doxygen.org/index.html">
43
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
41
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
44
42
  </body>
45
43
  </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: Apache hooks</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>
@@ -26,16 +26,14 @@ Collaboration diagram for Apache hooks:</div>
26
26
  <div class="dynsection">
27
27
  <center><table><tr><td><img src="group__Hooks.png" border="0" alt="" usemap="#group____Hooks_map">
28
28
  <map name="group____Hooks_map">
29
- <area shape="rect" href="group__Core.html" title="Core Apache&#45;related classes and functions" alt="" coords="7,6,276,30"></map></td></tr></table></center>
29
+ <area shape="rect" href="group__Core.html" title="Core Apache&#45;related classes and functions" alt="" coords="6,5,288,32"></map></td></tr></table></center>
30
30
  </div>
31
-
32
- <p>
33
31
  <table border="0" cellpadding="0" cellspacing="0">
34
32
  <tr><td></td></tr>
35
33
  </table>
36
34
  </div>
37
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 31 14:00:28 2009 for Passenger by&nbsp;
35
+ <hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 19:48:18 2009 for Passenger by&nbsp;
38
36
  <a href="http://www.doxygen.org/index.html">
39
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
37
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
40
38
  </body>
41
39
  </html>
Binary file
@@ -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: Apache-independent support classes and function</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>
@@ -16,631 +16,12 @@
16
16
  </div>
17
17
  </div>
18
18
  <div class="contents">
19
- <h1>Apache-independent support classes and function</h1>
20
- <p>
21
- <table border="0" cellpadding="0" cellspacing="0">
19
+ <h1>Apache-independent support classes and function</h1><table border="0" cellpadding="0" cellspacing="0">
22
20
  <tr><td></td></tr>
23
- <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
24
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1Application.html">Passenger::Application</a></td></tr>
25
-
26
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represents a single Ruby on Rails or Rack application instance. <a href="classPassenger_1_1Application.html#_details">More...</a><br></td></tr>
27
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ApplicationPool.html">Passenger::ApplicationPool</a></td></tr>
28
-
29
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A persistent pool of Applications. <a href="classPassenger_1_1ApplicationPool.html#_details">More...</a><br></td></tr>
30
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ApplicationPoolServer.html">Passenger::ApplicationPoolServer</a></td></tr>
31
-
32
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multi-process usage support for <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a>. <a href="classPassenger_1_1ApplicationPoolServer.html#_details">More...</a><br></td></tr>
33
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1DummySpawnManager.html">Passenger::DummySpawnManager</a></td></tr>
34
-
35
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A dummy <a class="el" href="classPassenger_1_1SpawnManager.html" title="Spawning of Ruby on Rails/Rack application instances.">SpawnManager</a> replacement for testing/debugging purposes. <a href="classPassenger_1_1DummySpawnManager.html#_details">More...</a><br></td></tr>
36
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1MessageChannel.html">Passenger::MessageChannel</a></td></tr>
37
-
38
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience class for I/O operations on file descriptors. <a href="classPassenger_1_1MessageChannel.html#_details">More...</a><br></td></tr>
39
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SpawnManager.html">Passenger::SpawnManager</a></td></tr>
40
-
41
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spawning of Ruby on Rails/Rack application instances. <a href="classPassenger_1_1SpawnManager.html#_details">More...</a><br></td></tr>
42
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardApplicationPool.html">Passenger::StandardApplicationPool</a></td></tr>
43
-
44
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A standard implementation of <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a> for single-process environments. <a href="classPassenger_1_1StandardApplicationPool.html#_details">More...</a><br></td></tr>
45
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1BufferedUpload.html">Passenger::BufferedUpload</a></td></tr>
46
-
47
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represents a buffered upload file. <a href="classPassenger_1_1BufferedUpload.html#_details">More...</a><br></td></tr>
48
- <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
49
- <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
50
- <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">shared_ptr&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__Support.html#g41b6c4a82fed72531a147de0505a8396">Passenger::ptr</a> (T *pointer)</td></tr>
51
-
52
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience shortcut for creating a <code>shared_ptr</code>. <a href="#g41b6c4a82fed72531a147de0505a8396"></a><br></td></tr>
53
- <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
54
- <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__Support.html#gf6fab368d70c18fdf16bf5a24f630407">Passenger::toString</a> (T something)</td></tr>
55
-
56
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert anything to a string. <a href="#gf6fab368d70c18fdf16bf5a24f630407"></a><br></td></tr>
57
- <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g73b17b509ee44938a56bf16cbf82fb48"></a><!-- doxytag: member="Support::atoi" ref="g73b17b509ee44938a56bf16cbf82fb48" args="(const string &amp;s)" -->
58
- int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g73b17b509ee44938a56bf16cbf82fb48">Passenger::atoi</a> (const string &amp;s)</td></tr>
59
-
60
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts the given string to an integer. <br></td></tr>
61
- <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7b50461f1bc2b370c956967870da2762"></a><!-- doxytag: member="Support::atol" ref="g7b50461f1bc2b370c956967870da2762" args="(const string &amp;s)" -->
62
- long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g7b50461f1bc2b370c956967870da2762">Passenger::atol</a> (const string &amp;s)</td></tr>
63
-
64
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts the given string to a long integer. <br></td></tr>
65
- <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g4b8320aedc6a164a535c920234e3d8bf">Passenger::split</a> (const string &amp;str, char sep, vector&lt; string &gt; &amp;output)</td></tr>
66
-
67
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Split the given string using the given separator. <a href="#g4b8320aedc6a164a535c920234e3d8bf"></a><br></td></tr>
68
- <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#gb752bfac392b20da99e34847070aaaea">Passenger::fileExists</a> (const char *filename, CachedMultiFileStat *mstat=0, unsigned int throttleRate=0)</td></tr>
69
-
70
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether the specified file exists. <a href="#gb752bfac392b20da99e34847070aaaea"></a><br></td></tr>
71
- <tr><td class="memItemLeft" nowrap align="right" valign="top">FileType&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g818326cfca681596cf6944c1b88ed9f4">Passenger::getFileType</a> (const char *filename, CachedMultiFileStat *mstat=0, unsigned int throttleRate=0)</td></tr>
72
-
73
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether 'filename' exists and what kind of file it is. <a href="#g818326cfca681596cf6944c1b88ed9f4"></a><br></td></tr>
74
- <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g37e1a293fa574748b2393b4801e7b23f">Passenger::findSpawnServer</a> (const char *passengerRoot=NULL)</td></tr>
75
-
76
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the location of the Passenger spawn server script. <a href="#g37e1a293fa574748b2393b4801e7b23f"></a><br></td></tr>
77
- <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g67c03fa133dbb5a4e0de78f51899568e">Passenger::findApplicationPoolServer</a> (const char *passengerRoot)</td></tr>
78
-
79
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the location of the Passenger <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a> server executable. <a href="#g67c03fa133dbb5a4e0de78f51899568e"></a><br></td></tr>
80
- <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#gf3b0a483f0a252ae08d9de9f8b267d36">Passenger::canonicalizePath</a> (const string &amp;path)</td></tr>
81
-
82
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a canonical version of the specified path. <a href="#gf3b0a483f0a252ae08d9de9f8b267d36"></a><br></td></tr>
83
- <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#ge74addedf73782a1eb1f6dd48d6fce06">Passenger::escapeForXml</a> (const string &amp;input)</td></tr>
84
-
85
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape the given raw string into an XML value. <a href="#ge74addedf73782a1eb1f6dd48d6fce06"></a><br></td></tr>
86
- <tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g68f4105c5a8e510520b5ea3eecb66213">Passenger::getSystemTempDir</a> ()</td></tr>
87
-
88
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the path name for the directory in which the system stores general temporary files. <a href="#g68f4105c5a8e510520b5ea3eecb66213"></a><br></td></tr>
89
- <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g69deb6b299b45039dc24b60ad9175541">Passenger::getPassengerTempDir</a> (bool bypassCache=false, const string &amp;systemTempDir=&quot;&quot;)</td></tr>
90
-
91
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the path name for the directory in which Phusion Passenger-specific temporary files are to be stored. <a href="#g69deb6b299b45039dc24b60ad9175541"></a><br></td></tr>
92
- <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g02c80bd02d38cea295f24250ca8e2502">Passenger::verifyRailsDir</a> (const string &amp;dir, CachedMultiFileStat *mstat=0, unsigned int throttleRate=0)</td></tr>
93
-
94
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether the specified directory is a valid Ruby on Rails application root directory. <a href="#g02c80bd02d38cea295f24250ca8e2502"></a><br></td></tr>
95
- <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g7bb22ba786fa3c88dbbd9f84aaaed59a">Passenger::verifyRackDir</a> (const string &amp;dir, CachedMultiFileStat *mstat=0, unsigned int throttleRate=0)</td></tr>
96
-
97
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether the specified directory is a valid Rack application root directory. <a href="#g7bb22ba786fa3c88dbbd9f84aaaed59a"></a><br></td></tr>
98
- <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g8bfea2692733dfd80703707a120bce86">Passenger::verifyWSGIDir</a> (const string &amp;dir, CachedMultiFileStat *mstat=0, unsigned int throttleRate=0)</td></tr>
99
-
100
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether the specified directory is a valid WSGI application root directory. <a href="#g8bfea2692733dfd80703707a120bce86"></a><br></td></tr>
101
21
  </table>
102
- <hr><h2>Function Documentation</h2>
103
- <a class="anchor" name="gf3b0a483f0a252ae08d9de9f8b267d36"></a><!-- doxytag: member="Passenger::canonicalizePath" ref="gf3b0a483f0a252ae08d9de9f8b267d36" args="(const string &amp;path)" -->
104
- <div class="memitem">
105
- <div class="memproto">
106
- <table class="memname">
107
- <tr>
108
- <td class="memname">string Passenger::canonicalizePath </td>
109
- <td>(</td>
110
- <td class="paramtype">const string &amp;&nbsp;</td>
111
- <td class="paramname"> <em>path</em> </td>
112
- <td>&nbsp;)&nbsp;</td>
113
- <td width="100%"></td>
114
- </tr>
115
- </table>
116
- </div>
117
- <div class="memdoc">
118
-
119
- <p>
120
- Returns a canonical version of the specified path.
121
- <p>
122
- All symbolic links and relative path elements are resolved.<p>
123
- <dl compact><dt><b>Exceptions:</b></dt><dd>
124
- <table border="0" cellspacing="2" cellpadding="0">
125
- <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>Something went wrong. </td></tr>
126
- </table>
127
- </dl>
128
-
129
- </div>
130
- </div><p>
131
- <a class="anchor" name="ge74addedf73782a1eb1f6dd48d6fce06"></a><!-- doxytag: member="Passenger::escapeForXml" ref="ge74addedf73782a1eb1f6dd48d6fce06" args="(const string &amp;input)" -->
132
- <div class="memitem">
133
- <div class="memproto">
134
- <table class="memname">
135
- <tr>
136
- <td class="memname">string Passenger::escapeForXml </td>
137
- <td>(</td>
138
- <td class="paramtype">const string &amp;&nbsp;</td>
139
- <td class="paramname"> <em>input</em> </td>
140
- <td>&nbsp;)&nbsp;</td>
141
- <td width="100%"></td>
142
- </tr>
143
- </table>
144
- </div>
145
- <div class="memdoc">
146
-
147
- <p>
148
- Escape the given raw string into an XML value.
149
- <p>
150
- <dl compact><dt><b>Exceptions:</b></dt><dd>
151
- <table border="0" cellspacing="2" cellpadding="0">
152
- <tr><td valign="top"></td><td valign="top"><em>std::bad_alloc</em>&nbsp;</td><td>Something went wrong. </td></tr>
153
- </table>
154
- </dl>
155
-
156
- </div>
157
- </div><p>
158
- <a class="anchor" name="gb752bfac392b20da99e34847070aaaea"></a><!-- doxytag: member="Passenger::fileExists" ref="gb752bfac392b20da99e34847070aaaea" args="(const char *filename, CachedMultiFileStat *mstat=0, unsigned int throttleRate=0)" -->
159
- <div class="memitem">
160
- <div class="memproto">
161
- <table class="memname">
162
- <tr>
163
- <td class="memname">bool Passenger::fileExists </td>
164
- <td>(</td>
165
- <td class="paramtype">const char *&nbsp;</td>
166
- <td class="paramname"> <em>filename</em>, </td>
167
- </tr>
168
- <tr>
169
- <td class="paramkey"></td>
170
- <td></td>
171
- <td class="paramtype">CachedMultiFileStat *&nbsp;</td>
172
- <td class="paramname"> <em>mstat</em> = <code>0</code>, </td>
173
- </tr>
174
- <tr>
175
- <td class="paramkey"></td>
176
- <td></td>
177
- <td class="paramtype">unsigned int&nbsp;</td>
178
- <td class="paramname"> <em>throttleRate</em> = <code>0</code></td><td>&nbsp;</td>
179
- </tr>
180
- <tr>
181
- <td></td>
182
- <td>)</td>
183
- <td></td><td></td><td width="100%"></td>
184
- </tr>
185
- </table>
186
- </div>
187
- <div class="memdoc">
188
-
189
- <p>
190
- Check whether the specified file exists.
191
- <p>
192
- <dl compact><dt><b>Parameters:</b></dt><dd>
193
- <table border="0" cellspacing="2" cellpadding="0">
194
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The filename to check. </td></tr>
195
- <tr><td valign="top"></td><td valign="top"><em>mstat</em>&nbsp;</td><td>A CachedMultiFileStat object, if you want to use cached statting. </td></tr>
196
- <tr><td valign="top"></td><td valign="top"><em>throttleRate</em>&nbsp;</td><td>A throttle rate for mstat. Only applicable if mstat is not NULL. </td></tr>
197
- </table>
198
- </dl>
199
- <dl class="return" compact><dt><b>Returns:</b></dt><dd>Whether the file exists. </dd></dl>
200
- <dl compact><dt><b>Exceptions:</b></dt><dd>
201
- <table border="0" cellspacing="2" cellpadding="0">
202
- <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>Unable to check because of a filesystem error. </td></tr>
203
- </table>
204
- </dl>
205
-
206
- </div>
207
- </div><p>
208
- <a class="anchor" name="g67c03fa133dbb5a4e0de78f51899568e"></a><!-- doxytag: member="Passenger::findApplicationPoolServer" ref="g67c03fa133dbb5a4e0de78f51899568e" args="(const char *passengerRoot)" -->
209
- <div class="memitem">
210
- <div class="memproto">
211
- <table class="memname">
212
- <tr>
213
- <td class="memname">string Passenger::findApplicationPoolServer </td>
214
- <td>(</td>
215
- <td class="paramtype">const char *&nbsp;</td>
216
- <td class="paramname"> <em>passengerRoot</em> </td>
217
- <td>&nbsp;)&nbsp;</td>
218
- <td width="100%"></td>
219
- </tr>
220
- </table>
221
- </div>
222
- <div class="memdoc">
223
-
224
- <p>
225
- Find the location of the Passenger <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a> server executable.
226
- <p>
227
- <dl compact><dt><b>Parameters:</b></dt><dd>
228
- <table border="0" cellspacing="2" cellpadding="0">
229
- <tr><td valign="top"></td><td valign="top"><em>passengerRoot</em>&nbsp;</td><td>The Passenger root folder. </td></tr>
230
- </table>
231
- </dl>
232
- <dl class="return" compact><dt><b>Returns:</b></dt><dd>An absolute path to the executable. </dd></dl>
233
- <dl compact><dt><b>Exceptions:</b></dt><dd>
234
- <table border="0" cellspacing="2" cellpadding="0">
235
- <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>Unable to access parts of the filesystem. </td></tr>
236
- </table>
237
- </dl>
238
- <dl class="pre" compact><dt><b>Precondition:</b></dt><dd>passengerRoot != NULL </dd></dl>
239
-
240
- </div>
241
- </div><p>
242
- <a class="anchor" name="g37e1a293fa574748b2393b4801e7b23f"></a><!-- doxytag: member="Passenger::findSpawnServer" ref="g37e1a293fa574748b2393b4801e7b23f" args="(const char *passengerRoot=NULL)" -->
243
- <div class="memitem">
244
- <div class="memproto">
245
- <table class="memname">
246
- <tr>
247
- <td class="memname">string Passenger::findSpawnServer </td>
248
- <td>(</td>
249
- <td class="paramtype">const char *&nbsp;</td>
250
- <td class="paramname"> <em>passengerRoot</em> = <code>NULL</code> </td>
251
- <td>&nbsp;)&nbsp;</td>
252
- <td width="100%"></td>
253
- </tr>
254
- </table>
255
- </div>
256
- <div class="memdoc">
257
-
258
- <p>
259
- Find the location of the Passenger spawn server script.
260
- <p>
261
- If passengerRoot is given, t T<p>
262
- <dl compact><dt><b>Parameters:</b></dt><dd>
263
- <table border="0" cellspacing="2" cellpadding="0">
264
- <tr><td valign="top"></td><td valign="top"><em>passengerRoot</em>&nbsp;</td><td>The Passenger root folder. If NULL is given, then the spawn server is found by scanning $PATH. For security reasons, only absolute paths are scanned. </td></tr>
265
- </table>
266
- </dl>
267
- <dl class="return" compact><dt><b>Returns:</b></dt><dd>An absolute path to the spawn server script, or an empty string on error. </dd></dl>
268
- <dl compact><dt><b>Exceptions:</b></dt><dd>
269
- <table border="0" cellspacing="2" cellpadding="0">
270
- <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>Unable to access parts of the filesystem. </td></tr>
271
- </table>
272
- </dl>
273
-
274
- </div>
275
- </div><p>
276
- <a class="anchor" name="g818326cfca681596cf6944c1b88ed9f4"></a><!-- doxytag: member="Passenger::getFileType" ref="g818326cfca681596cf6944c1b88ed9f4" args="(const char *filename, CachedMultiFileStat *mstat=0, unsigned int throttleRate=0)" -->
277
- <div class="memitem">
278
- <div class="memproto">
279
- <table class="memname">
280
- <tr>
281
- <td class="memname">FileType Passenger::getFileType </td>
282
- <td>(</td>
283
- <td class="paramtype">const char *&nbsp;</td>
284
- <td class="paramname"> <em>filename</em>, </td>
285
- </tr>
286
- <tr>
287
- <td class="paramkey"></td>
288
- <td></td>
289
- <td class="paramtype">CachedMultiFileStat *&nbsp;</td>
290
- <td class="paramname"> <em>mstat</em> = <code>0</code>, </td>
291
- </tr>
292
- <tr>
293
- <td class="paramkey"></td>
294
- <td></td>
295
- <td class="paramtype">unsigned int&nbsp;</td>
296
- <td class="paramname"> <em>throttleRate</em> = <code>0</code></td><td>&nbsp;</td>
297
- </tr>
298
- <tr>
299
- <td></td>
300
- <td>)</td>
301
- <td></td><td></td><td width="100%"></td>
302
- </tr>
303
- </table>
304
- </div>
305
- <div class="memdoc">
306
-
307
- <p>
308
- Check whether 'filename' exists and what kind of file it is.
309
- <p>
310
- <dl compact><dt><b>Parameters:</b></dt><dd>
311
- <table border="0" cellspacing="2" cellpadding="0">
312
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The filename to check. </td></tr>
313
- <tr><td valign="top"></td><td valign="top"><em>mstat</em>&nbsp;</td><td>A CachedMultiFileStat object, if you want to use cached statting. </td></tr>
314
- <tr><td valign="top"></td><td valign="top"><em>throttleRate</em>&nbsp;</td><td>A throttle rate for mstat. Only applicable if mstat is not NULL. </td></tr>
315
- </table>
316
- </dl>
317
- <dl class="return" compact><dt><b>Returns:</b></dt><dd>The file type. </dd></dl>
318
- <dl compact><dt><b>Exceptions:</b></dt><dd>
319
- <table border="0" cellspacing="2" cellpadding="0">
320
- <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>Unable to check because of a filesystem error. </td></tr>
321
- </table>
322
- </dl>
323
-
324
- </div>
325
- </div><p>
326
- <a class="anchor" name="g69deb6b299b45039dc24b60ad9175541"></a><!-- doxytag: member="Passenger::getPassengerTempDir" ref="g69deb6b299b45039dc24b60ad9175541" args="(bool bypassCache=false, const string &amp;systemTempDir=&quot;&quot;)" -->
327
- <div class="memitem">
328
- <div class="memproto">
329
- <table class="memname">
330
- <tr>
331
- <td class="memname">string Passenger::getPassengerTempDir </td>
332
- <td>(</td>
333
- <td class="paramtype">bool&nbsp;</td>
334
- <td class="paramname"> <em>bypassCache</em> = <code>false</code>, </td>
335
- </tr>
336
- <tr>
337
- <td class="paramkey"></td>
338
- <td></td>
339
- <td class="paramtype">const string &amp;&nbsp;</td>
340
- <td class="paramname"> <em>systemTempDir</em> = <code>&quot;&quot;</code></td><td>&nbsp;</td>
341
- </tr>
342
- <tr>
343
- <td></td>
344
- <td>)</td>
345
- <td></td><td></td><td width="100%"></td>
346
- </tr>
347
- </table>
348
- </div>
349
- <div class="memdoc">
350
-
351
- <p>
352
- Return the path name for the directory in which Phusion Passenger-specific temporary files are to be stored.
353
- <p>
354
- This directory is unique for this instance of the web server in which Phusion Passenger is running.<p>
355
- If the environment variable PASSENGER_INSTANCE_TEMP_DIR is set, then that value will be returned. If this environment variable is not set, then it will be set with the return value.<p>
356
- To bypass the usage of the PASSENGER_INSTANCE_TEMP_DIR environment variable, set 'bypassCache' to true.<p>
357
- <dl compact><dt><b>Parameters:</b></dt><dd>
358
- <table border="0" cellspacing="2" cellpadding="0">
359
- <tr><td valign="top"></td><td valign="top"><em>bypassCache</em>&nbsp;</td><td>Whether PASSENGER_INSTANCE_TEMP_DIR should be bypassed. </td></tr>
360
- <tr><td valign="top"></td><td valign="top"><em>systemTempDir</em>&nbsp;</td><td>The directory under which the Phusion Passenger-specific temp directory should be located. If set to the empty string, then the return value of <a class="el" href="group__Support.html#g68f4105c5a8e510520b5ea3eecb66213" title="Return the path name for the directory in which the system stores general temporary...">getSystemTempDir()</a> will be used. !result.empty() </td></tr>
361
- </table>
362
- </dl>
363
-
364
- </div>
365
- </div><p>
366
- <a class="anchor" name="g68f4105c5a8e510520b5ea3eecb66213"></a><!-- doxytag: member="Passenger::getSystemTempDir" ref="g68f4105c5a8e510520b5ea3eecb66213" args="()" -->
367
- <div class="memitem">
368
- <div class="memproto">
369
- <table class="memname">
370
- <tr>
371
- <td class="memname">const char * Passenger::getSystemTempDir </td>
372
- <td>(</td>
373
- <td class="paramname"> </td>
374
- <td>&nbsp;)&nbsp;</td>
375
- <td width="100%"></td>
376
- </tr>
377
- </table>
378
- </div>
379
- <div class="memdoc">
380
-
381
- <p>
382
- Return the path name for the directory in which the system stores general temporary files.
383
- <p>
384
- This is usually "/tmp", but might be something else depending on some environment variables.<p>
385
- result != NULL
386
- </div>
387
- </div><p>
388
- <a class="anchor" name="g41b6c4a82fed72531a147de0505a8396"></a><!-- doxytag: member="Passenger::ptr" ref="g41b6c4a82fed72531a147de0505a8396" args="(T *pointer)" -->
389
- <div class="memitem">
390
- <div class="memproto">
391
- <div class="memtemplate">
392
- template&lt;typename T&gt; </div>
393
- <table class="memname">
394
- <tr>
395
- <td class="memname">shared_ptr&lt;T&gt; Passenger::ptr </td>
396
- <td>(</td>
397
- <td class="paramtype">T *&nbsp;</td>
398
- <td class="paramname"> <em>pointer</em> </td>
399
- <td>&nbsp;)&nbsp;</td>
400
- <td width="100%"><code> [inline]</code></td>
401
- </tr>
402
- </table>
403
- </div>
404
- <div class="memdoc">
405
-
406
- <p>
407
- Convenience shortcut for creating a <code>shared_ptr</code>.
408
- <p>
409
- Instead of: <div class="fragment"><pre class="fragment"> shared_ptr&lt;Foo&gt; foo;
410
- ...
411
- foo = shared_ptr&lt;Foo&gt;(<span class="keyword">new</span> Foo());
412
- </pre></div> one can write: <div class="fragment"><pre class="fragment"> shared_ptr&lt;Foo&gt; foo;
413
- ...
414
- foo = <a class="code" href="group__Support.html#g41b6c4a82fed72531a147de0505a8396" title="Convenience shortcut for creating a shared_ptr.">ptr</a>(<span class="keyword">new</span> Foo());
415
- </pre></div><p>
416
- <dl compact><dt><b>Parameters:</b></dt><dd>
417
- <table border="0" cellspacing="2" cellpadding="0">
418
- <tr><td valign="top"></td><td valign="top"><em>pointer</em>&nbsp;</td><td>The item to put in the shared_ptr object. </td></tr>
419
- </table>
420
- </dl>
421
-
422
- </div>
423
- </div><p>
424
- <a class="anchor" name="g4b8320aedc6a164a535c920234e3d8bf"></a><!-- doxytag: member="Passenger::split" ref="g4b8320aedc6a164a535c920234e3d8bf" args="(const string &amp;str, char sep, vector&lt; string &gt; &amp;output)" -->
425
- <div class="memitem">
426
- <div class="memproto">
427
- <table class="memname">
428
- <tr>
429
- <td class="memname">void Passenger::split </td>
430
- <td>(</td>
431
- <td class="paramtype">const string &amp;&nbsp;</td>
432
- <td class="paramname"> <em>str</em>, </td>
433
- </tr>
434
- <tr>
435
- <td class="paramkey"></td>
436
- <td></td>
437
- <td class="paramtype">char&nbsp;</td>
438
- <td class="paramname"> <em>sep</em>, </td>
439
- </tr>
440
- <tr>
441
- <td class="paramkey"></td>
442
- <td></td>
443
- <td class="paramtype">vector&lt; string &gt; &amp;&nbsp;</td>
444
- <td class="paramname"> <em>output</em></td><td>&nbsp;</td>
445
- </tr>
446
- <tr>
447
- <td></td>
448
- <td>)</td>
449
- <td></td><td></td><td width="100%"></td>
450
- </tr>
451
- </table>
452
- </div>
453
- <div class="memdoc">
454
-
455
- <p>
456
- Split the given string using the given separator.
457
- <p>
458
- <dl compact><dt><b>Parameters:</b></dt><dd>
459
- <table border="0" cellspacing="2" cellpadding="0">
460
- <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>The string to split. </td></tr>
461
- <tr><td valign="top"></td><td valign="top"><em>sep</em>&nbsp;</td><td>The separator to use. </td></tr>
462
- <tr><td valign="top"></td><td valign="top"><em>output</em>&nbsp;</td><td>The vector to write the output to. </td></tr>
463
- </table>
464
- </dl>
465
-
466
- </div>
467
- </div><p>
468
- <a class="anchor" name="gf6fab368d70c18fdf16bf5a24f630407"></a><!-- doxytag: member="Passenger::toString" ref="gf6fab368d70c18fdf16bf5a24f630407" args="(T something)" -->
469
- <div class="memitem">
470
- <div class="memproto">
471
- <div class="memtemplate">
472
- template&lt;typename T&gt; </div>
473
- <table class="memname">
474
- <tr>
475
- <td class="memname">string Passenger::toString </td>
476
- <td>(</td>
477
- <td class="paramtype">T&nbsp;</td>
478
- <td class="paramname"> <em>something</em> </td>
479
- <td>&nbsp;)&nbsp;</td>
480
- <td width="100%"><code> [inline]</code></td>
481
- </tr>
482
- </table>
483
- </div>
484
- <div class="memdoc">
485
-
486
- <p>
487
- Convert anything to a string.
488
- <p>
489
- <dl compact><dt><b>Parameters:</b></dt><dd>
490
- <table border="0" cellspacing="2" cellpadding="0">
491
- <tr><td valign="top"></td><td valign="top"><em>something</em>&nbsp;</td><td>The thing to convert. </td></tr>
492
- </table>
493
- </dl>
494
-
495
- </div>
496
- </div><p>
497
- <a class="anchor" name="g7bb22ba786fa3c88dbbd9f84aaaed59a"></a><!-- doxytag: member="Passenger::verifyRackDir" ref="g7bb22ba786fa3c88dbbd9f84aaaed59a" args="(const string &amp;dir, CachedMultiFileStat *mstat=0, unsigned int throttleRate=0)" -->
498
- <div class="memitem">
499
- <div class="memproto">
500
- <table class="memname">
501
- <tr>
502
- <td class="memname">bool Passenger::verifyRackDir </td>
503
- <td>(</td>
504
- <td class="paramtype">const string &amp;&nbsp;</td>
505
- <td class="paramname"> <em>dir</em>, </td>
506
- </tr>
507
- <tr>
508
- <td class="paramkey"></td>
509
- <td></td>
510
- <td class="paramtype">CachedMultiFileStat *&nbsp;</td>
511
- <td class="paramname"> <em>mstat</em> = <code>0</code>, </td>
512
- </tr>
513
- <tr>
514
- <td class="paramkey"></td>
515
- <td></td>
516
- <td class="paramtype">unsigned int&nbsp;</td>
517
- <td class="paramname"> <em>throttleRate</em> = <code>0</code></td><td>&nbsp;</td>
518
- </tr>
519
- <tr>
520
- <td></td>
521
- <td>)</td>
522
- <td></td><td></td><td width="100%"></td>
523
- </tr>
524
- </table>
525
- </div>
526
- <div class="memdoc">
527
-
528
- <p>
529
- Check whether the specified directory is a valid Rack application root directory.
530
- <p>
531
- <dl compact><dt><b>Parameters:</b></dt><dd>
532
- <table border="0" cellspacing="2" cellpadding="0">
533
- <tr><td valign="top"></td><td valign="top"><em>mstat</em>&nbsp;</td><td>A CachedMultiFileStat object, if you want to use cached statting. </td></tr>
534
- <tr><td valign="top"></td><td valign="top"><em>throttleRate</em>&nbsp;</td><td>A throttle rate for mstat. Only applicable if mstat is not NULL. </td></tr>
535
- </table>
536
- </dl>
537
- <dl compact><dt><b>Exceptions:</b></dt><dd>
538
- <table border="0" cellspacing="2" cellpadding="0">
539
- <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>Unable to check because of a filesystem error. </td></tr>
540
- </table>
541
- </dl>
542
-
543
- </div>
544
- </div><p>
545
- <a class="anchor" name="g02c80bd02d38cea295f24250ca8e2502"></a><!-- doxytag: member="Passenger::verifyRailsDir" ref="g02c80bd02d38cea295f24250ca8e2502" args="(const string &amp;dir, CachedMultiFileStat *mstat=0, unsigned int throttleRate=0)" -->
546
- <div class="memitem">
547
- <div class="memproto">
548
- <table class="memname">
549
- <tr>
550
- <td class="memname">bool Passenger::verifyRailsDir </td>
551
- <td>(</td>
552
- <td class="paramtype">const string &amp;&nbsp;</td>
553
- <td class="paramname"> <em>dir</em>, </td>
554
- </tr>
555
- <tr>
556
- <td class="paramkey"></td>
557
- <td></td>
558
- <td class="paramtype">CachedMultiFileStat *&nbsp;</td>
559
- <td class="paramname"> <em>mstat</em> = <code>0</code>, </td>
560
- </tr>
561
- <tr>
562
- <td class="paramkey"></td>
563
- <td></td>
564
- <td class="paramtype">unsigned int&nbsp;</td>
565
- <td class="paramname"> <em>throttleRate</em> = <code>0</code></td><td>&nbsp;</td>
566
- </tr>
567
- <tr>
568
- <td></td>
569
- <td>)</td>
570
- <td></td><td></td><td width="100%"></td>
571
- </tr>
572
- </table>
573
- </div>
574
- <div class="memdoc">
575
-
576
- <p>
577
- Check whether the specified directory is a valid Ruby on Rails application root directory.
578
- <p>
579
- <dl compact><dt><b>Parameters:</b></dt><dd>
580
- <table border="0" cellspacing="2" cellpadding="0">
581
- <tr><td valign="top"></td><td valign="top"><em>mstat</em>&nbsp;</td><td>A CachedMultiFileStat object, if you want to use cached statting. </td></tr>
582
- <tr><td valign="top"></td><td valign="top"><em>throttleRate</em>&nbsp;</td><td>A throttle rate for mstat. Only applicable if mstat is not NULL. </td></tr>
583
- </table>
584
- </dl>
585
- <dl compact><dt><b>Exceptions:</b></dt><dd>
586
- <table border="0" cellspacing="2" cellpadding="0">
587
- <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>Unable to check because of a system error. </td></tr>
588
- </table>
589
- </dl>
590
-
591
- </div>
592
- </div><p>
593
- <a class="anchor" name="g8bfea2692733dfd80703707a120bce86"></a><!-- doxytag: member="Passenger::verifyWSGIDir" ref="g8bfea2692733dfd80703707a120bce86" args="(const string &amp;dir, CachedMultiFileStat *mstat=0, unsigned int throttleRate=0)" -->
594
- <div class="memitem">
595
- <div class="memproto">
596
- <table class="memname">
597
- <tr>
598
- <td class="memname">bool Passenger::verifyWSGIDir </td>
599
- <td>(</td>
600
- <td class="paramtype">const string &amp;&nbsp;</td>
601
- <td class="paramname"> <em>dir</em>, </td>
602
- </tr>
603
- <tr>
604
- <td class="paramkey"></td>
605
- <td></td>
606
- <td class="paramtype">CachedMultiFileStat *&nbsp;</td>
607
- <td class="paramname"> <em>mstat</em> = <code>0</code>, </td>
608
- </tr>
609
- <tr>
610
- <td class="paramkey"></td>
611
- <td></td>
612
- <td class="paramtype">unsigned int&nbsp;</td>
613
- <td class="paramname"> <em>throttleRate</em> = <code>0</code></td><td>&nbsp;</td>
614
- </tr>
615
- <tr>
616
- <td></td>
617
- <td>)</td>
618
- <td></td><td></td><td width="100%"></td>
619
- </tr>
620
- </table>
621
- </div>
622
- <div class="memdoc">
623
-
624
- <p>
625
- Check whether the specified directory is a valid WSGI application root directory.
626
- <p>
627
- <dl compact><dt><b>Parameters:</b></dt><dd>
628
- <table border="0" cellspacing="2" cellpadding="0">
629
- <tr><td valign="top"></td><td valign="top"><em>mstat</em>&nbsp;</td><td>A CachedMultiFileStat object, if you want to use cached statting. </td></tr>
630
- <tr><td valign="top"></td><td valign="top"><em>throttleRate</em>&nbsp;</td><td>A throttle rate for mstat. Only applicable if mstat is not NULL. </td></tr>
631
- </table>
632
- </dl>
633
- <dl compact><dt><b>Exceptions:</b></dt><dd>
634
- <table border="0" cellspacing="2" cellpadding="0">
635
- <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>Unable to check because of a filesystem error. </td></tr>
636
- </table>
637
- </dl>
638
-
639
- </div>
640
- </div><p>
641
22
  </div>
642
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Mar 31 14:00:28 2009 for Passenger by&nbsp;
23
+ <hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 19:48:18 2009 for Passenger by&nbsp;
643
24
  <a href="http://www.doxygen.org/index.html">
644
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
25
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
645
26
  </body>
646
27
  </html>