passenger 3.0.7 → 3.0.8

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 (439) hide show
  1. data/NEWS +27 -0
  2. data/README +1 -1
  3. data/bin/passenger-install-nginx-module +3 -1
  4. data/build/config.rb +2 -1
  5. data/build/cxx_tests.rb +7 -3
  6. data/build/documentation.rb +5 -40
  7. data/build/nginx.rb +0 -1
  8. data/build/packaging.rb +0 -6
  9. data/build/rake_extensions.rb +5 -0
  10. data/doc/Architectural overview.html +344 -77
  11. data/doc/Security of user switching support.html +338 -71
  12. data/doc/Users guide Apache with comments.html +4830 -0
  13. data/doc/Users guide Apache.html +695 -428
  14. data/doc/Users guide Apache.idmap.txt +80 -0
  15. data/doc/Users guide Apache.txt +5 -5
  16. data/doc/Users guide Nginx.html +591 -313
  17. data/doc/Users guide Nginx.txt +9 -3
  18. data/doc/Users guide Standalone.html +344 -77
  19. data/ext/boost/src/pthread/thread.cpp +1 -1
  20. data/ext/common/AccountsDatabase.h +1 -1
  21. data/ext/common/Constants.h +2 -2
  22. data/ext/common/Logging.h +2 -1
  23. data/ext/common/LoggingAgent/FilterSupport.h +107 -3
  24. data/ext/common/Session.h +1 -1
  25. data/ext/common/Utils.cpp +2 -0
  26. data/ext/common/Utils/Dechunker.h +232 -0
  27. data/ext/common/Utils/HttpHeaderBufferer.h +165 -0
  28. data/ext/common/Utils/StrIntUtils.cpp +51 -15
  29. data/ext/common/Utils/StrIntUtils.h +3 -0
  30. data/ext/common/Utils/StreamBoyerMooreHorspool.h +506 -0
  31. data/ext/nginx/Configuration.c +36 -282
  32. data/ext/nginx/ContentHandler.c +17 -0
  33. data/ext/nginx/HelperAgent.cpp +397 -39
  34. data/ext/oxt/tracable_exception.cpp +3 -1
  35. data/ext/ruby/extconf.rb +1 -0
  36. data/ext/ruby/passenger_native_support.c +3 -0
  37. data/helper-scripts/prespawn +113 -31
  38. data/lib/phusion_passenger.rb +2 -2
  39. data/lib/phusion_passenger/standalone/runtime_installer.rb +3 -2
  40. data/lib/phusion_passenger/standalone/start_command.rb +12 -12
  41. data/test/cxx/DechunkerTest.cpp +216 -0
  42. data/test/cxx/FilterSupportTest.cpp +31 -4
  43. data/test/cxx/HttpHeaderBuffererTest.cpp +203 -0
  44. data/test/cxx/UtilsTest.cpp +46 -3
  45. data/test/integration_tests/hello_world_rack_spec.rb +7 -0
  46. data/test/stub/rack/config.ru +6 -1
  47. data/test/stub/rails_apps/1.2/empty/public/dispatch.cgi +1 -1
  48. data/test/stub/rails_apps/1.2/empty/public/dispatch.fcgi +1 -1
  49. data/test/stub/rails_apps/1.2/empty/public/dispatch.rb +1 -1
  50. data/test/stub/rails_apps/2.0/empty/public/dispatch.cgi +1 -1
  51. data/test/stub/rails_apps/2.0/empty/public/dispatch.fcgi +1 -1
  52. data/test/stub/rails_apps/2.0/empty/public/dispatch.rb +1 -1
  53. data/test/stub/rails_apps/2.2/empty/public/dispatch.cgi +1 -1
  54. data/test/stub/rails_apps/2.2/empty/public/dispatch.fcgi +1 -1
  55. data/test/stub/rails_apps/2.2/empty/public/dispatch.rb +1 -1
  56. metadata +20 -403
  57. data/doc/Doxyfile +0 -241
  58. data/doc/cxxapi/AbstractSpawnManager_8h_source.html +0 -141
  59. data/doc/cxxapi/Account_8h_source.html +0 -206
  60. data/doc/cxxapi/AccountsDatabase_8h_source.html +0 -161
  61. data/doc/cxxapi/AgentBase_8h_source.html +0 -70
  62. data/doc/cxxapi/AgentsStarter_8h_source.html +0 -112
  63. data/doc/cxxapi/BCrypt_8h_source.html +0 -104
  64. data/doc/cxxapi/Blowfish_8h_source.html +0 -134
  65. data/doc/cxxapi/Bucket_8h_source.html +0 -118
  66. data/doc/cxxapi/Constants_8h_source.html +0 -79
  67. data/doc/cxxapi/ContentHandler_8h_source.html +0 -95
  68. data/doc/cxxapi/DirectoryMapper_8h_source.html +0 -311
  69. data/doc/cxxapi/EventedClient_8h_source.html +0 -733
  70. data/doc/cxxapi/EventedMessageServer_8h_source.html +0 -358
  71. data/doc/cxxapi/EventedServer_8h_source.html +0 -326
  72. data/doc/cxxapi/Exceptions_8h_source.html +0 -393
  73. data/doc/cxxapi/FileDescriptor_8h_source.html +0 -324
  74. data/doc/cxxapi/Hooks_8h_source.html +0 -76
  75. data/doc/cxxapi/HttpStatusExtractor_8h_source.html +0 -382
  76. data/doc/cxxapi/IniFile_8h_source.html +0 -527
  77. data/doc/cxxapi/Logging_8h_source.html +0 -796
  78. data/doc/cxxapi/MessageChannel_8h_source.html +0 -776
  79. data/doc/cxxapi/MessageClient_8h_source.html +0 -328
  80. data/doc/cxxapi/MessageReadersWriters_8h_source.html +0 -539
  81. data/doc/cxxapi/MessageServer_8h_source.html +0 -612
  82. data/doc/cxxapi/PoolOptions_8h_source.html +0 -549
  83. data/doc/cxxapi/Process_8h_source.html +0 -286
  84. data/doc/cxxapi/RandomGenerator_8h_source.html +0 -191
  85. data/doc/cxxapi/ResourceLocator_8h_source.html +0 -166
  86. data/doc/cxxapi/SafeLibev_8h_source.html +0 -180
  87. data/doc/cxxapi/ScgiRequestParser_8h_source.html +0 -406
  88. data/doc/cxxapi/ServerInstanceDir_8h_source.html +0 -378
  89. data/doc/cxxapi/Session_8h_source.html +0 -501
  90. data/doc/cxxapi/SpawnManager_8h_source.html +0 -647
  91. data/doc/cxxapi/StaticContentHandler_8h_source.html +0 -69
  92. data/doc/cxxapi/StaticString_8h_source.html +0 -329
  93. data/doc/cxxapi/StringListCreator_8h_source.html +0 -114
  94. data/doc/cxxapi/Utils_8h_source.html +0 -469
  95. data/doc/cxxapi/annotated.html +0 -87
  96. data/doc/cxxapi/apache2_2Configuration_8h_source.html +0 -82
  97. data/doc/cxxapi/classAgentWatcher-members.html +0 -54
  98. data/doc/cxxapi/classAgentWatcher.html +0 -419
  99. data/doc/cxxapi/classClient-members.html +0 -38
  100. data/doc/cxxapi/classClient.html +0 -123
  101. data/doc/cxxapi/classHooks-members.html +0 -40
  102. data/doc/cxxapi/classHooks.html +0 -153
  103. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager-members.html +0 -40
  104. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager.html +0 -187
  105. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.map +0 -3
  106. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.md5 +0 -1
  107. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.png +0 -0
  108. data/doc/cxxapi/classPassenger_1_1ArgumentException-members.html +0 -36
  109. data/doc/cxxapi/classPassenger_1_1ArgumentException.html +0 -56
  110. data/doc/cxxapi/classPassenger_1_1ArrayMessage-members.html +0 -37
  111. data/doc/cxxapi/classPassenger_1_1ArrayMessage.html +0 -113
  112. data/doc/cxxapi/classPassenger_1_1BufferedUpload-members.html +0 -38
  113. data/doc/cxxapi/classPassenger_1_1BufferedUpload.html +0 -112
  114. data/doc/cxxapi/classPassenger_1_1BusyException-members.html +0 -36
  115. data/doc/cxxapi/classPassenger_1_1BusyException.html +0 -54
  116. data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +0 -36
  117. data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +0 -51
  118. data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +0 -41
  119. data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +0 -223
  120. data/doc/cxxapi/classPassenger_1_1EOFException-members.html +0 -36
  121. data/doc/cxxapi/classPassenger_1_1EOFException.html +0 -61
  122. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.map +0 -3
  123. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.md5 +0 -1
  124. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.png +0 -0
  125. data/doc/cxxapi/classPassenger_1_1EventFd-members.html +0 -36
  126. data/doc/cxxapi/classPassenger_1_1EventFd.html +0 -52
  127. data/doc/cxxapi/classPassenger_1_1EventedClient-members.html +0 -59
  128. data/doc/cxxapi/classPassenger_1_1EventedClient.html +0 -531
  129. data/doc/cxxapi/classPassenger_1_1EventedMessageServer-members.html +0 -37
  130. data/doc/cxxapi/classPassenger_1_1EventedMessageServer.html +0 -59
  131. data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.map +0 -3
  132. data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.md5 +0 -1
  133. data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.png +0 -0
  134. data/doc/cxxapi/classPassenger_1_1EventedServer-members.html +0 -37
  135. data/doc/cxxapi/classPassenger_1_1EventedServer.html +0 -93
  136. data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.map +0 -3
  137. data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.md5 +0 -1
  138. data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.png +0 -0
  139. data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +0 -41
  140. data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +0 -178
  141. data/doc/cxxapi/classPassenger_1_1FileDescriptorPair-members.html +0 -36
  142. data/doc/cxxapi/classPassenger_1_1FileDescriptorPair.html +0 -52
  143. data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +0 -36
  144. data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +0 -58
  145. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.map +0 -3
  146. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.md5 +0 -1
  147. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
  148. data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +0 -41
  149. data/doc/cxxapi/classPassenger_1_1FileSystemException.html +0 -66
  150. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.map +0 -3
  151. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.md5 +0 -1
  152. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.png +0 -0
  153. data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor-members.html +0 -39
  154. data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor.html +0 -128
  155. data/doc/cxxapi/classPassenger_1_1IOException-members.html +0 -36
  156. data/doc/cxxapi/classPassenger_1_1IOException.html +0 -61
  157. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +0 -4
  158. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +0 -1
  159. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
  160. data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +0 -57
  161. data/doc/cxxapi/classPassenger_1_1MessageChannel.html +0 -839
  162. data/doc/cxxapi/classPassenger_1_1MessageServer-members.html +0 -49
  163. data/doc/cxxapi/classPassenger_1_1MessageServer.html +0 -407
  164. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext-members.html +0 -36
  165. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext.html +0 -58
  166. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.map +0 -3
  167. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.md5 +0 -1
  168. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.png +0 -0
  169. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext-members.html +0 -41
  170. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext.html +0 -165
  171. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.map +0 -3
  172. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.md5 +0 -1
  173. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.png +0 -0
  174. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler-members.html +0 -39
  175. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler.html +0 -173
  176. data/doc/cxxapi/classPassenger_1_1Process-members.html +0 -44
  177. data/doc/cxxapi/classPassenger_1_1Process.html +0 -290
  178. data/doc/cxxapi/classPassenger_1_1RandomGenerator-members.html +0 -37
  179. data/doc/cxxapi/classPassenger_1_1RandomGenerator.html +0 -79
  180. data/doc/cxxapi/classPassenger_1_1ResourceLocator-members.html +0 -36
  181. data/doc/cxxapi/classPassenger_1_1ResourceLocator.html +0 -51
  182. data/doc/cxxapi/classPassenger_1_1RuntimeException-members.html +0 -36
  183. data/doc/cxxapi/classPassenger_1_1RuntimeException.html +0 -54
  184. data/doc/cxxapi/classPassenger_1_1SafeLibev-members.html +0 -36
  185. data/doc/cxxapi/classPassenger_1_1SafeLibev.html +0 -51
  186. data/doc/cxxapi/classPassenger_1_1ScalarMessage-members.html +0 -37
  187. data/doc/cxxapi/classPassenger_1_1ScalarMessage.html +0 -76
  188. data/doc/cxxapi/classPassenger_1_1ScgiRequestParser-members.html +0 -50
  189. data/doc/cxxapi/classPassenger_1_1ScgiRequestParser.html +0 -285
  190. data/doc/cxxapi/classPassenger_1_1SecurityException-members.html +0 -36
  191. data/doc/cxxapi/classPassenger_1_1SecurityException.html +0 -56
  192. data/doc/cxxapi/classPassenger_1_1Session-members.html +0 -53
  193. data/doc/cxxapi/classPassenger_1_1Session.html +0 -556
  194. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.map +0 -3
  195. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.md5 +0 -1
  196. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.png +0 -0
  197. data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +0 -39
  198. data/doc/cxxapi/classPassenger_1_1SpawnException.html +0 -101
  199. data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +0 -42
  200. data/doc/cxxapi/classPassenger_1_1SpawnManager.html +0 -292
  201. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.map +0 -3
  202. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.md5 +0 -1
  203. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.png +0 -0
  204. data/doc/cxxapi/classPassenger_1_1StandardSession-members.html +0 -54
  205. data/doc/cxxapi/classPassenger_1_1StandardSession.html +0 -394
  206. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.map +0 -3
  207. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.md5 +0 -1
  208. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.png +0 -0
  209. data/doc/cxxapi/classPassenger_1_1StaticString-members.html +0 -36
  210. data/doc/cxxapi/classPassenger_1_1StaticString.html +0 -56
  211. data/doc/cxxapi/classPassenger_1_1SyntaxError-members.html +0 -36
  212. data/doc/cxxapi/classPassenger_1_1SyntaxError.html +0 -54
  213. data/doc/cxxapi/classPassenger_1_1SystemException-members.html +0 -40
  214. data/doc/cxxapi/classPassenger_1_1SystemException.html +0 -155
  215. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map +0 -4
  216. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5 +0 -1
  217. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
  218. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException-members.html +0 -40
  219. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException.html +0 -61
  220. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.map +0 -3
  221. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.md5 +0 -1
  222. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.png +0 -0
  223. data/doc/cxxapi/classPassenger_1_1TimeoutException-members.html +0 -36
  224. data/doc/cxxapi/classPassenger_1_1TimeoutException.html +0 -54
  225. data/doc/cxxapi/classPassenger_1_1Uint16Message-members.html +0 -36
  226. data/doc/cxxapi/classPassenger_1_1Uint16Message.html +0 -51
  227. data/doc/cxxapi/classPassenger_1_1Uint32Message-members.html +0 -36
  228. data/doc/cxxapi/classPassenger_1_1Uint32Message.html +0 -51
  229. data/doc/cxxapi/classServer-members.html +0 -36
  230. data/doc/cxxapi/classServer.html +0 -49
  231. data/doc/cxxapi/classServerInstanceDirToucher-members.html +0 -36
  232. data/doc/cxxapi/classServerInstanceDirToucher.html +0 -47
  233. data/doc/cxxapi/classes.html +0 -52
  234. data/doc/cxxapi/definitions_8h_source.html +0 -36
  235. data/doc/cxxapi/doxygen.css +0 -532
  236. data/doc/cxxapi/doxygen.png +0 -0
  237. data/doc/cxxapi/files.html +0 -76
  238. data/doc/cxxapi/ftv2blank.png +0 -0
  239. data/doc/cxxapi/ftv2doc.png +0 -0
  240. data/doc/cxxapi/ftv2folderclosed.png +0 -0
  241. data/doc/cxxapi/ftv2folderopen.png +0 -0
  242. data/doc/cxxapi/ftv2lastnode.png +0 -0
  243. data/doc/cxxapi/ftv2link.png +0 -0
  244. data/doc/cxxapi/ftv2mlastnode.png +0 -0
  245. data/doc/cxxapi/ftv2mnode.png +0 -0
  246. data/doc/cxxapi/ftv2node.png +0 -0
  247. data/doc/cxxapi/ftv2plastnode.png +0 -0
  248. data/doc/cxxapi/ftv2pnode.png +0 -0
  249. data/doc/cxxapi/ftv2vertline.png +0 -0
  250. data/doc/cxxapi/functions.html +0 -103
  251. data/doc/cxxapi/functions_0x62.html +0 -82
  252. data/doc/cxxapi/functions_0x63.html +0 -102
  253. data/doc/cxxapi/functions_0x64.html +0 -102
  254. data/doc/cxxapi/functions_0x65.html +0 -88
  255. data/doc/cxxapi/functions_0x66.html +0 -100
  256. data/doc/cxxapi/functions_0x67.html +0 -167
  257. data/doc/cxxapi/functions_0x68.html +0 -88
  258. data/doc/cxxapi/functions_0x69.html +0 -96
  259. data/doc/cxxapi/functions_0x6b.html +0 -80
  260. data/doc/cxxapi/functions_0x6c.html +0 -88
  261. data/doc/cxxapi/functions_0x6d.html +0 -88
  262. data/doc/cxxapi/functions_0x6e.html +0 -86
  263. data/doc/cxxapi/functions_0x6f.html +0 -94
  264. data/doc/cxxapi/functions_0x70.html +0 -94
  265. data/doc/cxxapi/functions_0x72.html +0 -110
  266. data/doc/cxxapi/functions_0x73.html +0 -171
  267. data/doc/cxxapi/functions_0x74.html +0 -85
  268. data/doc/cxxapi/functions_0x75.html +0 -85
  269. data/doc/cxxapi/functions_0x77.html +0 -92
  270. data/doc/cxxapi/functions_0x7e.html +0 -79
  271. data/doc/cxxapi/functions_enum.html +0 -49
  272. data/doc/cxxapi/functions_eval.html +0 -67
  273. data/doc/cxxapi/functions_func.html +0 -531
  274. data/doc/cxxapi/functions_vars.html +0 -278
  275. data/doc/cxxapi/graph_legend.dot +0 -22
  276. data/doc/cxxapi/graph_legend.html +0 -92
  277. data/doc/cxxapi/graph_legend.png +0 -0
  278. data/doc/cxxapi/group__Core.html +0 -46
  279. data/doc/cxxapi/group__Core.map +0 -3
  280. data/doc/cxxapi/group__Core.png +0 -0
  281. data/doc/cxxapi/group__Exceptions.html +0 -53
  282. data/doc/cxxapi/group__Hooks.html +0 -42
  283. data/doc/cxxapi/group__Hooks.map +0 -3
  284. data/doc/cxxapi/group__Hooks.png +0 -0
  285. data/doc/cxxapi/group__Support.html +0 -538
  286. data/doc/cxxapi/hierarchy.html +0 -101
  287. data/doc/cxxapi/index.html +0 -16
  288. data/doc/cxxapi/inherit__graph__0.map +0 -3
  289. data/doc/cxxapi/inherit__graph__0.md5 +0 -1
  290. data/doc/cxxapi/inherit__graph__0.png +0 -0
  291. data/doc/cxxapi/inherit__graph__1.map +0 -3
  292. data/doc/cxxapi/inherit__graph__1.md5 +0 -1
  293. data/doc/cxxapi/inherit__graph__1.png +0 -0
  294. data/doc/cxxapi/inherit__graph__10.map +0 -3
  295. data/doc/cxxapi/inherit__graph__10.md5 +0 -1
  296. data/doc/cxxapi/inherit__graph__10.png +0 -0
  297. data/doc/cxxapi/inherit__graph__11.map +0 -4
  298. data/doc/cxxapi/inherit__graph__11.md5 +0 -1
  299. data/doc/cxxapi/inherit__graph__11.png +0 -0
  300. data/doc/cxxapi/inherit__graph__12.map +0 -3
  301. data/doc/cxxapi/inherit__graph__12.md5 +0 -1
  302. data/doc/cxxapi/inherit__graph__12.png +0 -0
  303. data/doc/cxxapi/inherit__graph__13.map +0 -3
  304. data/doc/cxxapi/inherit__graph__13.md5 +0 -1
  305. data/doc/cxxapi/inherit__graph__13.png +0 -0
  306. data/doc/cxxapi/inherit__graph__14.map +0 -3
  307. data/doc/cxxapi/inherit__graph__14.md5 +0 -1
  308. data/doc/cxxapi/inherit__graph__14.png +0 -0
  309. data/doc/cxxapi/inherit__graph__15.map +0 -3
  310. data/doc/cxxapi/inherit__graph__15.md5 +0 -1
  311. data/doc/cxxapi/inherit__graph__15.png +0 -0
  312. data/doc/cxxapi/inherit__graph__16.map +0 -5
  313. data/doc/cxxapi/inherit__graph__16.md5 +0 -1
  314. data/doc/cxxapi/inherit__graph__16.png +0 -0
  315. data/doc/cxxapi/inherit__graph__17.map +0 -3
  316. data/doc/cxxapi/inherit__graph__17.md5 +0 -1
  317. data/doc/cxxapi/inherit__graph__17.png +0 -0
  318. data/doc/cxxapi/inherit__graph__18.map +0 -3
  319. data/doc/cxxapi/inherit__graph__18.md5 +0 -1
  320. data/doc/cxxapi/inherit__graph__18.png +0 -0
  321. data/doc/cxxapi/inherit__graph__19.map +0 -4
  322. data/doc/cxxapi/inherit__graph__19.md5 +0 -1
  323. data/doc/cxxapi/inherit__graph__19.png +0 -0
  324. data/doc/cxxapi/inherit__graph__2.map +0 -3
  325. data/doc/cxxapi/inherit__graph__2.md5 +0 -1
  326. data/doc/cxxapi/inherit__graph__2.png +0 -0
  327. data/doc/cxxapi/inherit__graph__20.map +0 -3
  328. data/doc/cxxapi/inherit__graph__20.md5 +0 -1
  329. data/doc/cxxapi/inherit__graph__20.png +0 -0
  330. data/doc/cxxapi/inherit__graph__21.map +0 -3
  331. data/doc/cxxapi/inherit__graph__21.md5 +0 -1
  332. data/doc/cxxapi/inherit__graph__21.png +0 -0
  333. data/doc/cxxapi/inherit__graph__22.map +0 -3
  334. data/doc/cxxapi/inherit__graph__22.md5 +0 -1
  335. data/doc/cxxapi/inherit__graph__22.png +0 -0
  336. data/doc/cxxapi/inherit__graph__23.map +0 -3
  337. data/doc/cxxapi/inherit__graph__23.md5 +0 -1
  338. data/doc/cxxapi/inherit__graph__23.png +0 -0
  339. data/doc/cxxapi/inherit__graph__24.map +0 -3
  340. data/doc/cxxapi/inherit__graph__24.md5 +0 -1
  341. data/doc/cxxapi/inherit__graph__24.png +0 -0
  342. data/doc/cxxapi/inherit__graph__25.map +0 -3
  343. data/doc/cxxapi/inherit__graph__25.md5 +0 -1
  344. data/doc/cxxapi/inherit__graph__25.png +0 -0
  345. data/doc/cxxapi/inherit__graph__26.map +0 -3
  346. data/doc/cxxapi/inherit__graph__26.md5 +0 -1
  347. data/doc/cxxapi/inherit__graph__26.png +0 -0
  348. data/doc/cxxapi/inherit__graph__27.map +0 -3
  349. data/doc/cxxapi/inherit__graph__27.md5 +0 -1
  350. data/doc/cxxapi/inherit__graph__27.png +0 -0
  351. data/doc/cxxapi/inherit__graph__28.map +0 -3
  352. data/doc/cxxapi/inherit__graph__28.md5 +0 -1
  353. data/doc/cxxapi/inherit__graph__28.png +0 -0
  354. data/doc/cxxapi/inherit__graph__29.map +0 -3
  355. data/doc/cxxapi/inherit__graph__29.md5 +0 -1
  356. data/doc/cxxapi/inherit__graph__29.png +0 -0
  357. data/doc/cxxapi/inherit__graph__3.map +0 -4
  358. data/doc/cxxapi/inherit__graph__3.md5 +0 -1
  359. data/doc/cxxapi/inherit__graph__3.png +0 -0
  360. data/doc/cxxapi/inherit__graph__30.map +0 -3
  361. data/doc/cxxapi/inherit__graph__30.md5 +0 -1
  362. data/doc/cxxapi/inherit__graph__30.png +0 -0
  363. data/doc/cxxapi/inherit__graph__31.map +0 -4
  364. data/doc/cxxapi/inherit__graph__31.md5 +0 -1
  365. data/doc/cxxapi/inherit__graph__31.png +0 -0
  366. data/doc/cxxapi/inherit__graph__32.map +0 -3
  367. data/doc/cxxapi/inherit__graph__32.md5 +0 -1
  368. data/doc/cxxapi/inherit__graph__32.png +0 -0
  369. data/doc/cxxapi/inherit__graph__33.map +0 -3
  370. data/doc/cxxapi/inherit__graph__33.md5 +0 -1
  371. data/doc/cxxapi/inherit__graph__33.png +0 -0
  372. data/doc/cxxapi/inherit__graph__34.map +0 -3
  373. data/doc/cxxapi/inherit__graph__34.md5 +0 -1
  374. data/doc/cxxapi/inherit__graph__34.png +0 -0
  375. data/doc/cxxapi/inherit__graph__35.map +0 -3
  376. data/doc/cxxapi/inherit__graph__35.md5 +0 -1
  377. data/doc/cxxapi/inherit__graph__35.png +0 -0
  378. data/doc/cxxapi/inherit__graph__36.map +0 -5
  379. data/doc/cxxapi/inherit__graph__36.md5 +0 -1
  380. data/doc/cxxapi/inherit__graph__36.png +0 -0
  381. data/doc/cxxapi/inherit__graph__37.map +0 -3
  382. data/doc/cxxapi/inherit__graph__37.md5 +0 -1
  383. data/doc/cxxapi/inherit__graph__37.png +0 -0
  384. data/doc/cxxapi/inherit__graph__38.map +0 -3
  385. data/doc/cxxapi/inherit__graph__38.md5 +0 -1
  386. data/doc/cxxapi/inherit__graph__38.png +0 -0
  387. data/doc/cxxapi/inherit__graph__39.map +0 -3
  388. data/doc/cxxapi/inherit__graph__39.md5 +0 -1
  389. data/doc/cxxapi/inherit__graph__39.png +0 -0
  390. data/doc/cxxapi/inherit__graph__4.map +0 -3
  391. data/doc/cxxapi/inherit__graph__4.md5 +0 -1
  392. data/doc/cxxapi/inherit__graph__4.png +0 -0
  393. data/doc/cxxapi/inherit__graph__40.map +0 -3
  394. data/doc/cxxapi/inherit__graph__40.md5 +0 -1
  395. data/doc/cxxapi/inherit__graph__40.png +0 -0
  396. data/doc/cxxapi/inherit__graph__41.map +0 -3
  397. data/doc/cxxapi/inherit__graph__41.md5 +0 -1
  398. data/doc/cxxapi/inherit__graph__41.png +0 -0
  399. data/doc/cxxapi/inherit__graph__5.map +0 -3
  400. data/doc/cxxapi/inherit__graph__5.md5 +0 -1
  401. data/doc/cxxapi/inherit__graph__5.png +0 -0
  402. data/doc/cxxapi/inherit__graph__6.map +0 -3
  403. data/doc/cxxapi/inherit__graph__6.md5 +0 -1
  404. data/doc/cxxapi/inherit__graph__6.png +0 -0
  405. data/doc/cxxapi/inherit__graph__7.map +0 -3
  406. data/doc/cxxapi/inherit__graph__7.md5 +0 -1
  407. data/doc/cxxapi/inherit__graph__7.png +0 -0
  408. data/doc/cxxapi/inherit__graph__8.map +0 -3
  409. data/doc/cxxapi/inherit__graph__8.md5 +0 -1
  410. data/doc/cxxapi/inherit__graph__8.png +0 -0
  411. data/doc/cxxapi/inherit__graph__9.map +0 -3
  412. data/doc/cxxapi/inherit__graph__9.md5 +0 -1
  413. data/doc/cxxapi/inherit__graph__9.png +0 -0
  414. data/doc/cxxapi/inherits.html +0 -165
  415. data/doc/cxxapi/main.html +0 -28
  416. data/doc/cxxapi/modules.html +0 -36
  417. data/doc/cxxapi/namespacePassenger.html +0 -585
  418. data/doc/cxxapi/namespacemembers.html +0 -190
  419. data/doc/cxxapi/namespacemembers_enum.html +0 -48
  420. data/doc/cxxapi/namespacemembers_eval.html +0 -57
  421. data/doc/cxxapi/namespacemembers_func.html +0 -114
  422. data/doc/cxxapi/namespacemembers_type.html +0 -54
  423. data/doc/cxxapi/namespaces.html +0 -37
  424. data/doc/cxxapi/nginx_2Configuration_8h_source.html +0 -126
  425. data/doc/cxxapi/ngx__http__passenger__module_8h_source.html +0 -95
  426. data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard-members.html +0 -36
  427. data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html +0 -51
  428. data/doc/cxxapi/structPassenger_1_1PoolOptions-members.html +0 -67
  429. data/doc/cxxapi/structPassenger_1_1PoolOptions.html +0 -647
  430. data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash-members.html +0 -36
  431. data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash.html +0 -51
  432. data/doc/cxxapi/tab_b.gif +0 -0
  433. data/doc/cxxapi/tab_l.gif +0 -0
  434. data/doc/cxxapi/tab_r.gif +0 -0
  435. data/doc/cxxapi/tabs.css +0 -105
  436. data/doc/cxxapi/tree.html +0 -249
  437. data/doc/template/horo.rb +0 -613
  438. data/ext/libev/config.h +0 -122
  439. data/ext/nginx/HttpStatusExtractor.h +0 -351
