colouringcode-passenger 0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/DEVELOPERS.TXT +101 -0
- data/INSTALL +6 -0
- data/LICENSE +19 -0
- data/NEWS +174 -0
- data/README +59 -0
- data/Rakefile +921 -0
- data/benchmark/ApplicationPool.cpp +52 -0
- data/benchmark/accept_vs_socketpair_vs_named_pipes.rb +126 -0
- data/benchmark/dispatcher.rb +42 -0
- data/benchmark/overhead_of_password_checking.rb +81 -0
- data/benchmark/socket_connections_vs_persistent_pipe.rb +99 -0
- data/benchmark/unix_sockets_vs_pipes.rb +83 -0
- data/bin/passenger-config +46 -0
- data/bin/passenger-install-apache2-module +223 -0
- data/bin/passenger-install-nginx-module +472 -0
- data/bin/passenger-make-enterprisey +83 -0
- data/bin/passenger-memory-stats +301 -0
- data/bin/passenger-spawn-server +68 -0
- data/bin/passenger-status +125 -0
- data/bin/passenger-stress-test +344 -0
- data/debian/compat +1 -0
- data/debian/control +21 -0
- data/debian/postinst +24 -0
- data/debian/prerm +2 -0
- data/doc/ApplicationPool algorithm.txt +402 -0
- data/doc/Architectural overview.html +1 -0
- data/doc/Architectural overview.txt +334 -0
- data/doc/Doxyfile +241 -0
- data/doc/Security of user switching support.html +1 -0
- data/doc/Security of user switching support.txt +197 -0
- data/doc/Users guide Apache.html +1 -0
- data/doc/Users guide Apache.txt +1848 -0
- data/doc/Users guide Nginx.html +1 -0
- data/doc/Users guide Nginx.txt +769 -0
- data/doc/definitions.h +5 -0
- data/doc/images/by_sa.png +0 -0
- data/doc/images/conservative_spawning.png +0 -0
- data/doc/images/conservative_spawning.svg +248 -0
- data/doc/images/icons/README +5 -0
- data/doc/images/icons/callouts/1.png +0 -0
- data/doc/images/icons/callouts/10.png +0 -0
- data/doc/images/icons/callouts/11.png +0 -0
- data/doc/images/icons/callouts/12.png +0 -0
- data/doc/images/icons/callouts/13.png +0 -0
- data/doc/images/icons/callouts/14.png +0 -0
- data/doc/images/icons/callouts/15.png +0 -0
- data/doc/images/icons/callouts/2.png +0 -0
- data/doc/images/icons/callouts/3.png +0 -0
- data/doc/images/icons/callouts/4.png +0 -0
- data/doc/images/icons/callouts/5.png +0 -0
- data/doc/images/icons/callouts/6.png +0 -0
- data/doc/images/icons/callouts/7.png +0 -0
- data/doc/images/icons/callouts/8.png +0 -0
- data/doc/images/icons/callouts/9.png +0 -0
- data/doc/images/icons/caution.png +0 -0
- data/doc/images/icons/example.png +0 -0
- data/doc/images/icons/home.png +0 -0
- data/doc/images/icons/important.png +0 -0
- data/doc/images/icons/next.png +0 -0
- data/doc/images/icons/note.png +0 -0
- data/doc/images/icons/prev.png +0 -0
- data/doc/images/icons/tip.png +0 -0
- data/doc/images/icons/up.png +0 -0
- data/doc/images/icons/warning.png +0 -0
- data/doc/images/passenger_architecture.png +0 -0
- data/doc/images/passenger_architecture.svg +401 -0
- data/doc/images/phusion_banner.png +0 -0
- data/doc/images/smart-lv2.png +0 -0
- data/doc/images/smart-lv2.svg +320 -0
- data/doc/images/spawn_server_architecture.png +0 -0
- data/doc/images/spawn_server_architecture.svg +655 -0
- data/doc/images/typical_isolated_web_application.png +0 -0
- data/doc/images/typical_isolated_web_application.svg +213 -0
- data/doc/rdoc/classes/ConditionVariable.html +194 -0
- data/doc/rdoc/classes/Exception.html +120 -0
- data/doc/rdoc/classes/GC.html +113 -0
- data/doc/rdoc/classes/IO.html +169 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +153 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +517 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +97 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +96 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +97 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +96 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +719 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +598 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess/Instance.html +138 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess.html +317 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +140 -0
- data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +154 -0
- data/doc/rdoc/classes/PhusionPassenger/Application.html +283 -0
- data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +172 -0
- data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +145 -0
- data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +181 -0
- data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +141 -0
- data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +92 -0
- data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +489 -0
- data/doc/rdoc/classes/PhusionPassenger/NativeSupport.html +350 -0
- data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +188 -0
- data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +199 -0
- data/doc/rdoc/classes/PhusionPassenger/Rack.html +91 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner/Error.html +98 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner.html +438 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/CGIFixed.html +200 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner/Error.html +98 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner.html +436 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/RequestHandler.html +155 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz.html +95 -0
- data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +402 -0
- data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +125 -0
- data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +169 -0
- data/doc/rdoc/classes/PhusionPassenger/Utils.html +803 -0
- data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +140 -0
- data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +188 -0
- data/doc/rdoc/classes/PhusionPassenger/WSGI.html +89 -0
- data/doc/rdoc/classes/PhusionPassenger.html +238 -0
- data/doc/rdoc/classes/PlatformInfo.html +866 -0
- data/doc/rdoc/classes/RakeExtensions.html +197 -0
- data/doc/rdoc/classes/Signal.html +131 -0
- data/doc/rdoc/created.rid +1 -0
- data/doc/rdoc/files/DEVELOPERS_TXT.html +255 -0
- data/doc/rdoc/files/README.html +175 -0
- data/doc/rdoc/files/ext/phusion_passenger/native_support_c.html +92 -0
- data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +129 -0
- data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +129 -0
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +128 -0
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools/control_process_rb.html +130 -0
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/application_rb.html +127 -0
- data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +134 -0
- data/doc/rdoc/files/lib/phusion_passenger/events_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +120 -0
- data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +127 -0
- data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +133 -0
- data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +125 -0
- data/doc/rdoc/files/lib/phusion_passenger/railz/application_spawner_rb.html +140 -0
- data/doc/rdoc/files/lib/phusion_passenger/railz/cgi_fixed_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/railz/framework_spawner_rb.html +145 -0
- data/doc/rdoc/files/lib/phusion_passenger/railz/request_handler_rb.html +125 -0
- data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +122 -0
- data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +159 -0
- data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +174 -0
- data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +129 -0
- data/doc/rdoc/files/misc/rake/extensions_rb.html +130 -0
- data/doc/rdoc/fr_class_index.html +91 -0
- data/doc/rdoc/fr_file_index.html +76 -0
- data/doc/rdoc/fr_method_index.html +205 -0
- data/doc/rdoc/index.html +26 -0
- data/doc/rdoc/rdoc-style.css +187 -0
- data/doc/template/horo.rb +613 -0
- data/doc/users_guide_snippets/analysis_and_system_maintenance_tools.txt +144 -0
- data/doc/users_guide_snippets/appendix_a_about.txt +13 -0
- data/doc/users_guide_snippets/appendix_b_terminology.txt +63 -0
- data/doc/users_guide_snippets/appendix_c_spawning_methods.txt +304 -0
- data/doc/users_guide_snippets/global_queueing_explained.txt +78 -0
- data/doc/users_guide_snippets/rackup_specifications.txt +71 -0
- data/doc/users_guide_snippets/rails_spawn_method.txt +48 -0
- data/doc/users_guide_snippets/tips.txt +173 -0
- data/ext/apache2/Bucket.cpp +190 -0
- data/ext/apache2/Bucket.h +87 -0
- data/ext/apache2/Configuration.cpp +798 -0
- data/ext/apache2/Configuration.h +405 -0
- data/ext/apache2/DirectoryMapper.h +296 -0
- data/ext/apache2/Hooks.cpp +1615 -0
- data/ext/apache2/Hooks.h +45 -0
- data/ext/apache2/LICENSE-CNRI.TXT +79 -0
- data/ext/apache2/mod_passenger.c +38 -0
- data/ext/boost/LICENSE.TXT +23 -0
- data/ext/boost/VERSION.TXT +1 -0
- data/ext/boost/algorithm/string/case_conv.hpp +176 -0
- data/ext/boost/algorithm/string/compare.hpp +199 -0
- data/ext/boost/algorithm/string/concept.hpp +83 -0
- data/ext/boost/algorithm/string/config.hpp +28 -0
- data/ext/boost/algorithm/string/constants.hpp +36 -0
- data/ext/boost/algorithm/string/detail/case_conv.hpp +112 -0
- data/ext/boost/algorithm/string/detail/find_format.hpp +193 -0
- data/ext/boost/algorithm/string/detail/find_format_all.hpp +263 -0
- data/ext/boost/algorithm/string/detail/find_format_store.hpp +71 -0
- data/ext/boost/algorithm/string/detail/finder.hpp +646 -0
- data/ext/boost/algorithm/string/detail/formatter.hpp +94 -0
- data/ext/boost/algorithm/string/detail/replace_storage.hpp +159 -0
- data/ext/boost/algorithm/string/detail/sequence.hpp +200 -0
- data/ext/boost/algorithm/string/detail/util.hpp +106 -0
- data/ext/boost/algorithm/string/erase.hpp +844 -0
- data/ext/boost/algorithm/string/find_format.hpp +269 -0
- data/ext/boost/algorithm/string/finder.hpp +270 -0
- data/ext/boost/algorithm/string/formatter.hpp +103 -0
- data/ext/boost/algorithm/string/replace.hpp +928 -0
- data/ext/boost/algorithm/string/sequence_traits.hpp +193 -0
- data/ext/boost/algorithm/string/yes_no_type.hpp +33 -0
- data/ext/boost/assert.hpp +50 -0
- data/ext/boost/bind/arg.hpp +62 -0
- data/ext/boost/bind/bind_cc.hpp +117 -0
- data/ext/boost/bind/bind_mf_cc.hpp +227 -0
- data/ext/boost/bind/bind_template.hpp +345 -0
- data/ext/boost/bind/mem_fn_cc.hpp +103 -0
- data/ext/boost/bind/mem_fn_template.hpp +1020 -0
- data/ext/boost/bind/placeholders.hpp +68 -0
- data/ext/boost/bind/storage.hpp +475 -0
- data/ext/boost/bind.hpp +1689 -0
- data/ext/boost/call_traits.hpp +24 -0
- data/ext/boost/checked_delete.hpp +69 -0
- data/ext/boost/concept/assert.hpp +46 -0
- data/ext/boost/concept/detail/concept_def.hpp +51 -0
- data/ext/boost/concept/detail/concept_undef.hpp +5 -0
- data/ext/boost/concept/detail/general.hpp +66 -0
- data/ext/boost/concept/detail/has_constraints.hpp +48 -0
- data/ext/boost/concept/usage.hpp +43 -0
- data/ext/boost/concept_check.hpp +988 -0
- data/ext/boost/config/abi/borland_prefix.hpp +27 -0
- data/ext/boost/config/abi/borland_suffix.hpp +12 -0
- data/ext/boost/config/abi/msvc_prefix.hpp +8 -0
- data/ext/boost/config/abi/msvc_suffix.hpp +8 -0
- data/ext/boost/config/abi_prefix.hpp +25 -0
- data/ext/boost/config/abi_suffix.hpp +26 -0
- data/ext/boost/config/auto_link.hpp +368 -0
- data/ext/boost/config/compiler/borland.hpp +209 -0
- data/ext/boost/config/compiler/comeau.hpp +59 -0
- data/ext/boost/config/compiler/common_edg.hpp +62 -0
- data/ext/boost/config/compiler/compaq_cxx.hpp +19 -0
- data/ext/boost/config/compiler/digitalmars.hpp +67 -0
- data/ext/boost/config/compiler/gcc.hpp +149 -0
- data/ext/boost/config/compiler/gcc_xml.hpp +30 -0
- data/ext/boost/config/compiler/greenhills.hpp +28 -0
- data/ext/boost/config/compiler/hp_acc.hpp +95 -0
- data/ext/boost/config/compiler/intel.hpp +162 -0
- data/ext/boost/config/compiler/kai.hpp +35 -0
- data/ext/boost/config/compiler/metrowerks.hpp +111 -0
- data/ext/boost/config/compiler/mpw.hpp +51 -0
- data/ext/boost/config/compiler/pgi.hpp +25 -0
- data/ext/boost/config/compiler/sgi_mipspro.hpp +28 -0
- data/ext/boost/config/compiler/sunpro_cc.hpp +98 -0
- data/ext/boost/config/compiler/vacpp.hpp +60 -0
- data/ext/boost/config/compiler/visualc.hpp +191 -0
- data/ext/boost/config/no_tr1/complex.hpp +28 -0
- data/ext/boost/config/no_tr1/functional.hpp +28 -0
- data/ext/boost/config/no_tr1/memory.hpp +28 -0
- data/ext/boost/config/no_tr1/utility.hpp +28 -0
- data/ext/boost/config/platform/aix.hpp +33 -0
- data/ext/boost/config/platform/amigaos.hpp +15 -0
- data/ext/boost/config/platform/beos.hpp +26 -0
- data/ext/boost/config/platform/bsd.hpp +73 -0
- data/ext/boost/config/platform/cygwin.hpp +51 -0
- data/ext/boost/config/platform/hpux.hpp +84 -0
- data/ext/boost/config/platform/irix.hpp +31 -0
- data/ext/boost/config/platform/linux.hpp +98 -0
- data/ext/boost/config/platform/macos.hpp +78 -0
- data/ext/boost/config/platform/qnxnto.hpp +31 -0
- data/ext/boost/config/platform/solaris.hpp +21 -0
- data/ext/boost/config/platform/win32.hpp +58 -0
- data/ext/boost/config/posix_features.hpp +95 -0
- data/ext/boost/config/requires_threads.hpp +92 -0
- data/ext/boost/config/select_compiler_config.hpp +115 -0
- data/ext/boost/config/select_platform_config.hpp +90 -0
- data/ext/boost/config/select_stdlib_config.hpp +68 -0
- data/ext/boost/config/stdlib/dinkumware.hpp +106 -0
- data/ext/boost/config/stdlib/libcomo.hpp +46 -0
- data/ext/boost/config/stdlib/libstdcpp3.hpp +73 -0
- data/ext/boost/config/stdlib/modena.hpp +30 -0
- data/ext/boost/config/stdlib/msl.hpp +59 -0
- data/ext/boost/config/stdlib/roguewave.hpp +153 -0
- data/ext/boost/config/stdlib/sgi.hpp +111 -0
- data/ext/boost/config/stdlib/stlport.hpp +201 -0
- data/ext/boost/config/stdlib/vacpp.hpp +18 -0
- data/ext/boost/config/suffix.hpp +566 -0
- data/ext/boost/config/user.hpp +124 -0
- data/ext/boost/config.hpp +70 -0
- data/ext/boost/cstdint.hpp +449 -0
- data/ext/boost/current_function.hpp +67 -0
- data/ext/boost/date_time/adjust_functors.hpp +178 -0
- data/ext/boost/date_time/c_time.hpp +91 -0
- data/ext/boost/date_time/compiler_config.hpp +149 -0
- data/ext/boost/date_time/constrained_value.hpp +98 -0
- data/ext/boost/date_time/date.hpp +197 -0
- data/ext/boost/date_time/date_clock_device.hpp +77 -0
- data/ext/boost/date_time/date_defs.hpp +26 -0
- data/ext/boost/date_time/date_duration.hpp +147 -0
- data/ext/boost/date_time/date_duration_types.hpp +269 -0
- data/ext/boost/date_time/date_facet.hpp +775 -0
- data/ext/boost/date_time/date_format_simple.hpp +159 -0
- data/ext/boost/date_time/date_formatting.hpp +127 -0
- data/ext/boost/date_time/date_formatting_limited.hpp +121 -0
- data/ext/boost/date_time/date_formatting_locales.hpp +233 -0
- data/ext/boost/date_time/date_generator_formatter.hpp +263 -0
- data/ext/boost/date_time/date_generator_parser.hpp +329 -0
- data/ext/boost/date_time/date_generators.hpp +509 -0
- data/ext/boost/date_time/date_iterator.hpp +101 -0
- data/ext/boost/date_time/date_names_put.hpp +320 -0
- data/ext/boost/date_time/date_parsing.hpp +299 -0
- data/ext/boost/date_time/dst_rules.hpp +391 -0
- data/ext/boost/date_time/filetime_functions.hpp +78 -0
- data/ext/boost/date_time/format_date_parser.hpp +731 -0
- data/ext/boost/date_time/gregorian/conversion.hpp +73 -0
- data/ext/boost/date_time/gregorian/formatters.hpp +162 -0
- data/ext/boost/date_time/gregorian/formatters_limited.hpp +81 -0
- data/ext/boost/date_time/gregorian/greg_calendar.hpp +47 -0
- data/ext/boost/date_time/gregorian/greg_date.hpp +135 -0
- data/ext/boost/date_time/gregorian/greg_day.hpp +57 -0
- data/ext/boost/date_time/gregorian/greg_day_of_year.hpp +38 -0
- data/ext/boost/date_time/gregorian/greg_duration.hpp +38 -0
- data/ext/boost/date_time/gregorian/greg_duration_types.hpp +34 -0
- data/ext/boost/date_time/gregorian/greg_month.hpp +105 -0
- data/ext/boost/date_time/gregorian/greg_weekday.hpp +66 -0
- data/ext/boost/date_time/gregorian/greg_year.hpp +53 -0
- data/ext/boost/date_time/gregorian/greg_ymd.hpp +33 -0
- data/ext/boost/date_time/gregorian/gregorian.hpp +38 -0
- data/ext/boost/date_time/gregorian/gregorian_io.hpp +777 -0
- data/ext/boost/date_time/gregorian/gregorian_types.hpp +109 -0
- data/ext/boost/date_time/gregorian/parsers.hpp +91 -0
- data/ext/boost/date_time/gregorian_calendar.hpp +70 -0
- data/ext/boost/date_time/gregorian_calendar.ipp +219 -0
- data/ext/boost/date_time/int_adapter.hpp +507 -0
- data/ext/boost/date_time/iso_format.hpp +303 -0
- data/ext/boost/date_time/locale_config.hpp +31 -0
- data/ext/boost/date_time/microsec_time_clock.hpp +205 -0
- data/ext/boost/date_time/parse_format_base.hpp +29 -0
- data/ext/boost/date_time/period.hpp +377 -0
- data/ext/boost/date_time/period_formatter.hpp +196 -0
- data/ext/boost/date_time/period_parser.hpp +196 -0
- data/ext/boost/date_time/posix_time/conversion.hpp +93 -0
- data/ext/boost/date_time/posix_time/date_duration_operators.hpp +114 -0
- data/ext/boost/date_time/posix_time/posix_time.hpp +39 -0
- data/ext/boost/date_time/posix_time/posix_time_config.hpp +178 -0
- data/ext/boost/date_time/posix_time/posix_time_duration.hpp +82 -0
- data/ext/boost/date_time/posix_time/posix_time_io.hpp +246 -0
- data/ext/boost/date_time/posix_time/posix_time_system.hpp +68 -0
- data/ext/boost/date_time/posix_time/posix_time_types.hpp +55 -0
- data/ext/boost/date_time/posix_time/ptime.hpp +65 -0
- data/ext/boost/date_time/posix_time/time_formatters.hpp +289 -0
- data/ext/boost/date_time/posix_time/time_parsers.hpp +44 -0
- data/ext/boost/date_time/posix_time/time_period.hpp +29 -0
- data/ext/boost/date_time/special_defs.hpp +25 -0
- data/ext/boost/date_time/special_values_formatter.hpp +96 -0
- data/ext/boost/date_time/special_values_parser.hpp +159 -0
- data/ext/boost/date_time/string_convert.hpp +33 -0
- data/ext/boost/date_time/string_parse_tree.hpp +278 -0
- data/ext/boost/date_time/strings_from_facet.hpp +123 -0
- data/ext/boost/date_time/time.hpp +190 -0
- data/ext/boost/date_time/time_clock.hpp +83 -0
- data/ext/boost/date_time/time_defs.hpp +33 -0
- data/ext/boost/date_time/time_duration.hpp +281 -0
- data/ext/boost/date_time/time_facet.hpp +1263 -0
- data/ext/boost/date_time/time_formatting_streams.hpp +119 -0
- data/ext/boost/date_time/time_iterator.hpp +52 -0
- data/ext/boost/date_time/time_parsing.hpp +321 -0
- data/ext/boost/date_time/time_resolution_traits.hpp +140 -0
- data/ext/boost/date_time/time_system_counted.hpp +254 -0
- data/ext/boost/date_time/time_system_split.hpp +213 -0
- data/ext/boost/date_time/wrapping_int.hpp +163 -0
- data/ext/boost/date_time/year_month_day.hpp +45 -0
- data/ext/boost/detail/atomic_count.hpp +124 -0
- data/ext/boost/detail/atomic_count_gcc.hpp +68 -0
- data/ext/boost/detail/atomic_count_gcc_x86.hpp +84 -0
- data/ext/boost/detail/atomic_count_pthreads.hpp +96 -0
- data/ext/boost/detail/atomic_count_solaris.hpp +59 -0
- data/ext/boost/detail/atomic_count_sync.hpp +57 -0
- data/ext/boost/detail/atomic_count_win32.hpp +63 -0
- data/ext/boost/detail/bad_weak_ptr.hpp +59 -0
- data/ext/boost/detail/call_traits.hpp +164 -0
- data/ext/boost/detail/endian.hpp +73 -0
- data/ext/boost/detail/indirect_traits.hpp +487 -0
- data/ext/boost/detail/iterator.hpp +494 -0
- data/ext/boost/detail/lcast_precision.hpp +184 -0
- data/ext/boost/detail/limits.hpp +449 -0
- data/ext/boost/detail/reference_content.hpp +141 -0
- data/ext/boost/detail/shared_count.hpp +375 -0
- data/ext/boost/detail/sp_counted_base.hpp +81 -0
- data/ext/boost/detail/sp_counted_base_acc_ia64.hpp +150 -0
- data/ext/boost/detail/sp_counted_base_cw_ppc.hpp +170 -0
- data/ext/boost/detail/sp_counted_base_cw_x86.hpp +158 -0
- data/ext/boost/detail/sp_counted_base_gcc_ia64.hpp +157 -0
- data/ext/boost/detail/sp_counted_base_gcc_ppc.hpp +181 -0
- data/ext/boost/detail/sp_counted_base_gcc_sparc.hpp +166 -0
- data/ext/boost/detail/sp_counted_base_gcc_x86.hpp +173 -0
- data/ext/boost/detail/sp_counted_base_nt.hpp +107 -0
- data/ext/boost/detail/sp_counted_base_pt.hpp +135 -0
- data/ext/boost/detail/sp_counted_base_solaris.hpp +113 -0
- data/ext/boost/detail/sp_counted_base_sync.hpp +151 -0
- data/ext/boost/detail/sp_counted_base_w32.hpp +130 -0
- data/ext/boost/detail/sp_counted_impl.hpp +231 -0
- data/ext/boost/detail/sp_typeinfo.hpp +83 -0
- data/ext/boost/detail/workaround.hpp +202 -0
- data/ext/boost/enable_shared_from_this.hpp +73 -0
- data/ext/boost/function/detail/function_iterate.hpp +16 -0
- data/ext/boost/function/detail/maybe_include.hpp +267 -0
- data/ext/boost/function/detail/prologue.hpp +25 -0
- data/ext/boost/function/function_base.hpp +762 -0
- data/ext/boost/function/function_template.hpp +969 -0
- data/ext/boost/function.hpp +66 -0
- data/ext/boost/function_equal.hpp +28 -0
- data/ext/boost/get_pointer.hpp +29 -0
- data/ext/boost/implicit_cast.hpp +29 -0
- data/ext/boost/integer_traits.hpp +236 -0
- data/ext/boost/io/ios_state.hpp +431 -0
- data/ext/boost/io_fwd.hpp +67 -0
- data/ext/boost/is_placeholder.hpp +31 -0
- data/ext/boost/iterator/detail/config_def.hpp +135 -0
- data/ext/boost/iterator/detail/config_undef.hpp +25 -0
- data/ext/boost/iterator/detail/enable_if.hpp +86 -0
- data/ext/boost/iterator/detail/facade_iterator_category.hpp +200 -0
- data/ext/boost/iterator/detail/minimum_category.hpp +116 -0
- data/ext/boost/iterator/interoperable.hpp +50 -0
- data/ext/boost/iterator/iterator_adaptor.hpp +366 -0
- data/ext/boost/iterator/iterator_categories.hpp +188 -0
- data/ext/boost/iterator/iterator_facade.hpp +879 -0
- data/ext/boost/iterator/iterator_traits.hpp +92 -0
- data/ext/boost/iterator/reverse_iterator.hpp +69 -0
- data/ext/boost/iterator/transform_iterator.hpp +188 -0
- data/ext/boost/iterator.hpp +59 -0
- data/ext/boost/lexical_cast.hpp +1205 -0
- data/ext/boost/limits.hpp +146 -0
- data/ext/boost/mem_fn.hpp +389 -0
- data/ext/boost/mpl/always.hpp +39 -0
- data/ext/boost/mpl/and.hpp +60 -0
- data/ext/boost/mpl/apply.hpp +229 -0
- data/ext/boost/mpl/apply_fwd.hpp +107 -0
- data/ext/boost/mpl/apply_wrap.hpp +203 -0
- data/ext/boost/mpl/arg.hpp +131 -0
- data/ext/boost/mpl/arg_fwd.hpp +28 -0
- data/ext/boost/mpl/assert.hpp +370 -0
- data/ext/boost/mpl/aux_/adl_barrier.hpp +48 -0
- data/ext/boost/mpl/aux_/arg_typedef.hpp +31 -0
- data/ext/boost/mpl/aux_/arity.hpp +39 -0
- data/ext/boost/mpl/aux_/arity_spec.hpp +67 -0
- data/ext/boost/mpl/aux_/common_name_wknd.hpp +34 -0
- data/ext/boost/mpl/aux_/config/adl.hpp +40 -0
- data/ext/boost/mpl/aux_/config/arrays.hpp +30 -0
- data/ext/boost/mpl/aux_/config/bind.hpp +33 -0
- data/ext/boost/mpl/aux_/config/compiler.hpp +64 -0
- data/ext/boost/mpl/aux_/config/ctps.hpp +30 -0
- data/ext/boost/mpl/aux_/config/dtp.hpp +46 -0
- data/ext/boost/mpl/aux_/config/eti.hpp +47 -0
- data/ext/boost/mpl/aux_/config/gcc.hpp +23 -0
- data/ext/boost/mpl/aux_/config/has_apply.hpp +32 -0
- data/ext/boost/mpl/aux_/config/has_xxx.hpp +33 -0
- data/ext/boost/mpl/aux_/config/integral.hpp +38 -0
- data/ext/boost/mpl/aux_/config/intel.hpp +21 -0
- data/ext/boost/mpl/aux_/config/lambda.hpp +32 -0
- data/ext/boost/mpl/aux_/config/msvc.hpp +21 -0
- data/ext/boost/mpl/aux_/config/msvc_typename.hpp +26 -0
- data/ext/boost/mpl/aux_/config/nttp.hpp +41 -0
- data/ext/boost/mpl/aux_/config/overload_resolution.hpp +29 -0
- data/ext/boost/mpl/aux_/config/pp_counter.hpp +26 -0
- data/ext/boost/mpl/aux_/config/preprocessor.hpp +39 -0
- data/ext/boost/mpl/aux_/config/static_constant.hpp +25 -0
- data/ext/boost/mpl/aux_/config/ttp.hpp +41 -0
- data/ext/boost/mpl/aux_/config/use_preprocessed.hpp +19 -0
- data/ext/boost/mpl/aux_/config/workaround.hpp +19 -0
- data/ext/boost/mpl/aux_/full_lambda.hpp +354 -0
- data/ext/boost/mpl/aux_/has_apply.hpp +32 -0
- data/ext/boost/mpl/aux_/has_type.hpp +23 -0
- data/ext/boost/mpl/aux_/include_preprocessed.hpp +42 -0
- data/ext/boost/mpl/aux_/integral_wrapper.hpp +93 -0
- data/ext/boost/mpl/aux_/lambda_arity_param.hpp +25 -0
- data/ext/boost/mpl/aux_/lambda_support.hpp +169 -0
- data/ext/boost/mpl/aux_/msvc_never_true.hpp +34 -0
- data/ext/boost/mpl/aux_/na.hpp +95 -0
- data/ext/boost/mpl/aux_/na_assert.hpp +34 -0
- data/ext/boost/mpl/aux_/na_fwd.hpp +31 -0
- data/ext/boost/mpl/aux_/na_spec.hpp +175 -0
- data/ext/boost/mpl/aux_/nested_type_wknd.hpp +48 -0
- data/ext/boost/mpl/aux_/nttp_decl.hpp +35 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/and.hpp +69 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/apply.hpp +169 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp +52 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp +84 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/arg.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/bind.hpp +561 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp +52 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp +558 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/or.hpp +69 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp +105 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/quote.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +101 -0
- data/ext/boost/mpl/aux_/preprocessor/def_params_tail.hpp +105 -0
- data/ext/boost/mpl/aux_/preprocessor/enum.hpp +62 -0
- data/ext/boost/mpl/aux_/preprocessor/filter_params.hpp +28 -0
- data/ext/boost/mpl/aux_/preprocessor/params.hpp +65 -0
- data/ext/boost/mpl/aux_/preprocessor/sub.hpp +65 -0
- data/ext/boost/mpl/aux_/static_cast.hpp +27 -0
- data/ext/boost/mpl/aux_/template_arity.hpp +189 -0
- data/ext/boost/mpl/aux_/template_arity_fwd.hpp +23 -0
- data/ext/boost/mpl/aux_/type_wrapper.hpp +47 -0
- data/ext/boost/mpl/aux_/value_wknd.hpp +89 -0
- data/ext/boost/mpl/aux_/yes_no.hpp +58 -0
- data/ext/boost/mpl/bind.hpp +551 -0
- data/ext/boost/mpl/bind_fwd.hpp +99 -0
- data/ext/boost/mpl/bool.hpp +39 -0
- data/ext/boost/mpl/bool_fwd.hpp +33 -0
- data/ext/boost/mpl/eval_if.hpp +71 -0
- data/ext/boost/mpl/has_xxx.hpp +272 -0
- data/ext/boost/mpl/identity.hpp +45 -0
- data/ext/boost/mpl/if.hpp +135 -0
- data/ext/boost/mpl/int.hpp +22 -0
- data/ext/boost/mpl/int_fwd.hpp +27 -0
- data/ext/boost/mpl/integral_c.hpp +51 -0
- data/ext/boost/mpl/integral_c_fwd.hpp +32 -0
- data/ext/boost/mpl/integral_c_tag.hpp +26 -0
- data/ext/boost/mpl/lambda.hpp +29 -0
- data/ext/boost/mpl/lambda_fwd.hpp +57 -0
- data/ext/boost/mpl/limits/arity.hpp +21 -0
- data/ext/boost/mpl/logical.hpp +21 -0
- data/ext/boost/mpl/next.hpp +19 -0
- data/ext/boost/mpl/next_prior.hpp +49 -0
- data/ext/boost/mpl/not.hpp +51 -0
- data/ext/boost/mpl/or.hpp +61 -0
- data/ext/boost/mpl/placeholders.hpp +100 -0
- data/ext/boost/mpl/protect.hpp +55 -0
- data/ext/boost/mpl/quote.hpp +140 -0
- data/ext/boost/mpl/size_t.hpp +25 -0
- data/ext/boost/mpl/size_t_fwd.hpp +28 -0
- data/ext/boost/mpl/void.hpp +76 -0
- data/ext/boost/mpl/void_fwd.hpp +26 -0
- data/ext/boost/next_prior.hpp +51 -0
- data/ext/boost/non_type.hpp +27 -0
- data/ext/boost/noncopyable.hpp +36 -0
- data/ext/boost/none.hpp +28 -0
- data/ext/boost/none_t.hpp +24 -0
- data/ext/boost/operators.hpp +943 -0
- data/ext/boost/optional/optional.hpp +922 -0
- data/ext/boost/optional/optional_fwd.hpp +22 -0
- data/ext/boost/optional.hpp +18 -0
- data/ext/boost/preprocessor/arithmetic/add.hpp +51 -0
- data/ext/boost/preprocessor/arithmetic/dec.hpp +288 -0
- data/ext/boost/preprocessor/arithmetic/inc.hpp +288 -0
- data/ext/boost/preprocessor/arithmetic/sub.hpp +50 -0
- data/ext/boost/preprocessor/array/data.hpp +28 -0
- data/ext/boost/preprocessor/array/elem.hpp +29 -0
- data/ext/boost/preprocessor/array/size.hpp +28 -0
- data/ext/boost/preprocessor/cat.hpp +35 -0
- data/ext/boost/preprocessor/comma_if.hpp +17 -0
- data/ext/boost/preprocessor/config/config.hpp +70 -0
- data/ext/boost/preprocessor/control/detail/while.hpp +536 -0
- data/ext/boost/preprocessor/control/expr_iif.hpp +31 -0
- data/ext/boost/preprocessor/control/if.hpp +30 -0
- data/ext/boost/preprocessor/control/iif.hpp +34 -0
- data/ext/boost/preprocessor/control/while.hpp +312 -0
- data/ext/boost/preprocessor/debug/error.hpp +33 -0
- data/ext/boost/preprocessor/detail/auto_rec.hpp +293 -0
- data/ext/boost/preprocessor/detail/check.hpp +48 -0
- data/ext/boost/preprocessor/detail/is_binary.hpp +30 -0
- data/ext/boost/preprocessor/empty.hpp +17 -0
- data/ext/boost/preprocessor/enum.hpp +17 -0
- data/ext/boost/preprocessor/enum_params.hpp +17 -0
- data/ext/boost/preprocessor/facilities/empty.hpp +21 -0
- data/ext/boost/preprocessor/facilities/identity.hpp +23 -0
- data/ext/boost/preprocessor/identity.hpp +17 -0
- data/ext/boost/preprocessor/inc.hpp +17 -0
- data/ext/boost/preprocessor/iterate.hpp +17 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/lower1.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/upper1.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/iter/forward1.hpp +1342 -0
- data/ext/boost/preprocessor/iteration/iterate.hpp +82 -0
- data/ext/boost/preprocessor/list/adt.hpp +73 -0
- data/ext/boost/preprocessor/list/append.hpp +40 -0
- data/ext/boost/preprocessor/list/detail/fold_left.hpp +279 -0
- data/ext/boost/preprocessor/list/detail/fold_right.hpp +277 -0
- data/ext/boost/preprocessor/list/fold_left.hpp +303 -0
- data/ext/boost/preprocessor/list/fold_right.hpp +40 -0
- data/ext/boost/preprocessor/list/for_each_i.hpp +65 -0
- data/ext/boost/preprocessor/list/reverse.hpp +40 -0
- data/ext/boost/preprocessor/list/transform.hpp +49 -0
- data/ext/boost/preprocessor/logical/and.hpp +30 -0
- data/ext/boost/preprocessor/logical/bitand.hpp +38 -0
- data/ext/boost/preprocessor/logical/bool.hpp +288 -0
- data/ext/boost/preprocessor/logical/compl.hpp +36 -0
- data/ext/boost/preprocessor/punctuation/comma.hpp +21 -0
- data/ext/boost/preprocessor/punctuation/comma_if.hpp +31 -0
- data/ext/boost/preprocessor/repeat.hpp +17 -0
- data/ext/boost/preprocessor/repetition/detail/for.hpp +536 -0
- data/ext/boost/preprocessor/repetition/enum.hpp +66 -0
- data/ext/boost/preprocessor/repetition/enum_binary_params.hpp +54 -0
- data/ext/boost/preprocessor/repetition/enum_params.hpp +41 -0
- data/ext/boost/preprocessor/repetition/for.hpp +306 -0
- data/ext/boost/preprocessor/repetition/repeat.hpp +825 -0
- data/ext/boost/preprocessor/repetition/repeat_from_to.hpp +87 -0
- data/ext/boost/preprocessor/seq/elem.hpp +304 -0
- data/ext/boost/preprocessor/seq/enum.hpp +288 -0
- data/ext/boost/preprocessor/seq/for_each_i.hpp +61 -0
- data/ext/boost/preprocessor/seq/seq.hpp +44 -0
- data/ext/boost/preprocessor/seq/size.hpp +548 -0
- data/ext/boost/preprocessor/slot/detail/def.hpp +49 -0
- data/ext/boost/preprocessor/slot/detail/shared.hpp +247 -0
- data/ext/boost/preprocessor/slot/slot.hpp +32 -0
- data/ext/boost/preprocessor/stringize.hpp +33 -0
- data/ext/boost/preprocessor/tuple/eat.hpp +57 -0
- data/ext/boost/preprocessor/tuple/elem.hpp +385 -0
- data/ext/boost/preprocessor/tuple/rem.hpp +72 -0
- data/ext/boost/preprocessor/tuple/to_list.hpp +62 -0
- data/ext/boost/range/as_literal.hpp +131 -0
- data/ext/boost/range/begin.hpp +132 -0
- data/ext/boost/range/config.hpp +54 -0
- data/ext/boost/range/const_iterator.hpp +64 -0
- data/ext/boost/range/detail/common.hpp +117 -0
- data/ext/boost/range/detail/implementation_help.hpp +99 -0
- data/ext/boost/range/detail/sfinae.hpp +77 -0
- data/ext/boost/range/detail/str_types.hpp +38 -0
- data/ext/boost/range/difference_type.hpp +29 -0
- data/ext/boost/range/distance.hpp +34 -0
- data/ext/boost/range/empty.hpp +34 -0
- data/ext/boost/range/end.hpp +131 -0
- data/ext/boost/range/functions.hpp +27 -0
- data/ext/boost/range/iterator.hpp +72 -0
- data/ext/boost/range/iterator_range.hpp +643 -0
- data/ext/boost/range/mutable_iterator.hpp +64 -0
- data/ext/boost/range/rbegin.hpp +65 -0
- data/ext/boost/range/rend.hpp +65 -0
- data/ext/boost/range/reverse_iterator.hpp +40 -0
- data/ext/boost/range/size.hpp +36 -0
- data/ext/boost/range/size_type.hpp +78 -0
- data/ext/boost/range/value_type.hpp +34 -0
- data/ext/boost/ref.hpp +178 -0
- data/ext/boost/shared_ptr.hpp +619 -0
- data/ext/boost/src/pthread/exceptions.cpp +146 -0
- data/ext/boost/src/pthread/once.cpp +51 -0
- data/ext/boost/src/pthread/thread.cpp +709 -0
- data/ext/boost/src/pthread/timeconv.inl +130 -0
- data/ext/boost/src/tss_null.cpp +34 -0
- data/ext/boost/src/win32/exceptions.cpp +124 -0
- data/ext/boost/src/win32/thread.cpp +629 -0
- data/ext/boost/src/win32/timeconv.inl +130 -0
- data/ext/boost/src/win32/tss_dll.cpp +72 -0
- data/ext/boost/src/win32/tss_pe.cpp +269 -0
- data/ext/boost/static_assert.hpp +122 -0
- data/ext/boost/thread/condition.hpp +16 -0
- data/ext/boost/thread/condition_variable.hpp +21 -0
- data/ext/boost/thread/detail/config.hpp +94 -0
- data/ext/boost/thread/detail/move.hpp +33 -0
- data/ext/boost/thread/detail/platform.hpp +71 -0
- data/ext/boost/thread/exceptions.hpp +109 -0
- data/ext/boost/thread/locks.hpp +589 -0
- data/ext/boost/thread/mutex.hpp +21 -0
- data/ext/boost/thread/once.hpp +29 -0
- data/ext/boost/thread/pthread/condition_variable.hpp +184 -0
- data/ext/boost/thread/pthread/condition_variable_fwd.hpp +66 -0
- data/ext/boost/thread/pthread/mutex.hpp +211 -0
- data/ext/boost/thread/pthread/once.hpp +85 -0
- data/ext/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +50 -0
- data/ext/boost/thread/pthread/recursive_mutex.hpp +249 -0
- data/ext/boost/thread/pthread/thread.hpp +339 -0
- data/ext/boost/thread/pthread/thread_data.hpp +102 -0
- data/ext/boost/thread/pthread/timespec.hpp +28 -0
- data/ext/boost/thread/pthread/tss.hpp +103 -0
- data/ext/boost/thread/recursive_mutex.hpp +21 -0
- data/ext/boost/thread/thread.hpp +22 -0
- data/ext/boost/thread/thread_time.hpp +46 -0
- data/ext/boost/thread/tss.hpp +18 -0
- data/ext/boost/thread/xtime.hpp +88 -0
- data/ext/boost/thread.hpp +21 -0
- data/ext/boost/throw_exception.hpp +46 -0
- data/ext/boost/token_functions.hpp +621 -0
- data/ext/boost/token_iterator.hpp +128 -0
- data/ext/boost/tokenizer.hpp +98 -0
- data/ext/boost/type.hpp +18 -0
- data/ext/boost/type_traits/add_const.hpp +47 -0
- data/ext/boost/type_traits/add_pointer.hpp +72 -0
- data/ext/boost/type_traits/add_reference.hpp +89 -0
- data/ext/boost/type_traits/alignment_of.hpp +100 -0
- data/ext/boost/type_traits/broken_compiler_spec.hpp +117 -0
- data/ext/boost/type_traits/composite_traits.hpp +29 -0
- data/ext/boost/type_traits/config.hpp +76 -0
- data/ext/boost/type_traits/conversion_traits.hpp +17 -0
- data/ext/boost/type_traits/detail/bool_trait_def.hpp +173 -0
- data/ext/boost/type_traits/detail/bool_trait_undef.hpp +27 -0
- data/ext/boost/type_traits/detail/cv_traits_impl.hpp +97 -0
- data/ext/boost/type_traits/detail/false_result.hpp +28 -0
- data/ext/boost/type_traits/detail/ice_and.hpp +35 -0
- data/ext/boost/type_traits/detail/ice_eq.hpp +36 -0
- data/ext/boost/type_traits/detail/ice_not.hpp +31 -0
- data/ext/boost/type_traits/detail/ice_or.hpp +34 -0
- data/ext/boost/type_traits/detail/is_function_ptr_helper.hpp +220 -0
- data/ext/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +817 -0
- data/ext/boost/type_traits/detail/size_t_trait_def.hpp +58 -0
- data/ext/boost/type_traits/detail/size_t_trait_undef.hpp +16 -0
- data/ext/boost/type_traits/detail/template_arity_spec.hpp +31 -0
- data/ext/boost/type_traits/detail/type_trait_def.hpp +61 -0
- data/ext/boost/type_traits/detail/type_trait_undef.hpp +19 -0
- data/ext/boost/type_traits/detail/yes_no_type.hpp +26 -0
- data/ext/boost/type_traits/function_traits.hpp +236 -0
- data/ext/boost/type_traits/has_nothrow_copy.hpp +39 -0
- data/ext/boost/type_traits/has_trivial_copy.hpp +49 -0
- data/ext/boost/type_traits/ice.hpp +20 -0
- data/ext/boost/type_traits/integral_constant.hpp +53 -0
- data/ext/boost/type_traits/intrinsics.hpp +153 -0
- data/ext/boost/type_traits/is_abstract.hpp +144 -0
- data/ext/boost/type_traits/is_arithmetic.hpp +43 -0
- data/ext/boost/type_traits/is_array.hpp +90 -0
- data/ext/boost/type_traits/is_class.hpp +128 -0
- data/ext/boost/type_traits/is_const.hpp +142 -0
- data/ext/boost/type_traits/is_convertible.hpp +418 -0
- data/ext/boost/type_traits/is_enum.hpp +180 -0
- data/ext/boost/type_traits/is_float.hpp +27 -0
- data/ext/boost/type_traits/is_function.hpp +95 -0
- data/ext/boost/type_traits/is_integral.hpp +73 -0
- data/ext/boost/type_traits/is_member_function_pointer.hpp +134 -0
- data/ext/boost/type_traits/is_member_pointer.hpp +114 -0
- data/ext/boost/type_traits/is_pod.hpp +135 -0
- data/ext/boost/type_traits/is_pointer.hpp +160 -0
- data/ext/boost/type_traits/is_reference.hpp +116 -0
- data/ext/boost/type_traits/is_same.hpp +103 -0
- data/ext/boost/type_traits/is_scalar.hpp +55 -0
- data/ext/boost/type_traits/is_union.hpp +49 -0
- data/ext/boost/type_traits/is_void.hpp +33 -0
- data/ext/boost/type_traits/is_volatile.hpp +131 -0
- data/ext/boost/type_traits/remove_const.hpp +78 -0
- data/ext/boost/type_traits/remove_cv.hpp +61 -0
- data/ext/boost/type_traits/remove_pointer.hpp +43 -0
- data/ext/boost/type_traits/remove_reference.hpp +50 -0
- data/ext/boost/type_traits/type_with_alignment.hpp +288 -0
- data/ext/boost/utility/addressof.hpp +58 -0
- data/ext/boost/utility/base_from_member.hpp +87 -0
- data/ext/boost/utility/compare_pointees.hpp +68 -0
- data/ext/boost/utility/enable_if.hpp +119 -0
- data/ext/boost/utility.hpp +19 -0
- data/ext/boost/visit_each.hpp +29 -0
- data/ext/boost/weak_ptr.hpp +188 -0
- data/ext/common/Application.h +511 -0
- data/ext/common/ApplicationPool.h +205 -0
- data/ext/common/ApplicationPoolServer.h +794 -0
- data/ext/common/ApplicationPoolServerExecutable.cpp +743 -0
- data/ext/common/ApplicationPoolStatusReporter.h +336 -0
- data/ext/common/Base64.cpp +143 -0
- data/ext/common/Base64.h +57 -0
- data/ext/common/CachedFileStat.cpp +62 -0
- data/ext/common/CachedFileStat.h +51 -0
- data/ext/common/CachedFileStat.hpp +243 -0
- data/ext/common/DummySpawnManager.h +108 -0
- data/ext/common/Exceptions.h +258 -0
- data/ext/common/FileChangeChecker.h +209 -0
- data/ext/common/Logging.cpp +65 -0
- data/ext/common/Logging.h +123 -0
- data/ext/common/MessageChannel.h +615 -0
- data/ext/common/PoolOptions.h +355 -0
- data/ext/common/SpawnManager.h +561 -0
- data/ext/common/StandardApplicationPool.h +819 -0
- data/ext/common/StaticString.h +148 -0
- data/ext/common/StringListCreator.h +83 -0
- data/ext/common/SystemTime.cpp +33 -0
- data/ext/common/SystemTime.h +88 -0
- data/ext/common/Timer.h +90 -0
- data/ext/common/Utils.cpp +681 -0
- data/ext/common/Utils.h +497 -0
- data/ext/common/Version.h +31 -0
- data/ext/nginx/Configuration.c +1098 -0
- data/ext/nginx/Configuration.h +71 -0
- data/ext/nginx/ContentHandler.c +1225 -0
- data/ext/nginx/ContentHandler.h +64 -0
- data/ext/nginx/HelperServer.cpp +850 -0
- data/ext/nginx/HttpStatusExtractor.h +350 -0
- data/ext/nginx/ScgiRequestParser.h +317 -0
- data/ext/nginx/StaticContentHandler.c +257 -0
- data/ext/nginx/StaticContentHandler.h +37 -0
- data/ext/nginx/config +45 -0
- data/ext/nginx/ngx_http_passenger_module.c +653 -0
- data/ext/nginx/ngx_http_passenger_module.h +72 -0
- data/ext/oxt/backtrace.cpp +177 -0
- data/ext/oxt/backtrace.hpp +135 -0
- data/ext/oxt/detail/backtrace_disabled.hpp +39 -0
- data/ext/oxt/detail/backtrace_enabled.hpp +155 -0
- data/ext/oxt/detail/spin_lock_gcc_x86.hpp +82 -0
- data/ext/oxt/detail/spin_lock_portable.hpp +38 -0
- data/ext/oxt/detail/spin_lock_pthreads.hpp +97 -0
- data/ext/oxt/detail/tracable_exception_disabled.hpp +46 -0
- data/ext/oxt/detail/tracable_exception_enabled.hpp +48 -0
- data/ext/oxt/macros.hpp +58 -0
- data/ext/oxt/spin_lock.hpp +55 -0
- data/ext/oxt/system_calls.cpp +340 -0
- data/ext/oxt/system_calls.hpp +243 -0
- data/ext/oxt/thread.cpp +32 -0
- data/ext/oxt/thread.hpp +239 -0
- data/ext/oxt/tracable_exception.cpp +87 -0
- data/ext/oxt/tracable_exception.hpp +35 -0
- data/ext/phusion_passenger/extconf.rb +36 -0
- data/ext/phusion_passenger/native_support.c +308 -0
- data/generators/colouringcode-passenger/USAGE +1 -0
- data/generators/colouringcode-passenger/passenger_template_generator.rb +16 -0
- data/generators/colouringcode-passenger/templates/app_exited_during_initialization.html.erb +0 -0
- data/generators/colouringcode-passenger/templates/app_init_error.html.erb +0 -0
- data/generators/colouringcode-passenger/templates/database_error.html.erb +0 -0
- data/generators/colouringcode-passenger/templates/error_layout.html.erb +0 -0
- data/generators/colouringcode-passenger/templates/framework_init_error.html.erb +0 -0
- data/generators/colouringcode-passenger/templates/general_error.html.erb +0 -0
- data/generators/colouringcode-passenger/templates/invalid_app_root.html.erb +0 -0
- data/generators/colouringcode-passenger/templates/load_error.html.erb +0 -0
- data/generators/colouringcode-passenger/templates/version_not_found.html.erb +0 -0
- data/lib/phusion_passenger/abstract_installer.rb +196 -0
- data/lib/phusion_passenger/abstract_request_handler.rb +475 -0
- data/lib/phusion_passenger/abstract_server.rb +369 -0
- data/lib/phusion_passenger/abstract_server_collection.rb +306 -0
- data/lib/phusion_passenger/admin_tools/control_process.rb +150 -0
- data/lib/phusion_passenger/admin_tools.rb +48 -0
- data/lib/phusion_passenger/application.rb +113 -0
- data/lib/phusion_passenger/console_text_template.rb +66 -0
- data/lib/phusion_passenger/constants.rb +31 -0
- data/lib/phusion_passenger/dependencies.rb +393 -0
- data/lib/phusion_passenger/events.rb +50 -0
- data/lib/phusion_passenger/exceptions.rb +103 -0
- data/lib/phusion_passenger/html_template.rb +119 -0
- data/lib/phusion_passenger/message_channel.rb +229 -0
- data/lib/phusion_passenger/packaging.rb +39 -0
- data/lib/phusion_passenger/platform_info.rb +550 -0
- data/lib/phusion_passenger/rack/application_spawner.rb +146 -0
- data/lib/phusion_passenger/rack/request_handler.rb +125 -0
- data/lib/phusion_passenger/railz/application_spawner.rb +386 -0
- data/lib/phusion_passenger/railz/cgi_fixed.rb +68 -0
- data/lib/phusion_passenger/railz/framework_spawner.rb +334 -0
- data/lib/phusion_passenger/railz/request_handler.rb +73 -0
- data/lib/phusion_passenger/simple_benchmarking.rb +52 -0
- data/lib/phusion_passenger/spawn_manager.rb +372 -0
- data/lib/phusion_passenger/templates/apache2/apache_must_be_compiled_with_compatible_mpm.txt.erb +9 -0
- data/lib/phusion_passenger/templates/apache2/config_snippets.txt.erb +13 -0
- data/lib/phusion_passenger/templates/apache2/deployment_example.txt.erb +23 -0
- data/lib/phusion_passenger/templates/apache2/no_write_permission_to_passenger_root.txt.erb +9 -0
- data/lib/phusion_passenger/templates/apache2/possible_solutions_for_compilation_and_installation_problems.txt.erb +11 -0
- data/lib/phusion_passenger/templates/apache2/run_installer_as_root.txt.erb +8 -0
- data/lib/phusion_passenger/templates/apache2/welcome.txt.erb +15 -0
- data/lib/phusion_passenger/templates/app_exited_during_initialization.html.erb +38 -0
- data/lib/phusion_passenger/templates/app_init_error.html.erb +64 -0
- data/lib/phusion_passenger/templates/database_error.html.erb +66 -0
- data/lib/phusion_passenger/templates/error_layout.css +97 -0
- data/lib/phusion_passenger/templates/error_layout.html.erb +39 -0
- data/lib/phusion_passenger/templates/framework_init_error.html.erb +39 -0
- data/lib/phusion_passenger/templates/general_error.html.erb +22 -0
- data/lib/phusion_passenger/templates/invalid_app_root.html.erb +9 -0
- data/lib/phusion_passenger/templates/load_error.html.erb +46 -0
- data/lib/phusion_passenger/templates/nginx/ask_for_extra_configure_flags.txt.erb +8 -0
- data/lib/phusion_passenger/templates/nginx/cannot_write_to_dir.txt.erb +11 -0
- data/lib/phusion_passenger/templates/nginx/config_snippets.txt.erb +17 -0
- data/lib/phusion_passenger/templates/nginx/config_snippets_inserted.txt.erb +20 -0
- data/lib/phusion_passenger/templates/nginx/confirm_extra_configure_flags.txt.erb +5 -0
- data/lib/phusion_passenger/templates/nginx/deployment_example.txt.erb +22 -0
- data/lib/phusion_passenger/templates/nginx/pcre_could_not_be_downloaded.txt.erb +11 -0
- data/lib/phusion_passenger/templates/nginx/pcre_could_not_be_extracted.txt.erb +11 -0
- data/lib/phusion_passenger/templates/nginx/possible_solutions_for_compilation_and_installation_problems.txt.erb +11 -0
- data/lib/phusion_passenger/templates/nginx/possible_solutions_for_download_and_extraction_problems.txt.erb +20 -0
- data/lib/phusion_passenger/templates/nginx/query_download_and_install.txt.erb +21 -0
- data/lib/phusion_passenger/templates/nginx/run_installer_as_root.txt.erb +8 -0
- data/lib/phusion_passenger/templates/nginx/welcome.txt.erb +15 -0
- data/lib/phusion_passenger/templates/version_not_found.html.erb +34 -0
- data/lib/phusion_passenger/utils.rb +603 -0
- data/lib/phusion_passenger/wsgi/application_spawner.rb +104 -0
- data/lib/phusion_passenger/wsgi/request_handler.py +199 -0
- data/man/passenger-config.1 +29 -0
- data/man/passenger-make-enterprisey.8 +23 -0
- data/man/passenger-memory-stats.8 +33 -0
- data/man/passenger-status.8 +43 -0
- data/man/passenger-stress-test.1 +43 -0
- data/misc/copy_boost_headers.rb +125 -0
- data/misc/find_owner_pipe_leaks.rb +128 -0
- data/misc/rake/cplusplus.rb +57 -0
- data/misc/rake/extensions.rb +182 -0
- data/misc/rake/gempackagetask.rb +99 -0
- data/misc/rake/packagetask.rb +186 -0
- data/misc/rake/rdoctask.rb +209 -0
- data/misc/render_error_pages.rb +116 -0
- data/test/ApplicationPoolServerTest.cpp +114 -0
- data/test/ApplicationPoolServer_ApplicationPoolTest.cpp +33 -0
- data/test/ApplicationPoolTest.cpp +599 -0
- data/test/Base64Test.cpp +48 -0
- data/test/CachedFileStatTest.cpp +402 -0
- data/test/CxxTestMain.cpp +143 -0
- data/test/FileChangeCheckerTest.cpp +331 -0
- data/test/HttpStatusExtractorTest.cpp +198 -0
- data/test/MessageChannelTest.cpp +312 -0
- data/test/PoolOptionsTest.cpp +117 -0
- data/test/ScgiRequestParserTest.cpp +337 -0
- data/test/SpawnManagerTest.cpp +64 -0
- data/test/StandardApplicationPoolTest.cpp +27 -0
- data/test/StaticStringTest.cpp +51 -0
- data/test/SystemTimeTest.cpp +37 -0
- data/test/UtilsTest.cpp +257 -0
- data/test/config.yml.example +30 -0
- data/test/integration_tests/apache2_tests.rb +595 -0
- data/test/integration_tests/hello_world_rack_spec.rb +36 -0
- data/test/integration_tests/hello_world_wsgi_spec.rb +41 -0
- data/test/integration_tests/mycook_spec.rb +192 -0
- data/test/integration_tests/nginx_tests.rb +151 -0
- data/test/oxt/backtrace_test.cpp +128 -0
- data/test/oxt/oxt_test_main.cpp +25 -0
- data/test/oxt/syscall_interruption_test.cpp +38 -0
- data/test/ruby/abstract_request_handler_spec.rb +85 -0
- data/test/ruby/abstract_server_collection_spec.rb +246 -0
- data/test/ruby/abstract_server_spec.rb +51 -0
- data/test/ruby/application_spec.rb +43 -0
- data/test/ruby/message_channel_spec.rb +170 -0
- data/test/ruby/rack/application_spawner_spec.rb +99 -0
- data/test/ruby/rails/application_spawner_spec.rb +159 -0
- data/test/ruby/rails/framework_spawner_spec.rb +133 -0
- data/test/ruby/rails/minimal_spawner_spec.rb +93 -0
- data/test/ruby/rails/spawner_error_handling_spec.rb +107 -0
- data/test/ruby/rails/spawner_privilege_lowering_spec.rb +97 -0
- data/test/ruby/spawn_manager_spec.rb +205 -0
- data/test/ruby/spawn_server_spec.rb +26 -0
- data/test/ruby/utils_spec.rb +335 -0
- data/test/ruby/wsgi/application_spawner_spec.rb +54 -0
- data/test/stub/apache2/httpd.conf.erb +81 -0
- data/test/stub/apache2/mime.types +748 -0
- data/test/stub/garbage1.dat +0 -0
- data/test/stub/garbage2.dat +0 -0
- data/test/stub/garbage3.dat +0 -0
- data/test/stub/http_request.yml +23 -0
- data/test/stub/message_channel.rb +9 -0
- data/test/stub/message_channel_2.rb +10 -0
- data/test/stub/message_channel_3.rb +17 -0
- data/test/stub/nginx/koi-utf +109 -0
- data/test/stub/nginx/koi-win +103 -0
- data/test/stub/nginx/mime.types +70 -0
- data/test/stub/nginx/nginx.conf.erb +57 -0
- data/test/stub/nginx/win-utf +126 -0
- data/test/stub/rack/config.ru +4 -0
- data/test/stub/rack/public/rack.jpg +0 -0
- data/test/stub/rails_apps/foobar/app/controllers/application.rb +12 -0
- data/test/stub/rails_apps/foobar/app/controllers/bar_controller_1.rb +5 -0
- data/test/stub/rails_apps/foobar/app/controllers/bar_controller_2.rb +5 -0
- data/test/stub/rails_apps/foobar/app/controllers/foo_controller.rb +21 -0
- data/test/stub/rails_apps/foobar/app/helpers/application_helper.rb +3 -0
- data/test/stub/rails_apps/foobar/config/boot.rb +108 -0
- data/test/stub/rails_apps/foobar/config/database.yml +19 -0
- data/test/stub/rails_apps/foobar/config/environment.rb +59 -0
- data/test/stub/rails_apps/foobar/config/environments/development.rb +17 -0
- data/test/stub/rails_apps/foobar/config/environments/production.rb +18 -0
- data/test/stub/rails_apps/foobar/config/initializers/inflections.rb +10 -0
- data/test/stub/rails_apps/foobar/config/initializers/mime_types.rb +5 -0
- data/test/stub/rails_apps/foobar/config/routes.rb +35 -0
- data/test/stub/rails_apps/mycook/app/controllers/application.rb +12 -0
- data/test/stub/rails_apps/mycook/app/controllers/recipes_controller.rb +5 -0
- data/test/stub/rails_apps/mycook/app/controllers/uploads_controller.rb +15 -0
- data/test/stub/rails_apps/mycook/app/controllers/welcome_controller.rb +71 -0
- data/test/stub/rails_apps/mycook/app/helpers/application_helper.rb +3 -0
- data/test/stub/rails_apps/mycook/app/views/layouts/default.rhtml +26 -0
- data/test/stub/rails_apps/mycook/app/views/recipes/create.rhtml +13 -0
- data/test/stub/rails_apps/mycook/app/views/recipes/index.rhtml +3 -0
- data/test/stub/rails_apps/mycook/app/views/recipes/new.rhtml +8 -0
- data/test/stub/rails_apps/mycook/app/views/uploads/index.rhtml +1 -0
- data/test/stub/rails_apps/mycook/app/views/uploads/new.html.erb +8 -0
- data/test/stub/rails_apps/mycook/app/views/welcome/cached.rhtml +1 -0
- data/test/stub/rails_apps/mycook/app/views/welcome/index.rhtml +20 -0
- data/test/stub/rails_apps/mycook/config/boot.rb +108 -0
- data/test/stub/rails_apps/mycook/config/database.yml +19 -0
- data/test/stub/rails_apps/mycook/config/environment.rb +61 -0
- data/test/stub/rails_apps/mycook/config/environments/development.rb +18 -0
- data/test/stub/rails_apps/mycook/config/environments/production.rb +19 -0
- data/test/stub/rails_apps/mycook/config/initializers/inflections.rb +10 -0
- data/test/stub/rails_apps/mycook/config/initializers/mime_types.rb +5 -0
- data/test/stub/rails_apps/mycook/config/routes.rb +38 -0
- data/test/stub/rails_apps/mycook/log/useless.txt +1 -0
- data/test/stub/rails_apps/mycook/public/404.html +30 -0
- data/test/stub/rails_apps/mycook/public/422.html +30 -0
- data/test/stub/rails_apps/mycook/public/500.html +30 -0
- data/test/stub/rails_apps/mycook/public/dispatch.cgi +10 -0
- data/test/stub/rails_apps/mycook/public/dispatch.fcgi +24 -0
- data/test/stub/rails_apps/mycook/public/dispatch.rb +10 -0
- data/test/stub/rails_apps/mycook/public/favicon.ico +0 -0
- data/test/stub/rails_apps/mycook/public/images/angrywizard.gif +0 -0
- data/test/stub/rails_apps/mycook/public/images/cookbook.gif +0 -0
- data/test/stub/rails_apps/mycook/public/images/header.png +0 -0
- data/test/stub/rails_apps/mycook/public/images/rails.png +0 -0
- data/test/stub/rails_apps/mycook/public/javascripts/application.js +2 -0
- data/test/stub/rails_apps/mycook/public/javascripts/controls.js +963 -0
- data/test/stub/rails_apps/mycook/public/javascripts/dragdrop.js +972 -0
- data/test/stub/rails_apps/mycook/public/javascripts/effects.js +1120 -0
- data/test/stub/rails_apps/mycook/public/javascripts/prototype.js +4225 -0
- data/test/stub/rails_apps/mycook/public/robots.txt +5 -0
- data/test/stub/rails_apps/mycook/public/uploads.html +26 -0
- data/test/stub/rails_apps/mycook/public/welcome/cached.html +26 -0
- data/test/stub/rails_apps/mycook/sites/some.site/public/uploads.html +26 -0
- data/test/stub/rails_apps/mycook/sites/some.site/public/welcome/cached.html +26 -0
- data/test/stub/rails_apps/mycook/tmp/cache/useless.txt +1 -0
- data/test/stub/rails_apps/mycook/tmp/pids/useless.txt +1 -0
- data/test/stub/rails_apps/mycook/tmp/sessions/useless.txt +1 -0
- data/test/stub/rails_apps/mycook/tmp/sockets/useless.txt +1 -0
- data/test/stub/spawn_server.rb +20 -0
- data/test/stub/upload_data.txt +494 -0
- data/test/stub/vendor_rails/minimal/README +1 -0
- data/test/stub/vendor_rails/minimal/actionmailer/lib/action_mailer.rb +0 -0
- data/test/stub/vendor_rails/minimal/actionpack/lib/action_controller.rb +19 -0
- data/test/stub/vendor_rails/minimal/actionpack/lib/action_pack.rb +0 -0
- data/test/stub/vendor_rails/minimal/actionpack/lib/action_view.rb +0 -0
- data/test/stub/vendor_rails/minimal/activerecord/lib/active_record.rb +7 -0
- data/test/stub/vendor_rails/minimal/activeresource/lib/active_resource.rb +0 -0
- data/test/stub/vendor_rails/minimal/activesupport/lib/active_support/whiny_nil.rb +0 -0
- data/test/stub/vendor_rails/minimal/activesupport/lib/active_support.rb +17 -0
- data/test/stub/vendor_rails/minimal/railties/lib/dispatcher.rb +0 -0
- data/test/stub/vendor_rails/minimal/railties/lib/initializer.rb +52 -0
- data/test/stub/vendor_rails/minimal/railties/lib/ruby_version_check.rb +1 -0
- data/test/stub/wsgi/passenger_wsgi.py +3 -0
- data/test/stub/wsgi/public/wsgi-snake.jpg +0 -0
- data/test/stub/zsfa/header.png +0 -0
- data/test/stub/zsfa/index.html +14 -0
- data/test/stub/zsfa/zsfa.png +0 -0
- data/test/support/Support.cpp +84 -0
- data/test/support/Support.h +118 -0
- data/test/support/apache2_controller.rb +250 -0
- data/test/support/config.rb +38 -0
- data/test/support/multipart.rb +62 -0
- data/test/support/nginx_controller.rb +98 -0
- data/test/support/run_rspec_tests.rb +10 -0
- data/test/support/test_helper.rb +207 -0
- data/test/support/tut.h +1234 -0
- data/test/support/tut_reporter.h +256 -0
- data/test/support/valgrind.h +2539 -0
- data/vendor/README +13 -0
- data/vendor/README_FOR_PACKAGERS +1 -0
- data/vendor/rack-1.0.0-git/COPYING +18 -0
- data/vendor/rack-1.0.0-git/KNOWN-ISSUES +18 -0
- data/vendor/rack-1.0.0-git/README +353 -0
- data/vendor/rack-1.0.0-git/Rakefile +164 -0
- data/vendor/rack-1.0.0-git/lib/rack/adapter/camping.rb +22 -0
- data/vendor/rack-1.0.0-git/lib/rack/auth/abstract/handler.rb +37 -0
- data/vendor/rack-1.0.0-git/lib/rack/auth/abstract/request.rb +37 -0
- data/vendor/rack-1.0.0-git/lib/rack/auth/basic.rb +58 -0
- data/vendor/rack-1.0.0-git/lib/rack/auth/digest/md5.rb +124 -0
- data/vendor/rack-1.0.0-git/lib/rack/auth/digest/nonce.rb +51 -0
- data/vendor/rack-1.0.0-git/lib/rack/auth/digest/params.rb +55 -0
- data/vendor/rack-1.0.0-git/lib/rack/auth/digest/request.rb +40 -0
- data/vendor/rack-1.0.0-git/lib/rack/auth/openid.rb +487 -0
- data/vendor/rack-1.0.0-git/lib/rack/builder.rb +63 -0
- data/vendor/rack-1.0.0-git/lib/rack/cascade.rb +41 -0
- data/vendor/rack-1.0.0-git/lib/rack/chunked.rb +49 -0
- data/vendor/rack-1.0.0-git/lib/rack/commonlogger.rb +52 -0
- data/vendor/rack-1.0.0-git/lib/rack/conditionalget.rb +47 -0
- data/vendor/rack-1.0.0-git/lib/rack/content_length.rb +29 -0
- data/vendor/rack-1.0.0-git/lib/rack/content_type.rb +23 -0
- data/vendor/rack-1.0.0-git/lib/rack/deflater.rb +96 -0
- data/vendor/rack-1.0.0-git/lib/rack/directory.rb +153 -0
- data/vendor/rack-1.0.0-git/lib/rack/file.rb +88 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/cgi.rb +61 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/evented_mongrel.rb +8 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/fastcgi.rb +88 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/lsws.rb +55 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/mongrel.rb +84 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/scgi.rb +59 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/swiftiplied_mongrel.rb +8 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/thin.rb +18 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler/webrick.rb +67 -0
- data/vendor/rack-1.0.0-git/lib/rack/handler.rb +69 -0
- data/vendor/rack-1.0.0-git/lib/rack/head.rb +19 -0
- data/vendor/rack-1.0.0-git/lib/rack/lint.rb +537 -0
- data/vendor/rack-1.0.0-git/lib/rack/lobster.rb +65 -0
- data/vendor/rack-1.0.0-git/lib/rack/lock.rb +16 -0
- data/vendor/rack-1.0.0-git/lib/rack/methodoverride.rb +27 -0
- data/vendor/rack-1.0.0-git/lib/rack/mime.rb +204 -0
- data/vendor/rack-1.0.0-git/lib/rack/mock.rb +184 -0
- data/vendor/rack-1.0.0-git/lib/rack/recursive.rb +57 -0
- data/vendor/rack-1.0.0-git/lib/rack/reloader.rb +106 -0
- data/vendor/rack-1.0.0-git/lib/rack/request.rb +248 -0
- data/vendor/rack-1.0.0-git/lib/rack/response.rb +183 -0
- data/vendor/rack-1.0.0-git/lib/rack/rewindable_input.rb +100 -0
- data/vendor/rack-1.0.0-git/lib/rack/session/abstract/id.rb +142 -0
- data/vendor/rack-1.0.0-git/lib/rack/session/cookie.rb +91 -0
- data/vendor/rack-1.0.0-git/lib/rack/session/memcache.rb +109 -0
- data/vendor/rack-1.0.0-git/lib/rack/session/pool.rb +100 -0
- data/vendor/rack-1.0.0-git/lib/rack/showexceptions.rb +349 -0
- data/vendor/rack-1.0.0-git/lib/rack/showstatus.rb +106 -0
- data/vendor/rack-1.0.0-git/lib/rack/static.rb +38 -0
- data/vendor/rack-1.0.0-git/lib/rack/urlmap.rb +55 -0
- data/vendor/rack-1.0.0-git/lib/rack/utils.rb +522 -0
- data/vendor/rack-1.0.0-git/lib/rack.rb +90 -0
- metadata +1152 -0
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
# encoding: binary
|
|
2
|
+
# Phusion Passenger - http://www.modrails.com/
|
|
3
|
+
# Copyright (c) 2008, 2009 Phusion
|
|
4
|
+
#
|
|
5
|
+
# "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
|
|
6
|
+
#
|
|
7
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
9
|
+
# in the Software without restriction, including without limitation the rights
|
|
10
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
12
|
+
# furnished to do so, subject to the following conditions:
|
|
13
|
+
#
|
|
14
|
+
# The above copyright notice and this permission notice shall be included in
|
|
15
|
+
# all copies or substantial portions of the Software.
|
|
16
|
+
#
|
|
17
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
20
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
21
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
22
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
23
|
+
# THE SOFTWARE.
|
|
24
|
+
|
|
25
|
+
require 'phusion_passenger/abstract_server'
|
|
26
|
+
require 'phusion_passenger/abstract_server_collection'
|
|
27
|
+
require 'phusion_passenger/constants'
|
|
28
|
+
require 'phusion_passenger/utils'
|
|
29
|
+
|
|
30
|
+
# Define a constant with a name that's unlikely to clash with anything the
|
|
31
|
+
# application defines, so that they can detect whether they're running under
|
|
32
|
+
# Phusion Passenger.
|
|
33
|
+
IN_PHUSION_PASSENGER = true
|
|
34
|
+
|
|
35
|
+
module PhusionPassenger
|
|
36
|
+
|
|
37
|
+
# The spawn manager is capable of spawning Ruby on Rails or Rack application
|
|
38
|
+
# instances. It acts like a simple fascade for the rest of the spawn manager
|
|
39
|
+
# system.
|
|
40
|
+
#
|
|
41
|
+
# *Note*: SpawnManager may only be started synchronously with
|
|
42
|
+
# AbstractServer#start_synchronously. Starting asynchronously has not been
|
|
43
|
+
# tested. Don't forget to call cleanup after the server's main loop has
|
|
44
|
+
# finished.
|
|
45
|
+
#
|
|
46
|
+
# == Ruby on Rails optimizations
|
|
47
|
+
#
|
|
48
|
+
# Spawning a Ruby on Rails application is usually slow. But SpawnManager
|
|
49
|
+
# will preload and cache Ruby on Rails frameworks, as well as application
|
|
50
|
+
# code, so subsequent spawns will be very fast.
|
|
51
|
+
#
|
|
52
|
+
# Internally, SpawnManager uses Railz::FrameworkSpawner to preload and cache
|
|
53
|
+
# Ruby on Rails frameworks. Railz::FrameworkSpawner, in turn, uses
|
|
54
|
+
# Railz::ApplicationSpawner to preload and cache application code.
|
|
55
|
+
#
|
|
56
|
+
# In case you're wondering why the namespace is "Railz" and not "Rails":
|
|
57
|
+
# it's to work around an obscure bug in ActiveSupport's Dispatcher.
|
|
58
|
+
class SpawnManager < AbstractServer
|
|
59
|
+
include Utils
|
|
60
|
+
|
|
61
|
+
def initialize
|
|
62
|
+
super()
|
|
63
|
+
@spawners = AbstractServerCollection.new
|
|
64
|
+
define_message_handler(:spawn_application, :handle_spawn_application)
|
|
65
|
+
define_message_handler(:reload, :handle_reload)
|
|
66
|
+
define_signal_handler('SIGHUP', :reload)
|
|
67
|
+
|
|
68
|
+
# Start garbage collector in order to free up some existing
|
|
69
|
+
# heap slots. This prevents the heap from growing unnecessarily
|
|
70
|
+
# during the startup phase.
|
|
71
|
+
GC.start
|
|
72
|
+
if GC.copy_on_write_friendly?
|
|
73
|
+
# Preload libraries for copy-on-write semantics.
|
|
74
|
+
require 'base64'
|
|
75
|
+
require 'phusion_passenger/application'
|
|
76
|
+
require 'phusion_passenger/railz/framework_spawner'
|
|
77
|
+
require 'phusion_passenger/railz/application_spawner'
|
|
78
|
+
require 'phusion_passenger/rack/application_spawner'
|
|
79
|
+
require 'phusion_passenger/html_template'
|
|
80
|
+
require 'phusion_passenger/platform_info'
|
|
81
|
+
require 'phusion_passenger/exceptions'
|
|
82
|
+
|
|
83
|
+
# Commonly used libraries.
|
|
84
|
+
['mysql', 'sqlite3'].each do |lib|
|
|
85
|
+
begin
|
|
86
|
+
require lib
|
|
87
|
+
rescue LoadError
|
|
88
|
+
# Do nothing; ignore if not present.
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Spawn an application with the given spawn options. When successful, an
|
|
95
|
+
# Application object will be returned, which represents the spawned application.
|
|
96
|
+
# At least one option must be given: +app_root+. This is the application's root
|
|
97
|
+
# folder.
|
|
98
|
+
#
|
|
99
|
+
# Other options are:
|
|
100
|
+
#
|
|
101
|
+
# ['lower_privilege', 'lowest_user', 'environment', 'environment_variables', 'base_uri' and 'print_exceptions']
|
|
102
|
+
# See Railz::ApplicationSpawner.new for an explanation of these options.
|
|
103
|
+
#
|
|
104
|
+
# ['app_type']
|
|
105
|
+
# What kind of application is being spawned. Either "rails" (default), "rack" or "wsgi".
|
|
106
|
+
#
|
|
107
|
+
# ['spawn_method']
|
|
108
|
+
# May be one of "smart", "smart-lv2" or "conservative". When "smart" is specified,
|
|
109
|
+
# SpawnManager will internally cache the code of Rails applications, in
|
|
110
|
+
# order to speed up future spawning attempts. This implies that, if you've changed
|
|
111
|
+
# the application's
|
|
112
|
+
# code, you must do one of these things:
|
|
113
|
+
# - Restart this SpawnManager by calling AbstractServer#stop, then AbstractServer#start.
|
|
114
|
+
# - Reload the application by calling reload with the correct app_root argument.
|
|
115
|
+
#
|
|
116
|
+
# "smart" caches the Rails framework code in a framework spawner server, and application
|
|
117
|
+
# code in an application spawner server. Sometimes it is desirable to skip the
|
|
118
|
+
# framework spawning and going directly for the application spawner instead. The
|
|
119
|
+
# "smart-lv2" method allows you to do that.
|
|
120
|
+
#
|
|
121
|
+
# Caching however can be incompatible with some applications. The "conservative"
|
|
122
|
+
# spawning method does not involve any caching at all. Spawning will be slower,
|
|
123
|
+
# but is guaranteed to be compatible with all applications.
|
|
124
|
+
#
|
|
125
|
+
# The default spawn method is "smart-lv2".
|
|
126
|
+
#
|
|
127
|
+
# ['framework_spawner_timeout' and 'app_spawner_timeout']
|
|
128
|
+
# These options allow you to specify the maximum idle timeout, in seconds, of the
|
|
129
|
+
# framework spawner servers and application spawner servers that will be started under
|
|
130
|
+
# the hood. These options are only used if +app_type+ equals "rails".
|
|
131
|
+
#
|
|
132
|
+
# A timeout of 0 means that the spawner server should never idle timeout. A timeout of
|
|
133
|
+
# -1 means that the default timeout value should be used. The default value is -1.
|
|
134
|
+
#
|
|
135
|
+
# <b>Exceptions:</b>
|
|
136
|
+
# - InvalidPath: +app_root+ doesn't appear to be a valid Ruby on Rails application root.
|
|
137
|
+
# - VersionNotFound: The Ruby on Rails framework version that the given application requires
|
|
138
|
+
# is not installed.
|
|
139
|
+
# - AbstractServer::ServerError: One of the server processes exited unexpectedly.
|
|
140
|
+
# - FrameworkInitError: The Ruby on Rails framework that the application requires could not be loaded.
|
|
141
|
+
# - AppInitError: The application raised an exception or called exit() during startup.
|
|
142
|
+
def spawn_application(options)
|
|
143
|
+
if !options["app_root"]
|
|
144
|
+
raise ArgumentError, "The 'app_root' option must be given."
|
|
145
|
+
end
|
|
146
|
+
options = sanitize_spawn_options(options)
|
|
147
|
+
|
|
148
|
+
if options["app_type"] == "rails"
|
|
149
|
+
if !defined?(Railz::FrameworkSpawner)
|
|
150
|
+
require 'phusion_passenger/application'
|
|
151
|
+
require 'phusion_passenger/railz/framework_spawner'
|
|
152
|
+
require 'phusion_passenger/railz/application_spawner'
|
|
153
|
+
end
|
|
154
|
+
return spawn_rails_application(options)
|
|
155
|
+
elsif options["app_type"] == "rack"
|
|
156
|
+
if !defined?(Rack::ApplicationSpawner)
|
|
157
|
+
require 'phusion_passenger/rack/application_spawner'
|
|
158
|
+
end
|
|
159
|
+
return Rack::ApplicationSpawner.spawn_application(
|
|
160
|
+
options["app_root"], options
|
|
161
|
+
)
|
|
162
|
+
elsif options["app_type"] == "wsgi"
|
|
163
|
+
require 'phusion_passenger/wsgi/application_spawner'
|
|
164
|
+
return WSGI::ApplicationSpawner.spawn_application(
|
|
165
|
+
options["app_root"],
|
|
166
|
+
options["lower_privilege"],
|
|
167
|
+
options["lowest_user"],
|
|
168
|
+
options["environment"]
|
|
169
|
+
)
|
|
170
|
+
else
|
|
171
|
+
raise ArgumentError, "Unknown 'app_type' value '#{options["app_type"]}'."
|
|
172
|
+
end
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
# Remove the cached application instances at the given application root.
|
|
176
|
+
# If nil is specified as application root, then all cached application
|
|
177
|
+
# instances will be removed, no matter the application root.
|
|
178
|
+
#
|
|
179
|
+
# <b>Long description:</b>
|
|
180
|
+
# Application code might be cached in memory. But once it a while, it will
|
|
181
|
+
# be necessary to reload the code for an application, such as after
|
|
182
|
+
# deploying a new version of the application. This method makes sure that
|
|
183
|
+
# any cached application code is removed, so that the next time an
|
|
184
|
+
# application instance is spawned, the application code will be freshly
|
|
185
|
+
# loaded into memory.
|
|
186
|
+
#
|
|
187
|
+
# Raises AbstractServer::SpawnError if something went wrong.
|
|
188
|
+
def reload(app_root = nil)
|
|
189
|
+
@spawners.synchronize do
|
|
190
|
+
if app_root
|
|
191
|
+
# Delete associated ApplicationSpawner.
|
|
192
|
+
@spawners.delete("app:#{app_root}")
|
|
193
|
+
else
|
|
194
|
+
# Delete all ApplicationSpawners.
|
|
195
|
+
keys_to_delete = []
|
|
196
|
+
@spawners.each_pair do |key, spawner|
|
|
197
|
+
if spawner.is_a?(Railz::ApplicationSpawner)
|
|
198
|
+
keys_to_delete << key
|
|
199
|
+
end
|
|
200
|
+
end
|
|
201
|
+
keys_to_delete.each do |key|
|
|
202
|
+
@spawners.delete(key)
|
|
203
|
+
end
|
|
204
|
+
end
|
|
205
|
+
@spawners.each do |spawner|
|
|
206
|
+
# Reload all FrameworkSpawners.
|
|
207
|
+
if spawner.respond_to?(:reload)
|
|
208
|
+
spawner.reload(app_root)
|
|
209
|
+
end
|
|
210
|
+
end
|
|
211
|
+
end
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
# Cleanup resources. Should be called when this SpawnManager is no longer needed.
|
|
215
|
+
def cleanup
|
|
216
|
+
@spawners.cleanup
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
private
|
|
220
|
+
def spawn_rails_application(options)
|
|
221
|
+
spawn_method = options["spawn_method"]
|
|
222
|
+
app_root = options["app_root"]
|
|
223
|
+
|
|
224
|
+
if [nil, "", "smart", "smart-lv2"].include?(spawn_method)
|
|
225
|
+
spawner_must_be_started = true
|
|
226
|
+
if spawn_method != "smart-lv2"
|
|
227
|
+
framework_version = Application.detect_framework_version(app_root)
|
|
228
|
+
end
|
|
229
|
+
if framework_version.nil? || framework_version == :vendor
|
|
230
|
+
key = "app:#{app_root}"
|
|
231
|
+
create_spawner = proc do
|
|
232
|
+
Railz::ApplicationSpawner.new(app_root, options)
|
|
233
|
+
end
|
|
234
|
+
spawner_timeout = options["app_spawner_timeout"]
|
|
235
|
+
else
|
|
236
|
+
key = "version:#{framework_version}"
|
|
237
|
+
create_spawner = proc do
|
|
238
|
+
framework_options = { :version => framework_version }
|
|
239
|
+
if options.has_key?(:print_framework_loading_exceptions)
|
|
240
|
+
framework_options[:print_framework_loading_exceptions] = options[:print_framework_loading_exceptions]
|
|
241
|
+
end
|
|
242
|
+
Railz::FrameworkSpawner.new(framework_options)
|
|
243
|
+
end
|
|
244
|
+
spawner_timeout = options["framework_spawner_timeout"]
|
|
245
|
+
end
|
|
246
|
+
else
|
|
247
|
+
key = "app:#{app_root}"
|
|
248
|
+
create_spawner = proc do
|
|
249
|
+
Railz::ApplicationSpawner.new(app_root, options)
|
|
250
|
+
end
|
|
251
|
+
spawner_timeout = options["app_spawner_timeout"]
|
|
252
|
+
spawner_must_be_started = false
|
|
253
|
+
end
|
|
254
|
+
|
|
255
|
+
@spawners.synchronize do
|
|
256
|
+
spawner = @spawners.lookup_or_add(key) do
|
|
257
|
+
spawner = create_spawner.call
|
|
258
|
+
if spawner_timeout != -1
|
|
259
|
+
spawner.max_idle_time = spawner_timeout
|
|
260
|
+
end
|
|
261
|
+
if spawner_must_be_started
|
|
262
|
+
spawner.start
|
|
263
|
+
end
|
|
264
|
+
spawner
|
|
265
|
+
end
|
|
266
|
+
begin
|
|
267
|
+
if spawner.is_a?(Railz::FrameworkSpawner)
|
|
268
|
+
return spawner.spawn_application(app_root, options)
|
|
269
|
+
elsif spawner.started?
|
|
270
|
+
return spawner.spawn_application
|
|
271
|
+
else
|
|
272
|
+
return spawner.spawn_application!
|
|
273
|
+
end
|
|
274
|
+
rescue AbstractServer::ServerError
|
|
275
|
+
@spawners.delete(key)
|
|
276
|
+
raise
|
|
277
|
+
end
|
|
278
|
+
end
|
|
279
|
+
end
|
|
280
|
+
|
|
281
|
+
def handle_spawn_application(*options)
|
|
282
|
+
options = sanitize_spawn_options(Hash[*options])
|
|
283
|
+
app = nil
|
|
284
|
+
app_root = options["app_root"]
|
|
285
|
+
app_type = options["app_type"]
|
|
286
|
+
begin
|
|
287
|
+
app = spawn_application(options)
|
|
288
|
+
rescue InvalidPath => e
|
|
289
|
+
send_error_page(client, 'invalid_app_root', :error => e, :app_root => app_root)
|
|
290
|
+
rescue AbstractServer::ServerError => e
|
|
291
|
+
send_error_page(client, 'general_error', :error => e)
|
|
292
|
+
rescue VersionNotFound => e
|
|
293
|
+
send_error_page(client, 'version_not_found', :error => e, :app_root => app_root)
|
|
294
|
+
rescue AppInitError => e
|
|
295
|
+
if database_error?(e)
|
|
296
|
+
send_error_page(client, 'database_error', :error => e,
|
|
297
|
+
:app_root => app_root, :app_name => app_name(app_type),
|
|
298
|
+
:app_type => app_type)
|
|
299
|
+
elsif load_error?(e)
|
|
300
|
+
# A source file failed to load, maybe because of a
|
|
301
|
+
# missing gem. If that's the case then the sysadmin
|
|
302
|
+
# will install probably the gem. So we clear RubyGems's
|
|
303
|
+
# cache so that it can detect new gems.
|
|
304
|
+
Gem.clear_paths
|
|
305
|
+
send_error_page(client, 'load_error', :error => e, :app_root => app_root,
|
|
306
|
+
:app_name => app_name(app_type))
|
|
307
|
+
elsif e.child_exception.is_a?(SystemExit)
|
|
308
|
+
send_error_page(client, 'app_exited_during_initialization', :error => e,
|
|
309
|
+
:app_root => app_root, :app_name => app_name(app_type))
|
|
310
|
+
else
|
|
311
|
+
send_error_page(client, 'app_init_error', :error => e,
|
|
312
|
+
:app_root => app_root, :app_name => app_name(app_type))
|
|
313
|
+
end
|
|
314
|
+
rescue FrameworkInitError => e
|
|
315
|
+
send_error_page(client, 'framework_init_error', :error => e, :app_root => app_root)
|
|
316
|
+
end
|
|
317
|
+
if app
|
|
318
|
+
begin
|
|
319
|
+
client.write('ok')
|
|
320
|
+
client.write(app.pid, app.listen_socket_name,
|
|
321
|
+
app.listen_socket_type)
|
|
322
|
+
client.send_io(app.owner_pipe)
|
|
323
|
+
rescue Errno::EPIPE
|
|
324
|
+
# The Apache module may be interrupted during a spawn command,
|
|
325
|
+
# in which case it will close the connection. We ignore this error.
|
|
326
|
+
ensure
|
|
327
|
+
app.close
|
|
328
|
+
end
|
|
329
|
+
end
|
|
330
|
+
end
|
|
331
|
+
|
|
332
|
+
def handle_reload(app_root)
|
|
333
|
+
reload(app_root)
|
|
334
|
+
end
|
|
335
|
+
|
|
336
|
+
def send_error_page(channel, template_name, options = {})
|
|
337
|
+
require 'phusion_passenger/html_template' unless defined?(HTMLTemplate)
|
|
338
|
+
require 'phusion_passenger/platform_info' unless defined?(PlatformInfo)
|
|
339
|
+
options["enterprisey"] = File.exist?("#{File.dirname(__FILE__)}/../../enterprisey.txt") ||
|
|
340
|
+
File.exist?("/etc/passenger_enterprisey.txt")
|
|
341
|
+
data = HTMLTemplate.new(template_name, options).result
|
|
342
|
+
channel.write('error_page')
|
|
343
|
+
channel.write_scalar(data)
|
|
344
|
+
end
|
|
345
|
+
|
|
346
|
+
def database_error?(e)
|
|
347
|
+
return ( defined?(Mysql::Error) && e.child_exception.is_a?(Mysql::Error) ) ||
|
|
348
|
+
( e.child_exception.is_a?(UnknownError) &&
|
|
349
|
+
(
|
|
350
|
+
e.child_exception.real_class_name =~ /^ActiveRecord/ ||
|
|
351
|
+
e.child_exception.real_class_name =~ /^Mysql::/
|
|
352
|
+
)
|
|
353
|
+
)
|
|
354
|
+
end
|
|
355
|
+
|
|
356
|
+
def load_error?(e)
|
|
357
|
+
return e.child_exception.is_a?(LoadError) || (
|
|
358
|
+
e.child_exception.is_a?(UnknownError) &&
|
|
359
|
+
e.child_exception.real_class_name == "MissingSourceFile"
|
|
360
|
+
)
|
|
361
|
+
end
|
|
362
|
+
|
|
363
|
+
def app_name(app_type)
|
|
364
|
+
if app_type == "rails"
|
|
365
|
+
return "Ruby on Rails"
|
|
366
|
+
else
|
|
367
|
+
return "Ruby (Rack)"
|
|
368
|
+
end
|
|
369
|
+
end
|
|
370
|
+
end
|
|
371
|
+
|
|
372
|
+
end # module PhusionPassenger
|
data/lib/phusion_passenger/templates/apache2/apache_must_be_compiled_with_compatible_mpm.txt.erb
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<red>WARNING:</red> <yellow>Apache doesn't seem to be compiled with the 'prefork' or 'worker' MPM</yellow>
|
|
2
|
+
|
|
3
|
+
Passenger has only been tested on Apache with the 'prefork' and the 'worker'
|
|
4
|
+
MPM. Your Apache installation is compiled with the '<%= @current_mpm %>' MPM. We recommend
|
|
5
|
+
you to abort this installer and to recompile Apache with either the 'prefork'
|
|
6
|
+
or the 'worker' MPM.
|
|
7
|
+
|
|
8
|
+
<b>Press Ctrl-C to abort this installer (recommended).</b>
|
|
9
|
+
<b>Press Enter if you want to continue with installation anyway.</b>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<banner>The Apache 2 module was successfully installed.</banner>
|
|
2
|
+
|
|
3
|
+
Please edit your Apache configuration file, and add these lines:
|
|
4
|
+
|
|
5
|
+
<b>LoadModule passenger_module <%= @module_location %></b>
|
|
6
|
+
<b>PassengerRoot <%= @passenger_root %></b>
|
|
7
|
+
<b>PassengerRuby <%= @ruby %></b>
|
|
8
|
+
|
|
9
|
+
After you restart Apache, you are ready to deploy any number of Ruby on Rails
|
|
10
|
+
applications on Apache, without any further Ruby on Rails-specific
|
|
11
|
+
configuration!
|
|
12
|
+
|
|
13
|
+
<b>Press ENTER to continue.</b>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<banner>Deploying a Ruby on Rails application: an example</banner>
|
|
2
|
+
|
|
3
|
+
Suppose you have a Rails application in <b>/somewhere</b>. Add a virtual host to your
|
|
4
|
+
Apache configuration file and set its DocumentRoot to <b>/somewhere/public</b>:
|
|
5
|
+
<b>
|
|
6
|
+
<VirtualHost *:80>
|
|
7
|
+
ServerName www.yourhost.com
|
|
8
|
+
DocumentRoot /somewhere/public # <-- be sure to point to 'public'!
|
|
9
|
+
<Directory /somewhere/public>
|
|
10
|
+
AllowOverride all # <-- relax Apache security settings
|
|
11
|
+
Options -MultiViews # <-- MultiViews must be turned off
|
|
12
|
+
</Directory>
|
|
13
|
+
</VirtualHost>
|
|
14
|
+
</b>
|
|
15
|
+
And that's it! You may also want to check the Users Guide for security and
|
|
16
|
+
optimization tips, troubleshooting and other useful information:
|
|
17
|
+
|
|
18
|
+
<yellow><%= @users_guide %></yellow>
|
|
19
|
+
|
|
20
|
+
Enjoy Phusion Passenger, a product of Phusion (<b><%= @phusion_website %></b>) :-)
|
|
21
|
+
<b><%= @passenger_website %></b>
|
|
22
|
+
|
|
23
|
+
Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<red>Permission problems</red>
|
|
2
|
+
|
|
3
|
+
This installer must be able to write to the following directory:
|
|
4
|
+
|
|
5
|
+
<b><%= @path || ::PASSENGER_ROOT %></b>
|
|
6
|
+
|
|
7
|
+
But it can't do that, despite the fact that it's running as root. There's
|
|
8
|
+
probably a permission problem. Please fix the permissions for the
|
|
9
|
+
aforementioned directory, and re-run this installer.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<red>It looks like something went wrong</red>
|
|
2
|
+
|
|
3
|
+
Please read our Users guide for troubleshooting tips:
|
|
4
|
+
|
|
5
|
+
<b><%= @users_guide %></b>
|
|
6
|
+
|
|
7
|
+
If that doesn't help, please use our support facilities at:
|
|
8
|
+
|
|
9
|
+
<b><%= @passenger_website %></b>
|
|
10
|
+
|
|
11
|
+
We'll do our best to help you.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<red>Permission problems</red>
|
|
2
|
+
|
|
3
|
+
This installer must be able to write to the following directory:
|
|
4
|
+
|
|
5
|
+
<b><%= @path || ::PASSENGER_ROOT %></b>
|
|
6
|
+
|
|
7
|
+
But it can't do that, because you're running the installer as <b><%= `whoami`.strip %></b>.
|
|
8
|
+
Please re-run this installer as <b>root</b>.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<banner>Welcome to the Colouring Code Phusion Passenger Apache 2 module installer, Passenger v<%= @version %>.</banner>
|
|
2
|
+
|
|
3
|
+
This installer will guide you through the entire installation process. It
|
|
4
|
+
shouldn't take more than 3 minutes in total.
|
|
5
|
+
|
|
6
|
+
Here's what you can expect from the installation process:
|
|
7
|
+
|
|
8
|
+
<b>1.</b> The Apache 2 module will be installed for you.
|
|
9
|
+
<b>2.</b> You'll learn how to configure Apache.
|
|
10
|
+
<b>3.</b> You'll learn how to deploy a Ruby on Rails application.
|
|
11
|
+
|
|
12
|
+
Don't worry if anything goes wrong. This installer will advise you on how to
|
|
13
|
+
solve any problems.
|
|
14
|
+
|
|
15
|
+
<b>Press Enter to continue, or Ctrl-C to abort.</b>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<% layout 'error_layout', :title => "#{@app_name} application could not be started" do %>
|
|
2
|
+
<h1 class="error_title"><%= @app_name %> application could not be started</h1>
|
|
3
|
+
<div id="content">
|
|
4
|
+
|
|
5
|
+
The application has exited during startup (i.e. during the evaluation of
|
|
6
|
+
<tt>config/environment.rb</tt>).
|
|
7
|
+
<% if @error.stderr %>
|
|
8
|
+
The error message can be found below. To solve this problem, please
|
|
9
|
+
follow any instructions in the error message.
|
|
10
|
+
<% else %>
|
|
11
|
+
The error message may have been written to the web server's log file.
|
|
12
|
+
Please check the <b>web server's</b> log file (i.e. <em>not</em> the
|
|
13
|
+
(Rails) application's log file) to find out why the application
|
|
14
|
+
exited.
|
|
15
|
+
|
|
16
|
+
<p>If that doesn't help, then please use the backtrace below to debug
|
|
17
|
+
the problem.</p>
|
|
18
|
+
<% end %>
|
|
19
|
+
|
|
20
|
+
<dl>
|
|
21
|
+
<% if @error.stderr %>
|
|
22
|
+
<dt>Error message:</dt>
|
|
23
|
+
<dd><%=h @error.stderr %></dd>
|
|
24
|
+
<% end %>
|
|
25
|
+
|
|
26
|
+
<dt>Application root:</dt>
|
|
27
|
+
<dd>
|
|
28
|
+
<tt class="filename"><%=h @app_root %></tt>
|
|
29
|
+
</dd>
|
|
30
|
+
|
|
31
|
+
<dt>Backtrace:</dt>
|
|
32
|
+
<dd>
|
|
33
|
+
<%= backtrace_html_for(@error.child_exception) %>
|
|
34
|
+
</dd>
|
|
35
|
+
</dl>
|
|
36
|
+
|
|
37
|
+
</div>
|
|
38
|
+
<% end %>
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<% layout 'error_layout', :title => "#{@app_name} application could not be started" do %>
|
|
2
|
+
<h1 class="error_title"><%= @app_name %> application could not be started</h1>
|
|
3
|
+
<div id="content">
|
|
4
|
+
|
|
5
|
+
These are the possible causes:
|
|
6
|
+
<ul>
|
|
7
|
+
<li class="first">
|
|
8
|
+
<div class="container">
|
|
9
|
+
<div class="content">
|
|
10
|
+
There may be a syntax error in the application's code. Please
|
|
11
|
+
check for such errors and fix them.
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
</li>
|
|
15
|
+
<li>
|
|
16
|
+
<div class="container">
|
|
17
|
+
<div class="content">
|
|
18
|
+
A required library may not installed. Please install all libraries
|
|
19
|
+
that this application requires.
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
</li>
|
|
23
|
+
<li>
|
|
24
|
+
<div class="container">
|
|
25
|
+
<div class="content">
|
|
26
|
+
The application may not be properly configured. Please check whether all
|
|
27
|
+
configuration files are written correctly, fix any incorrect
|
|
28
|
+
configurations, and restart this application.
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
</li>
|
|
32
|
+
<li class="last">
|
|
33
|
+
<div class="container">
|
|
34
|
+
<div class="content">
|
|
35
|
+
A service that the application relies on (such as the database server
|
|
36
|
+
or the Ferret search engine server) may not have been started. Please start
|
|
37
|
+
that service.
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
</li>
|
|
41
|
+
</ul>
|
|
42
|
+
Further information about the error may have been written to the
|
|
43
|
+
application's log file. Please check it in order to analyse the problem.
|
|
44
|
+
|
|
45
|
+
<dl>
|
|
46
|
+
<dt>Error message:</dt>
|
|
47
|
+
<dd><%=h @error.child_exception.message %></dd>
|
|
48
|
+
|
|
49
|
+
<dt>Exception class:</dt>
|
|
50
|
+
<dd><%=h @error.child_exception.class %></dd>
|
|
51
|
+
|
|
52
|
+
<dt>Application root:</dt>
|
|
53
|
+
<dd>
|
|
54
|
+
<tt class="filename"><%=h @app_root %></tt>
|
|
55
|
+
</dd>
|
|
56
|
+
|
|
57
|
+
<dt>Backtrace:</dt>
|
|
58
|
+
<dd>
|
|
59
|
+
<%= backtrace_html_for(@error.child_exception) %>
|
|
60
|
+
</dd>
|
|
61
|
+
</dl>
|
|
62
|
+
|
|
63
|
+
</div>
|
|
64
|
+
<% end %>
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<% layout 'error_layout', :title => "#{@app_name} application could not be started" do %>
|
|
2
|
+
<h1 class="error_title"><%= @app_name %> application could not be started</h1>
|
|
3
|
+
<div id="content">
|
|
4
|
+
|
|
5
|
+
There appears to be a database problem.
|
|
6
|
+
<ul>
|
|
7
|
+
<li class="first">
|
|
8
|
+
<div class="container">
|
|
9
|
+
<div class="content">
|
|
10
|
+
<% if @app_type == "rails" %>
|
|
11
|
+
Your <em>config/database.yml</em> may not be written correctly.
|
|
12
|
+
<% else %>
|
|
13
|
+
Your application's database configuration file might be written
|
|
14
|
+
incorrectly.
|
|
15
|
+
<% end %>
|
|
16
|
+
Please check it and fix any errors.
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
</li>
|
|
20
|
+
<% if @app_type == "rails" %>
|
|
21
|
+
<li>
|
|
22
|
+
<div class="container">
|
|
23
|
+
<div class="content">
|
|
24
|
+
Your database schema may be out of date or nonexistant.
|
|
25
|
+
Please run <code>rake db:migrate</code> to ensure that
|
|
26
|
+
the database schema is up-to-date.
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
</li>
|
|
30
|
+
<% end %>
|
|
31
|
+
<li class="last">
|
|
32
|
+
<div class="container">
|
|
33
|
+
<div class="content">
|
|
34
|
+
The database server may not be running. Please check whether it's
|
|
35
|
+
running, and start it if it isn't.
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
</li>
|
|
39
|
+
</ul>
|
|
40
|
+
|
|
41
|
+
<dl>
|
|
42
|
+
<dt>Error message:</dt>
|
|
43
|
+
<dd><%=h @error.child_exception.message %></dd>
|
|
44
|
+
|
|
45
|
+
<dt>Exception class:</dt>
|
|
46
|
+
<dd>
|
|
47
|
+
<% if @error.child_exception.respond_to?(:real_class_name) %>
|
|
48
|
+
<%=h @error.child_exception.real_class_name %>
|
|
49
|
+
<% else %>
|
|
50
|
+
<%=h @error.child_exception.class %>
|
|
51
|
+
<% end %>
|
|
52
|
+
</dd>
|
|
53
|
+
|
|
54
|
+
<dt>Application root:</dt>
|
|
55
|
+
<dd>
|
|
56
|
+
<tt class="filename"><%=h @app_root %></tt>
|
|
57
|
+
</dd>
|
|
58
|
+
|
|
59
|
+
<dt>Backtrace:</dt>
|
|
60
|
+
<dd>
|
|
61
|
+
<%= backtrace_html_for(@error.child_exception) %>
|
|
62
|
+
</dd>
|
|
63
|
+
</dl>
|
|
64
|
+
|
|
65
|
+
</div>
|
|
66
|
+
<% end %>
|