@@ -1,36 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Member List</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- </div>
29
- <div class="contents">
30
- <h1>Passenger::ResourceLocator Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1ResourceLocator.html">Passenger::ResourceLocator</a>, including all inherited members.<table>
31
- </table></div>
32
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
33
- <a href="http://www.doxygen.org/index.html">
34
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
35
- </body>
36
- </html>
@@ -1,51 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Passenger::ResourceLocator Class Reference</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="classPassenger_1_1ResourceLocator.html">ResourceLocator</a>
29
- </div>
30
- </div>
31
- <div class="contents">
32
- <h1>Passenger::ResourceLocator Class Reference</h1><!-- doxytag: class="Passenger::ResourceLocator" -->
33
- <p>Locates various Phusion <a class="el" href="namespacePassenger.html" title="Common code for all agents.">Passenger</a> resources on the filesystem.
34
- <a href="#_details">More...</a></p>
35
-
36
- <p><code>#include &lt;<a class="el" href="ResourceLocator_8h_source.html">ResourceLocator.h</a>&gt;</code></p>
37
-
38
- <p><a href="classPassenger_1_1ResourceLocator-members.html">List of all members.</a></p>
39
- <table border="0" cellpadding="0" cellspacing="0">
40
- </table>
41
- <hr/><a name="_details"></a><h2>Detailed Description</h2>
42
- <p>Locates various Phusion <a class="el" href="namespacePassenger.html" title="Common code for all agents.">Passenger</a> resources on the filesystem. </p>
43
- <hr/>The documentation for this class was generated from the following file:<ul>
44
- <li><a class="el" href="ResourceLocator_8h_source.html">ResourceLocator.h</a></li>
45
- </ul>
46
- </div>
47
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
48
- <a href="http://www.doxygen.org/index.html">
49
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
50
- </body>
51
- </html>
@@ -1,36 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Member List</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- </div>
29
- <div class="contents">
30
- <h1>Passenger::RuntimeException Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1RuntimeException.html">Passenger::RuntimeException</a>, including all inherited members.<table>
31
- </table></div>
32
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
33
- <a href="http://www.doxygen.org/index.html">
34
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
35
- </body>
36
- </html>
@@ -1,54 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Passenger::RuntimeException Class Reference</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="classPassenger_1_1RuntimeException.html">RuntimeException</a>
29
- </div>
30
- </div>
31
- <div class="contents">
32
- <h1>Passenger::RuntimeException Class Reference<br/>
33
- <small>
34
- [<a class="el" href="group__Exceptions.html">Exceptions</a>]</small>
35
- </h1><!-- doxytag: class="Passenger::RuntimeException" -->
36
- <p>A generic runtime exception.
37
- <a href="#_details">More...</a></p>
38
-
39
- <p><code>#include &lt;<a class="el" href="Exceptions_8h_source.html">Exceptions.h</a>&gt;</code></p>
40
-
41
- <p><a href="classPassenger_1_1RuntimeException-members.html">List of all members.</a></p>
42
- <table border="0" cellpadding="0" cellspacing="0">
43
- </table>
44
- <hr/><a name="_details"></a><h2>Detailed Description</h2>
45
- <p>A generic runtime exception. </p>
46
- <hr/>The documentation for this class was generated from the following file:<ul>
47
- <li><a class="el" href="Exceptions_8h_source.html">Exceptions.h</a></li>
48
- </ul>
49
- </div>
50
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
51
- <a href="http://www.doxygen.org/index.html">
52
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
53
- </body>
54
- </html>
@@ -1,36 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Member List</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- </div>
29
- <div class="contents">
30
- <h1>Passenger::SafeLibev Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1SafeLibev.html">Passenger::SafeLibev</a>, including all inherited members.<table>
31
- </table></div>
32
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
33
- <a href="http://www.doxygen.org/index.html">
34
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
35
- </body>
36
- </html>
@@ -1,51 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Passenger::SafeLibev Class Reference</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="classPassenger_1_1SafeLibev.html">SafeLibev</a>
29
- </div>
30
- </div>
31
- <div class="contents">
32
- <h1>Passenger::SafeLibev Class Reference</h1><!-- doxytag: class="Passenger::SafeLibev" -->
33
- <p>Class for thread-safely using libev.
34
- <a href="#_details">More...</a></p>
35
-
36
- <p><code>#include &lt;<a class="el" href="SafeLibev_8h_source.html">SafeLibev.h</a>&gt;</code></p>
37
-
38
- <p><a href="classPassenger_1_1SafeLibev-members.html">List of all members.</a></p>
39
- <table border="0" cellpadding="0" cellspacing="0">
40
- </table>
41
- <hr/><a name="_details"></a><h2>Detailed Description</h2>
42
- <p>Class for thread-safely using libev. </p>
43
- <hr/>The documentation for this class was generated from the following file:<ul>
44
- <li><a class="el" href="SafeLibev_8h_source.html">SafeLibev.h</a></li>
45
- </ul>
46
- </div>
47
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
48
- <a href="http://www.doxygen.org/index.html">
49
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
50
- </body>
51
- </html>
@@ -1,37 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Member List</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- </div>
29
- <div class="contents">
30
- <h1>Passenger::ScalarMessage Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1ScalarMessage.html">Passenger::ScalarMessage</a>, including all inherited members.<table>
31
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1ScalarMessage.html#aadcc25dfe89d8acbf308bf951cc5bf32">reset</a>(bool zeroBuffer=false)</td><td><a class="el" href="classPassenger_1_1ScalarMessage.html">Passenger::ScalarMessage</a></td><td><code> [inline]</code></td></tr>
32
- </table></div>
33
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
34
- <a href="http://www.doxygen.org/index.html">
35
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
36
- </body>
37
- </html>
@@ -1,76 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Passenger::ScalarMessage Class Reference</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="classPassenger_1_1ScalarMessage.html">ScalarMessage</a>
29
- </div>
30
- </div>
31
- <div class="contents">
32
- <h1>Passenger::ScalarMessage Class Reference</h1><!-- doxytag: class="Passenger::ScalarMessage" -->
33
- <p>Class for reading a scalar message.
34
- <a href="#_details">More...</a></p>
35
-
36
- <p><code>#include &lt;<a class="el" href="MessageReadersWriters_8h_source.html">MessageReadersWriters.h</a>&gt;</code></p>
37
-
38
- <p><a href="classPassenger_1_1ScalarMessage-members.html">List of all members.</a></p>
39
- <table border="0" cellpadding="0" cellspacing="0">
40
- <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
41
- <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ScalarMessage.html#aadcc25dfe89d8acbf308bf951cc5bf32">reset</a> (bool zeroBuffer=false)</td></tr>
42
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resets the internal state so that this object can be used for processing another scalar message. <a href="#aadcc25dfe89d8acbf308bf951cc5bf32"></a><br/></td></tr>
43
- </table>
44
- <hr/><a name="_details"></a><h2>Detailed Description</h2>
45
- <p>Class for reading a scalar message. </p>
46
- <hr/><h2>Member Function Documentation</h2>
47
- <a class="anchor" id="aadcc25dfe89d8acbf308bf951cc5bf32"></a><!-- doxytag: member="Passenger::ScalarMessage::reset" ref="aadcc25dfe89d8acbf308bf951cc5bf32" args="(bool zeroBuffer=false)" -->
48
- <div class="memitem">
49
- <div class="memproto">
50
- <table class="memname">
51
- <tr>
52
- <td class="memname">void Passenger::ScalarMessage::reset </td>
53
- <td>(</td>
54
- <td class="paramtype">bool&nbsp;</td>
55
- <td class="paramname"> <em>zeroBuffer</em> = <code>false</code></td>
56
- <td>&nbsp;)&nbsp;</td>
57
- <td><code> [inline]</code></td>
58
- </tr>
59
- </table>
60
- </div>
61
- <div class="memdoc">
62
-
63
- <p>Resets the internal state so that this object can be used for processing another scalar message. </p>
64
- <p>If <em>zeroBuffer</em> is true, then the contents of the internal buffer will be securely filled with zeroes. This is useful if e.g. the buffer might contain sensitive password data. </p>
65
-
66
- </div>
67
- </div>
68
- <hr/>The documentation for this class was generated from the following file:<ul>
69
- <li><a class="el" href="MessageReadersWriters_8h_source.html">MessageReadersWriters.h</a></li>
70
- </ul>
71
- </div>
72
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
73
- <a href="http://www.doxygen.org/index.html">
74
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
75
- </body>
76
- </html>
@@ -1,50 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Member List</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- </div>
29
- <div class="contents">
30
- <h1>Passenger::ScgiRequestParser Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1ScgiRequestParser.html">Passenger::ScgiRequestParser</a>, including all inherited members.<table>
31
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a5368ed40bf7c896f68d7ffaae164a092">acceptingInput</a>() const </td><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html">Passenger::ScgiRequestParser</a></td><td><code> [inline]</code></td></tr>
32
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a495e2aec6deffd64fd3d53dc81379f8b">ErrorReason</a> enum name</td><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html">Passenger::ScgiRequestParser</a></td><td></td></tr>
33
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a0498c9529029969d5a77e1f74f95baa3">feed</a>(const char *data, unsigned int size)</td><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html">Passenger::ScgiRequestParser</a></td><td><code> [inline]</code></td></tr>
34
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a4114253f47d3e7e5c0dddc3cd11c5596">getErrorReason</a>() const </td><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html">Passenger::ScgiRequestParser</a></td><td><code> [inline]</code></td></tr>
35
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a82321480ad2f8ac7ba58ff865131f6b4">getHeader</a>(const StaticString &amp;name) const </td><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html">Passenger::ScgiRequestParser</a></td><td><code> [inline]</code></td></tr>
36
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html#aa96dbb7c4c642ac74f30ed5b14a64e86">getHeaderData</a>() const </td><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html">Passenger::ScgiRequestParser</a></td><td><code> [inline]</code></td></tr>
37
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a5bd7dbce81c69ae9e3462e84daf09012">getState</a>() const </td><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html">Passenger::ScgiRequestParser</a></td><td><code> [inline]</code></td></tr>
38
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html#ad82e358a0ad051ab2bdd2374e9ab4ff8">hasHeader</a>(const StaticString &amp;name) const </td><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html">Passenger::ScgiRequestParser</a></td><td><code> [inline]</code></td></tr>
39
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a495e2aec6deffd64fd3d53dc81379f8ba44078eaf2ae1ee592d65d122dbda4a44">HEADER_TERMINATOR_EXPECTED</a> enum value</td><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html">Passenger::ScgiRequestParser</a></td><td></td></tr>
40
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a495e2aec6deffd64fd3d53dc81379f8bac162062c109fe310d5923d12b6147add">INVALID_HEADER_DATA</a> enum value</td><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html">Passenger::ScgiRequestParser</a></td><td></td></tr>
41
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a495e2aec6deffd64fd3d53dc81379f8bafe61dd339024beaed48f6eed6e6f3332">INVALID_LENGTH_STRING</a> enum value</td><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html">Passenger::ScgiRequestParser</a></td><td></td></tr>
42
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a495e2aec6deffd64fd3d53dc81379f8ba9ba3d5851af9ffae1e9202bc9f73ac5b">LENGTH_STRING_TOO_LARGE</a> enum value</td><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html">Passenger::ScgiRequestParser</a></td><td></td></tr>
43
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a495e2aec6deffd64fd3d53dc81379f8ba876574447523322b9d7b4921e490032d">LIMIT_REACHED</a> enum value</td><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html">Passenger::ScgiRequestParser</a></td><td></td></tr>
44
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a1108e7ce9162289db8a5b14479325e7a">ScgiRequestParser</a>(unsigned long maxSize=0)</td><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html">Passenger::ScgiRequestParser</a></td><td><code> [inline]</code></td></tr>
45
- </table></div>
46
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
47
- <a href="http://www.doxygen.org/index.html">
48
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
49
- </body>
50
- </html>
@@ -1,285 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Passenger::ScgiRequestParser Class Reference</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="classPassenger_1_1ScgiRequestParser.html">ScgiRequestParser</a>
29
- </div>
30
- </div>
31
- <div class="contents">
32
- <h1>Passenger::ScgiRequestParser Class Reference</h1><!-- doxytag: class="Passenger::ScgiRequestParser" -->
33
- <p>A parser for SCGI requests.
34
- <a href="#_details">More...</a></p>
35
-
36
- <p><code>#include &lt;<a class="el" href="ScgiRequestParser_8h_source.html">ScgiRequestParser.h</a>&gt;</code></p>
37
-
38
- <p><a href="classPassenger_1_1ScgiRequestParser-members.html">List of all members.</a></p>
39
- <table border="0" cellpadding="0" cellspacing="0">
40
- <tr><td colspan="2"><h2>Public Types</h2></td></tr>
41
- <tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a495e2aec6deffd64fd3d53dc81379f8b">ErrorReason</a> { , <br/>
42
- &nbsp;&nbsp;<a class="el" href="classPassenger_1_1ScgiRequestParser.html#a495e2aec6deffd64fd3d53dc81379f8ba9ba3d5851af9ffae1e9202bc9f73ac5b">LENGTH_STRING_TOO_LARGE</a>,
43
- <a class="el" href="classPassenger_1_1ScgiRequestParser.html#a495e2aec6deffd64fd3d53dc81379f8ba876574447523322b9d7b4921e490032d">LIMIT_REACHED</a>,
44
- <a class="el" href="classPassenger_1_1ScgiRequestParser.html#a495e2aec6deffd64fd3d53dc81379f8bafe61dd339024beaed48f6eed6e6f3332">INVALID_LENGTH_STRING</a>,
45
- <a class="el" href="classPassenger_1_1ScgiRequestParser.html#a495e2aec6deffd64fd3d53dc81379f8ba44078eaf2ae1ee592d65d122dbda4a44">HEADER_TERMINATOR_EXPECTED</a>,
46
- <br/>
47
- &nbsp;&nbsp;<a class="el" href="classPassenger_1_1ScgiRequestParser.html#a495e2aec6deffd64fd3d53dc81379f8bac162062c109fe310d5923d12b6147add">INVALID_HEADER_DATA</a>
48
- <br/>
49
- }</td></tr>
50
- <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
51
- <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a1108e7ce9162289db8a5b14479325e7a">ScgiRequestParser</a> (unsigned long maxSize=0)</td></tr>
52
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new <a class="el" href="classPassenger_1_1ScgiRequestParser.html" title="A parser for SCGI requests.">ScgiRequestParser</a>, ready to parse a request. <a href="#a1108e7ce9162289db8a5b14479325e7a"></a><br/></td></tr>
53
- <tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a0498c9529029969d5a77e1f74f95baa3">feed</a> (const char *data, unsigned int size)</td></tr>
54
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Feed SCGI request data to the parser. <a href="#a0498c9529029969d5a77e1f74f95baa3"></a><br/></td></tr>
55
- <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa96dbb7c4c642ac74f30ed5b14a64e86"></a><!-- doxytag: member="Passenger::ScgiRequestParser::getHeaderData" ref="aa96dbb7c4c642ac74f30ed5b14a64e86" args="() const " -->
56
- string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ScgiRequestParser.html#aa96dbb7c4c642ac74f30ed5b14a64e86">getHeaderData</a> () const </td></tr>
57
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the raw header data that has been processed so far. <br/></td></tr>
58
- <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPassenger_1_1StaticString.html">StaticString</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a82321480ad2f8ac7ba58ff865131f6b4">getHeader</a> (const <a class="el" href="classPassenger_1_1StaticString.html">StaticString</a> &amp;name) const </td></tr>
59
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the value of the header with the given name. <a href="#a82321480ad2f8ac7ba58ff865131f6b4"></a><br/></td></tr>
60
- <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ScgiRequestParser.html#ad82e358a0ad051ab2bdd2374e9ab4ff8">hasHeader</a> (const <a class="el" href="classPassenger_1_1StaticString.html">StaticString</a> &amp;name) const </td></tr>
61
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks whether there is a header with the given name. <a href="#ad82e358a0ad051ab2bdd2374e9ab4ff8"></a><br/></td></tr>
62
- <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5bd7dbce81c69ae9e3462e84daf09012"></a><!-- doxytag: member="Passenger::ScgiRequestParser::getState" ref="a5bd7dbce81c69ae9e3462e84daf09012" args="() const " -->
63
- State&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a5bd7dbce81c69ae9e3462e84daf09012">getState</a> () const </td></tr>
64
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the parser's current state. <br/></td></tr>
65
- <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a495e2aec6deffd64fd3d53dc81379f8b">ErrorReason</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a4114253f47d3e7e5c0dddc3cd11c5596">getErrorReason</a> () const </td></tr>
66
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the reason why the parser entered the error state. <a href="#a4114253f47d3e7e5c0dddc3cd11c5596"></a><br/></td></tr>
67
- <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5368ed40bf7c896f68d7ffaae164a092"></a><!-- doxytag: member="Passenger::ScgiRequestParser::acceptingInput" ref="a5368ed40bf7c896f68d7ffaae164a092" args="() const " -->
68
- bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a5368ed40bf7c896f68d7ffaae164a092">acceptingInput</a> () const </td></tr>
69
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks whether this parser is still capable of accepting input (that is, that this parser is not in a final state). <br/></td></tr>
70
- </table>
71
- <hr/><a name="_details"></a><h2>Detailed Description</h2>
72
- <p>A parser for SCGI requests. </p>
73
- <p>It parses the request header and ignores the body data.</p>
74
- <p>You can use it by constructing a parser object, then feeding data to the parser until it has reached a final state.</p>
75
- <p>Example: </p>
76
- <div class="fragment"><pre class="fragment"> <a class="code" href="classPassenger_1_1ScgiRequestParser.html#a1108e7ce9162289db8a5b14479325e7a" title="Create a new ScgiRequestParser, ready to parse a request.">ScgiRequestParser</a> parser;
77
- <span class="keywordtype">char</span> buf[1024 * 16];
78
- ssize_t size;
79
- <span class="keywordtype">unsigned</span> in bytesAccepted;
80
-
81
- <span class="keywordflow">do</span> {
82
- size = read(fd, buf, <span class="keyword">sizeof</span>(buf));
83
- bytesAccepted = parser.feed(buf, size);
84
- } <span class="keywordflow">while</span> (parser.acceptingInput());
85
- <span class="comment">// Parser is done when its return value isn&#39;t equal to the input size.</span>
86
-
87
- <span class="comment">// Check whether a parse error occured.</span>
88
- <span class="keywordflow">if</span> (parser.getState() == ScgiRequestParser::ERROR) {
89
- bailOut();
90
- } <span class="keywordflow">else</span> {
91
- <span class="comment">// All good! Do something with the SCGI header that the parser parsed.</span>
92
- processHeader(parser.getHeaderData());
93
-
94
- <span class="comment">// If the last buffer passed to the parser also contains body data,</span>
95
- <span class="comment">// then the body data starts at &#39;buf + bytesAccepted&#39;.</span>
96
- <span class="keywordflow">if</span> (bytesAccepted &lt; size) {
97
- processBody(buf + bytesAccepted);
98
- }
99
- <span class="keywordflow">while</span> (!end_of_file(fd)) {
100
- ... read(...) ...
101
- processBody(...);
102
- }
103
- }
104
- </pre></div><p>Parser properties:</p>
105
- <ul>
106
- <li>A parser object can only process a single SCGI request. You must discard the existing parser object and create a new one if you want to process another SCGI request.</li>
107
- <li>This parser checks whether the header netstring is valid. It will enter the error state if it encounters a parse error.</li>
108
- <li>However, this parser does not perform any validation of the actual header contents. For example, it doesn't check that CONTENT_LENGTH is the first header, or that the SCGI header is present. </li>
109
- </ul>
110
- <hr/><h2>Member Enumeration Documentation</h2>
111
- <a class="anchor" id="a495e2aec6deffd64fd3d53dc81379f8b"></a><!-- doxytag: member="Passenger::ScgiRequestParser::ErrorReason" ref="a495e2aec6deffd64fd3d53dc81379f8b" args="" -->
112
- <div class="memitem">
113
- <div class="memproto">
114
- <table class="memname">
115
- <tr>
116
- <td class="memname">enum <a class="el" href="classPassenger_1_1ScgiRequestParser.html#a495e2aec6deffd64fd3d53dc81379f8b">Passenger::ScgiRequestParser::ErrorReason</a></td>
117
- </tr>
118
- </table>
119
- </div>
120
- <div class="memdoc">
121
- <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
122
- <tr><td valign="top"><em><a class="anchor" id="a495e2aec6deffd64fd3d53dc81379f8ba9ba3d5851af9ffae1e9202bc9f73ac5b"></a><!-- doxytag: member="LENGTH_STRING_TOO_LARGE" ref="a495e2aec6deffd64fd3d53dc81379f8ba9ba3d5851af9ffae1e9202bc9f73ac5b" args="" -->LENGTH_STRING_TOO_LARGE</em>&nbsp;</td><td>
123
- <p>The length string is too large. </p>
124
- </td></tr>
125
- <tr><td valign="top"><em><a class="anchor" id="a495e2aec6deffd64fd3d53dc81379f8ba876574447523322b9d7b4921e490032d"></a><!-- doxytag: member="LIMIT_REACHED" ref="a495e2aec6deffd64fd3d53dc81379f8ba876574447523322b9d7b4921e490032d" args="" -->LIMIT_REACHED</em>&nbsp;</td><td>
126
- <p>The header is larger than the maxSize value provided to the constructor. </p>
127
- </td></tr>
128
- <tr><td valign="top"><em><a class="anchor" id="a495e2aec6deffd64fd3d53dc81379f8bafe61dd339024beaed48f6eed6e6f3332"></a><!-- doxytag: member="INVALID_LENGTH_STRING" ref="a495e2aec6deffd64fd3d53dc81379f8bafe61dd339024beaed48f6eed6e6f3332" args="" -->INVALID_LENGTH_STRING</em>&nbsp;</td><td>
129
- <p>The length string contains an invalid character. </p>
130
- </td></tr>
131
- <tr><td valign="top"><em><a class="anchor" id="a495e2aec6deffd64fd3d53dc81379f8ba44078eaf2ae1ee592d65d122dbda4a44"></a><!-- doxytag: member="HEADER_TERMINATOR_EXPECTED" ref="a495e2aec6deffd64fd3d53dc81379f8ba44078eaf2ae1ee592d65d122dbda4a44" args="" -->HEADER_TERMINATOR_EXPECTED</em>&nbsp;</td><td>
132
- <p>A header terminator character (",") was expected, but some else was encountered instead. </p>
133
- </td></tr>
134
- <tr><td valign="top"><em><a class="anchor" id="a495e2aec6deffd64fd3d53dc81379f8bac162062c109fe310d5923d12b6147add"></a><!-- doxytag: member="INVALID_HEADER_DATA" ref="a495e2aec6deffd64fd3d53dc81379f8bac162062c109fe310d5923d12b6147add" args="" -->INVALID_HEADER_DATA</em>&nbsp;</td><td>
135
- <p>The header data itself contains errors. </p>
136
- </td></tr>
137
- </table>
138
- </dd>
139
- </dl>
140
-
141
- </div>
142
- </div>
143
- <hr/><h2>Constructor &amp; Destructor Documentation</h2>
144
- <a class="anchor" id="a1108e7ce9162289db8a5b14479325e7a"></a><!-- doxytag: member="Passenger::ScgiRequestParser::ScgiRequestParser" ref="a1108e7ce9162289db8a5b14479325e7a" args="(unsigned long maxSize=0)" -->
145
- <div class="memitem">
146
- <div class="memproto">
147
- <table class="memname">
148
- <tr>
149
- <td class="memname">Passenger::ScgiRequestParser::ScgiRequestParser </td>
150
- <td>(</td>
151
- <td class="paramtype">unsigned long&nbsp;</td>
152
- <td class="paramname"> <em>maxSize</em> = <code>0</code></td>
153
- <td>&nbsp;)&nbsp;</td>
154
- <td><code> [inline]</code></td>
155
- </tr>
156
- </table>
157
- </div>
158
- <div class="memdoc">
159
-
160
- <p>Create a new <a class="el" href="classPassenger_1_1ScgiRequestParser.html" title="A parser for SCGI requests.">ScgiRequestParser</a>, ready to parse a request. </p>
161
- <dl><dt><b>Parameters:</b></dt><dd>
162
- <table border="0" cellspacing="2" cellpadding="0">
163
- <tr><td valign="top"></td><td valign="top"><em>maxSize</em>&nbsp;</td><td>The maximum size that the SCGI data is allowed to be, or 0 if no limit is desired. </td></tr>
164
- </table>
165
- </dd>
166
- </dl>
167
-
168
- </div>
169
- </div>
170
- <hr/><h2>Member Function Documentation</h2>
171
- <a class="anchor" id="a0498c9529029969d5a77e1f74f95baa3"></a><!-- doxytag: member="Passenger::ScgiRequestParser::feed" ref="a0498c9529029969d5a77e1f74f95baa3" args="(const char *data, unsigned int size)" -->
172
- <div class="memitem">
173
- <div class="memproto">
174
- <table class="memname">
175
- <tr>
176
- <td class="memname">unsigned int Passenger::ScgiRequestParser::feed </td>
177
- <td>(</td>
178
- <td class="paramtype">const char *&nbsp;</td>
179
- <td class="paramname"> <em>data</em>, </td>
180
- </tr>
181
- <tr>
182
- <td class="paramkey"></td>
183
- <td></td>
184
- <td class="paramtype">unsigned int&nbsp;</td>
185
- <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
186
- </tr>
187
- <tr>
188
- <td></td>
189
- <td>)</td>
190
- <td></td><td></td><td><code> [inline]</code></td>
191
- </tr>
192
- </table>
193
- </div>
194
- <div class="memdoc">
195
-
196
- <p>Feed SCGI request data to the parser. </p>
197
- <dl><dt><b>Parameters:</b></dt><dd>
198
- <table border="0" cellspacing="2" cellpadding="0">
199
- <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to feed. </td></tr>
200
- <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size of the data, in bytes. </td></tr>
201
- </table>
202
- </dd>
203
- </dl>
204
- <dl class="return"><dt><b>Returns:</b></dt><dd>The number of recognized SCGI header bytes. If this value equals 'size', then it means all data in 'data' is part of the SCGI header. If this value is less than size, then it means only some data in 'data' is part of the SCGI header, and the remaining 'size - result' bytes are part of the request body. </dd></dl>
205
- <dl class="pre"><dt><b>Precondition:</b></dt><dd>size &gt; 0 </dd></dl>
206
- <dl class="post"><dt><b>Postcondition:</b></dt><dd>result &lt;= size </dd>
207
- <dd>
208
- if result &lt;= size: <a class="el" href="classPassenger_1_1ScgiRequestParser.html#a5bd7dbce81c69ae9e3462e84daf09012" title="Get the parser&#39;s current state.">getState()</a> == DONE || <a class="el" href="classPassenger_1_1ScgiRequestParser.html#a5bd7dbce81c69ae9e3462e84daf09012" title="Get the parser&#39;s current state.">getState()</a> == ERROR </dd></dl>
209
-
210
- </div>
211
- </div>
212
- <a class="anchor" id="a4114253f47d3e7e5c0dddc3cd11c5596"></a><!-- doxytag: member="Passenger::ScgiRequestParser::getErrorReason" ref="a4114253f47d3e7e5c0dddc3cd11c5596" args="() const " -->
213
- <div class="memitem">
214
- <div class="memproto">
215
- <table class="memname">
216
- <tr>
217
- <td class="memname"><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a495e2aec6deffd64fd3d53dc81379f8b">ErrorReason</a> Passenger::ScgiRequestParser::getErrorReason </td>
218
- <td>(</td>
219
- <td class="paramname"></td>
220
- <td>&nbsp;)&nbsp;</td>
221
- <td> const<code> [inline]</code></td>
222
- </tr>
223
- </table>
224
- </div>
225
- <div class="memdoc">
226
-
227
- <p>Returns the reason why the parser entered the error state. </p>
228
- <dl class="pre"><dt><b>Precondition:</b></dt><dd><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a5bd7dbce81c69ae9e3462e84daf09012" title="Get the parser&#39;s current state.">getState()</a> == ERROR </dd></dl>
229
-
230
- </div>
231
- </div>
232
- <a class="anchor" id="a82321480ad2f8ac7ba58ff865131f6b4"></a><!-- doxytag: member="Passenger::ScgiRequestParser::getHeader" ref="a82321480ad2f8ac7ba58ff865131f6b4" args="(const StaticString &amp;name) const " -->
233
- <div class="memitem">
234
- <div class="memproto">
235
- <table class="memname">
236
- <tr>
237
- <td class="memname"><a class="el" href="classPassenger_1_1StaticString.html">StaticString</a> Passenger::ScgiRequestParser::getHeader </td>
238
- <td>(</td>
239
- <td class="paramtype">const <a class="el" href="classPassenger_1_1StaticString.html">StaticString</a> &amp;&nbsp;</td>
240
- <td class="paramname"> <em>name</em></td>
241
- <td>&nbsp;)&nbsp;</td>
242
- <td> const<code> [inline]</code></td>
243
- </tr>
244
- </table>
245
- </div>
246
- <div class="memdoc">
247
-
248
- <p>Get the value of the header with the given name. </p>
249
- <p>Lookup is case-sensitive.</p>
250
- <p>Returns the empty string if there is no such header.</p>
251
- <dl class="pre"><dt><b>Precondition:</b></dt><dd><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a5bd7dbce81c69ae9e3462e84daf09012" title="Get the parser&#39;s current state.">getState()</a> == DONE </dd></dl>
252
-
253
- </div>
254
- </div>
255
- <a class="anchor" id="ad82e358a0ad051ab2bdd2374e9ab4ff8"></a><!-- doxytag: member="Passenger::ScgiRequestParser::hasHeader" ref="ad82e358a0ad051ab2bdd2374e9ab4ff8" args="(const StaticString &amp;name) const " -->
256
- <div class="memitem">
257
- <div class="memproto">
258
- <table class="memname">
259
- <tr>
260
- <td class="memname">bool Passenger::ScgiRequestParser::hasHeader </td>
261
- <td>(</td>
262
- <td class="paramtype">const <a class="el" href="classPassenger_1_1StaticString.html">StaticString</a> &amp;&nbsp;</td>
263
- <td class="paramname"> <em>name</em></td>
264
- <td>&nbsp;)&nbsp;</td>
265
- <td> const<code> [inline]</code></td>
266
- </tr>
267
- </table>
268
- </div>
269
- <div class="memdoc">
270
-
271
- <p>Checks whether there is a header with the given name. </p>
272
- <p>Lookup is case-sensitive.</p>
273
- <dl class="pre"><dt><b>Precondition:</b></dt><dd><a class="el" href="classPassenger_1_1ScgiRequestParser.html#a5bd7dbce81c69ae9e3462e84daf09012" title="Get the parser&#39;s current state.">getState()</a> == DONE </dd></dl>
274
-
275
- </div>
276
- </div>
277
- <hr/>The documentation for this class was generated from the following file:<ul>
278
- <li><a class="el" href="ScgiRequestParser_8h_source.html">ScgiRequestParser.h</a></li>
279
- </ul>
280
- </div>
281
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
282
- <a href="http://www.doxygen.org/index.html">
283
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
284
- </body>
285
- </html>