From 9cf1c5d23cdf9c6e2dd9af95d4b0cfae67fe2beb Mon Sep 17 00:00:00 2001 From: MSP-Greg Date: Wed, 27 Nov 2024 08:58:47 -0600 Subject: [PATCH] Update Puma docs to 6.5.0 (#75) --- index.html | 4 +- puma/IO.html | 6 +- puma/IO/WaitReadable.html | 6 +- puma/IOError.html | 4 +- puma/Minitest.html | 88 ++ puma/Minitest/Assertions.html | 117 +++ puma/Object.html | 4 +- puma/Puma.html | 68 +- puma/Puma/App.html | 6 +- puma/Puma/App/Status.html | 16 +- puma/Puma/Binder.html | 205 ++--- puma/Puma/CLI.html | 42 +- puma/Puma/Client.html | 253 +++--- puma/Puma/Cluster.html | 155 ++-- puma/Puma/Cluster/Worker.html | 28 +- puma/Puma/Cluster/WorkerHandle.html | 84 +- puma/Puma/CommonLogger.html | 40 +- puma/Puma/Configuration.html | 228 +++-- puma/Puma/Configuration/ConfigMiddleware.html | 18 +- puma/Puma/ConnectionError.html | 6 +- puma/Puma/Const.html | 178 ++-- puma/Puma/Const/PipeRequest.html | 125 +++ puma/Puma/ControlCLI.html | 38 +- puma/Puma/DSL.html | 823 ++++++++++++------ puma/Puma/ErrorLogger.html | 48 +- puma/Puma/Events.html | 24 +- puma/Puma/HttpParser.html | 22 +- puma/Puma/HttpParserError.html | 6 +- puma/Puma/HttpParserError501.html | 6 +- puma/Puma/IOBuffer.html | 20 +- puma/Puma/JRubyRestart.html | 58 +- puma/Puma/JSONSerialization.html | 22 +- .../JSONSerialization/SerializationError.html | 6 +- puma/Puma/Launcher.html | 254 +++--- puma/Puma/Launcher/BundlePruner.html | 28 +- puma/Puma/LogWriter.html | 84 +- puma/Puma/LogWriter/DefaultFormatter.html | 8 +- puma/Puma/LogWriter/PidFormatter.html | 8 +- puma/Puma/MiniSSL.html | 32 +- puma/Puma/MiniSSL/Context.html | 173 ++-- puma/Puma/MiniSSL/ContextBuilder.html | 25 +- puma/Puma/MiniSSL/Engine.html | 66 +- puma/Puma/MiniSSL/SSLContext.html | 22 +- puma/Puma/MiniSSL/SSLError.html | 6 +- puma/Puma/MiniSSL/Server.html | 48 +- puma/Puma/MiniSSL/Socket.html | 38 +- puma/Puma/NullIO.html | 251 +++++- puma/Puma/Plugin.html | 14 +- puma/Puma/PluginLoader.html | 12 +- puma/Puma/PluginRegistry.html | 16 +- puma/Puma/Rack.html | 6 +- puma/Puma/Rack/Builder.html | 28 +- puma/Puma/Rack/Options.html | 10 +- puma/Puma/Rack/URLMap.html | 18 +- puma/Puma/RackHandler.html | 46 +- puma/Puma/Reactor.html | 20 +- puma/Puma/Request.html | 96 +- puma/Puma/Runner.html | 120 +-- puma/Puma/SdNotify.html | 42 +- puma/Puma/SdNotify/NotifyError.html | 6 +- puma/Puma/Server.html | 382 ++++---- puma/Puma/Single.html | 20 +- puma/Puma/StateFile.html | 14 +- puma/Puma/ThreadPool.html | 171 ++-- puma/Puma/ThreadPool/Automaton.html | 24 +- puma/Puma/ThreadPool/ForceShutdown.html | 6 +- puma/Puma/UnknownPlugin.html | 6 +- puma/Puma/UnsupportedBackend.html | 6 +- puma/Puma/UnsupportedOption.html | 6 +- puma/Puma/UserFileDefaultOptions.html | 66 +- puma/Puma/Util.html | 22 +- puma/Puma/Util/HeaderHash.html | 34 +- puma/Rack.html | 6 +- puma/Rack/Handler.html | 8 +- puma/Rack/Handler/Puma.html | 6 +- puma/Rackup.html | 6 +- puma/Rackup/Handler.html | 8 +- puma/Rackup/Handler/Puma.html | 6 +- puma/StandardError.html | 4 +- puma/TestPuma.html | 35 +- puma/TestPuma/Assertions.html | 194 +++++ puma/TestPuma/PumaSocket.html | 71 +- puma/TestPuma/Response.html | 18 +- puma/_index.html | 23 +- puma/class_list.html | 24 +- puma/constant_list.html | 11 +- puma/file.5.0-Upgrade.html | 4 +- puma/file.6.0-Upgrade.html | 4 +- puma/file.CONTRIBUTING.html | 8 +- puma/file.History.html | 75 +- puma/file.README.html | 104 ++- puma/file.SECURITY.html | 4 +- puma/file.architecture.html | 4 +- puma/file.compile_options.html | 4 +- puma/file.deployment.html | 4 +- puma/file.fork_worker.html | 13 +- puma/file.java_options.html | 129 +++ puma/file.kubernetes.html | 4 +- puma/file.nginx.html | 4 +- puma/file.plugins.html | 4 +- puma/file.rails_dev_mode.html | 4 +- puma/file.restart.html | 4 +- puma/file.signals.html | 8 +- puma/file.stats.html | 7 +- puma/file.systemd.html | 13 +- puma/file.testing_benchmarks_local_files.html | 4 +- puma/file.testing_test_rackup_ci_files.html | 4 +- puma/file_list.html | 3 +- puma/index.html | 104 ++- puma/method_list.html | 22 +- puma/top-level-namespace.html | 7 +- puma/y_index.html | 23 +- 112 files changed, 3777 insertions(+), 2199 deletions(-) create mode 100644 puma/Minitest.html create mode 100644 puma/Minitest/Assertions.html create mode 100644 puma/Puma/Const/PipeRequest.html create mode 100644 puma/TestPuma/Assertions.html create mode 100644 puma/file.java_options.html diff --git a/index.html b/index.html index d0e6918..e9ca160 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,7 @@

Speed & Concurrency

- Current Release: 6.4.3 + Current Release: 6.5.0

@@ -95,7 +95,7 @@

Resources

  • - Documentation: 6.4.3 + Documentation: 6.5.0
  • Documentation: 5.6.9 diff --git a/puma/IO.html b/puma/IO.html index 90599f8..6db9fa5 100644 --- a/puma/IO.html +++ b/puma/IO.html @@ -8,7 +8,7 @@ -Class: IO — Puma-6.4.3 +Class: IO — Puma-6.5.0 @@ -50,7 +50,7 @@
    @@ -82,7 +82,7 @@

    Class: IO

    Defined in: - lib/puma/client.rb + lib/puma/client.rb diff --git a/puma/IO/WaitReadable.html b/puma/IO/WaitReadable.html index a9863b6..6e71061 100644 --- a/puma/IO/WaitReadable.html +++ b/puma/IO/WaitReadable.html @@ -8,7 +8,7 @@ -Module: IO::WaitReadable — Puma-6.4.3 +Module: IO::WaitReadable — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (W) » IO » WaitReadable ▲ @@ -71,7 +71,7 @@

    Module: IO::WaitReadable

    Defined in: - lib/puma/client.rb + lib/puma/client.rb diff --git a/puma/IOError.html b/puma/IOError.html index cb30b75..dc7bb9a 100644 --- a/puma/IOError.html +++ b/puma/IOError.html @@ -8,7 +8,7 @@ -Exception: IOError — Puma-6.4.3 +Exception: IOError — Puma-6.5.0 @@ -50,7 +50,7 @@
    diff --git a/puma/Minitest.html b/puma/Minitest.html new file mode 100644 index 0000000..dbf1619 --- /dev/null +++ b/puma/Minitest.html @@ -0,0 +1,88 @@ + + + + + + + + + + +Module: Minitest — Puma-6.5.0 + + + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + Home » + Puma-6.5.0 » + Index (M) » + Minitest ▲ +
    + + +
    +
    + 123456789_123456789_123456789_123456789_123456789_ +
    +
    +

    Module: Minitest

    +
    + + + + + + + + + + + + +
    Relationships & Source Files
    Namespace Children
    +
    Modules:
    + +
    Defined in:test/helpers/test_puma/assertions.rb
    +
    + +
    +
    + + \ No newline at end of file diff --git a/puma/Minitest/Assertions.html b/puma/Minitest/Assertions.html new file mode 100644 index 0000000..33a777c --- /dev/null +++ b/puma/Minitest/Assertions.html @@ -0,0 +1,117 @@ + + + + + + + + + + +Module: Minitest::Assertions — Puma-6.5.0 + + + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    + + + +
    +
    + 123456789_123456789_123456789_123456789_123456789_ +
    +
    +

    Module: Minitest::Assertions

    +
    + + + + + + + + + + + + + + +
    Relationships & Source Files
    Super Chains via Extension / Inclusion / Inheritance
    +
    Instance Chain:
    + +
    Defined in:test/helpers/test_puma/assertions.rb
    +
    +

    Instance Method Summary

    +
    + +

    ::TestPuma::Assertions - Included

    +
    + + + + + + + + + + + + +
    + #assert_end_with, +
    #assert_match

    if obj is longer than 80 characters, show as string, not inspected.

    + #assert_start_with +
    +
    + + +
    +
    + + \ No newline at end of file diff --git a/puma/Object.html b/puma/Object.html index 3ebf4a8..47f3a06 100644 --- a/puma/Object.html +++ b/puma/Object.html @@ -8,7 +8,7 @@ -Class: Object — Puma-6.4.3 +Class: Object — Puma-6.5.0 @@ -50,7 +50,7 @@
    diff --git a/puma/Puma.html b/puma/Puma.html index 6cdc80e..f88c9d5 100644 --- a/puma/Puma.html +++ b/puma/Puma.html @@ -8,7 +8,7 @@ -Module: Puma — Puma-6.4.3 +Module: Puma — Puma-6.5.0 @@ -50,7 +50,7 @@
    @@ -124,22 +124,12 @@

    Module: Puma

    Defined in: - lib/rack/handler/puma.rb,
    ext/puma_http11/mini_ssl.c,
    ext/puma_http11/puma_http11.c,
    lib/puma.rb,
    lib/puma/binder.rb,
    lib/puma/cli.rb,
    lib/puma/client.rb,
    lib/puma/cluster.rb,
    lib/puma/commonlogger.rb,
    lib/puma/configuration.rb,
    lib/puma/const.rb,
    lib/puma/control_cli.rb,
    lib/puma/detect.rb,
    lib/puma/dsl.rb,
    lib/puma/error_logger.rb,
    lib/puma/events.rb,
    lib/puma/io_buffer.rb,
    lib/puma/jruby_restart.rb,
    lib/puma/json_serialization.rb,
    lib/puma/launcher.rb,
    lib/puma/log_writer.rb,
    lib/puma/minissl.rb,
    lib/puma/null_io.rb,
    lib/puma/plugin.rb,
    lib/puma/reactor.rb,
    lib/puma/request.rb,
    lib/puma/runner.rb,
    lib/puma/sd_notify.rb,
    lib/puma/server.rb,
    lib/puma/single.rb,
    lib/puma/state_file.rb,
    lib/puma/thread_pool.rb,
    lib/puma/util.rb,
    lib/puma/app/status.rb,
    lib/puma/cluster/worker.rb,
    lib/puma/cluster/worker_handle.rb,
    lib/puma/launcher/bundle_pruner.rb,
    lib/puma/minissl/context_builder.rb,
    lib/puma/rack/builder.rb
    + lib/puma.rb,
    ext/puma_http11/mini_ssl.c,
    ext/puma_http11/puma_http11.c,
    lib/puma/binder.rb,
    lib/puma/cli.rb,
    lib/puma/client.rb,
    lib/puma/cluster.rb,
    lib/puma/commonlogger.rb,
    lib/puma/configuration.rb,
    lib/puma/const.rb,
    lib/puma/control_cli.rb,
    lib/puma/detect.rb,
    lib/puma/dsl.rb,
    lib/puma/error_logger.rb,
    lib/puma/events.rb,
    lib/puma/io_buffer.rb,
    lib/puma/jruby_restart.rb,
    lib/puma/json_serialization.rb,
    lib/puma/launcher.rb,
    lib/puma/log_writer.rb,
    lib/puma/minissl.rb,
    lib/puma/null_io.rb,
    lib/puma/plugin.rb,
    lib/puma/reactor.rb,
    lib/puma/request.rb,
    lib/puma/runner.rb,
    lib/puma/sd_notify.rb,
    lib/puma/server.rb,
    lib/puma/single.rb,
    lib/puma/state_file.rb,
    lib/puma/thread_pool.rb,
    lib/puma/util.rb,
    lib/puma/app/status.rb,
    lib/puma/cluster/worker.rb,
    lib/puma/cluster/worker_handle.rb,
    lib/puma/launcher/bundle_pruner.rb,
    lib/puma/minissl/context_builder.rb,
    lib/puma/rack/builder.rb,
    lib/rack/handler/puma.rb
    -

    Overview

    -
    -
    -
    - -

    This module is used as an ‘include’ file in code at bottom of file

    - -
    -
    -

    Constant Summary

      @@ -161,12 +151,12 @@

      Constant Summary

    - # File 'lib/puma/detect.rb', line 9
    ::Process.respond_to? :fork
    + # File 'lib/puma/detect.rb', line 9
    ::Process.respond_to? :fork
  • HAS_NATIVE_IO_WAIT =
    - # File 'lib/puma/detect.rb', line 11
    ::IO.public_instance_methods(false).include? :wait_readable
    + # File 'lib/puma/detect.rb', line 11
    ::IO.public_instance_methods(false).include? :wait_readable
  • HAS_SSL = @@ -177,12 +167,12 @@

    Constant Summary

    - # File 'lib/puma.rb', line 27
    const_defined?(:MiniSSL, false) && MiniSSL.const_defined?(:Engine, false)
    + # File 'lib/puma.rb', line 27
    const_defined?(:MiniSSL, false) && MiniSSL.const_defined?(:Engine, false)
  • HAS_UNIX_SOCKET =
    - # File 'lib/puma.rb', line 29
    Object.const_defined?(:UNIXSocket) && !IS_WINDOWS
    + # File 'lib/puma.rb', line 29
    Object.const_defined?(:UNIXSocket) && !IS_WINDOWS
  • HTTP_STATUS_CODES = @@ -196,7 +186,7 @@

    Constant Summary

    - # File 'lib/puma/const.rb', line 17
    {
    +    # File 'lib/puma/const.rb', line 17    
    {
       100 => 'Continue',
       101 => 'Switching Protocols',
       102 => 'Processing',
    @@ -263,12 +253,12 @@ 

    Constant Summary

  • IS_JRUBY =
    - # File 'lib/puma/detect.rb', line 13
    Object.const_defined? :JRUBY_VERSION
    + # File 'lib/puma/detect.rb', line 13
    Object.const_defined? :JRUBY_VERSION
  • IS_LINUX =
    - # File 'lib/puma/detect.rb', line 19
    !(IS_OSX || IS_WINDOWS)
    + # File 'lib/puma/detect.rb', line 19
    !(IS_OSX || IS_WINDOWS)
  • IS_MRI = @@ -288,22 +278,22 @@

    Constant Summary

    - # File 'lib/puma/detect.rb', line 22
    RUBY_ENGINE == 'ruby'
    + # File 'lib/puma/detect.rb', line 22
    RUBY_ENGINE == 'ruby'
  • IS_OSX =
    - # File 'lib/puma/detect.rb', line 15
    RUBY_DESCRIPTION.include? 'darwin'
    + # File 'lib/puma/detect.rb', line 15
    RUBY_DESCRIPTION.include? 'darwin'
  • IS_WINDOWS =
    - # File 'lib/puma/detect.rb', line 17
    RUBY_DESCRIPTION.match?(/mswin|ming|cygwin/)
    + # File 'lib/puma/detect.rb', line 17
    RUBY_DESCRIPTION.match?(/mswin|ming|cygwin/)
  • Plugins =
    - # File 'lib/puma/plugin.rb', line 74
    PluginRegistry.new
    + # File 'lib/puma/plugin.rb', line 74
    PluginRegistry.new
  • STATUS_WITH_NO_ENTITY_BODY = @@ -314,7 +304,7 @@

    Constant Summary

    - # File 'lib/puma/const.rb', line 84
    {
    +    # File 'lib/puma/const.rb', line 84    
    {
       204 => true,
       205 => true,
       304 => true
    @@ -429,7 +419,7 @@ 

    Class Attribute Details

    .abstract_unix_socket?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -465,7 +455,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -498,7 +488,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -517,7 +507,7 @@

    .jruby?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -552,7 +542,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -571,7 +561,7 @@

    .osx?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -590,7 +580,7 @@

    .ssl?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -609,7 +599,7 @@

    .stats_object=(val) (writeonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -628,7 +618,7 @@

    .windows?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -648,7 +638,7 @@

    Class Method Details

    .set_thread_name(name)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -667,7 +657,7 @@

    .stats

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -702,7 +692,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -738,7 +728,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -757,7 +747,7 @@

    #stats_object (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/App.html b/puma/Puma/App.html index 05f8079..e8a7279 100644 --- a/puma/Puma/App.html +++ b/puma/Puma/App.html @@ -8,7 +8,7 @@ -Module: Puma::App — Puma-6.4.3 +Module: Puma::App — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (A) » Puma » App ▲ @@ -77,7 +77,7 @@

    Module: Puma::App

    Defined in: - lib/puma/app/status.rb + lib/puma/app/status.rb diff --git a/puma/Puma/App/Status.html b/puma/Puma/App/Status.html index 4dba007..1120bef 100644 --- a/puma/Puma/App/Status.html +++ b/puma/Puma/App/Status.html @@ -8,7 +8,7 @@ -Class: Puma::App::Status — Puma-6.4.3 +Class: Puma::App::Status — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (S) » Puma » App » @@ -78,7 +78,7 @@

    Class: Puma::App::Status

    Defined in: - lib/puma/app/status.rb + lib/puma/app/status.rb @@ -99,7 +99,7 @@

    Constant Summary

  • OK_STATUS =
    - # File 'lib/puma/app/status.rb', line 9
    '{ "status": "ok" }'.freeze
    + # File 'lib/puma/app/status.rb', line 9
    '{ "status": "ok" }'.freeze
  • @@ -170,7 +170,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -191,7 +191,7 @@

    Instance Method Details

    #authenticate(env) (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -218,7 +218,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -291,7 +291,7 @@

    #rack_response(status, body, content_type = 'application/json') (private)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/Binder.html b/puma/Puma/Binder.html index 3d075e8..4485c5f 100644 --- a/puma/Puma/Binder.html +++ b/puma/Puma/Binder.html @@ -8,7 +8,7 @@ -Class: Puma::Binder — Puma-6.4.3 +Class: Puma::Binder — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (B) » Puma » Binder ▲ @@ -87,7 +87,7 @@

    Class: Puma::Binder

    Defined in: - lib/puma/binder.rb + lib/puma/binder.rb @@ -98,7 +98,7 @@

    Constant Summary

  • RACK_VERSION =
    - # File 'lib/puma/binder.rb', line 20
    [1,6].freeze
    + # File 'lib/puma/binder.rb', line 20
    [1,6].freeze
  • Const - Included

    @@ -194,7 +194,7 @@

    Class Method Summary

    • - .new(log_writer, conf = Configuration.new) ⇒ Binder + .new(log_writer, conf = Configuration.new, env: ENV) ⇒ Binder constructor
    • @@ -392,7 +392,7 @@

      Constructor Details

      - .new(log_writer, conf = Configuration.new) ⇒ Binder + .new(log_writer, conf = Configuration.new, env: ENV) ⇒ Binder

      @@ -402,20 +402,21 @@

      - [ GitHub ] + [ GitHub ]
      -
      
      +  
      
         
      # File 'lib/puma/binder.rb', line 22
       
      -def initialize(log_writer, conf = Configuration.new)
      +def initialize(log_writer, conf = Configuration.new, env: ENV)
         @log_writer = log_writer
         @conf = conf
         @listeners = []
         @inherited_fds = {}
         @activated_sockets = {}
         @unix_paths = []
      +  @env = env
       
         @proto_env = {
           "rack.version".freeze => RACK_VERSION,
      @@ -424,7 +425,7 @@ 

      "rack.multiprocess".freeze => conf.options[:workers] >= 1, "rack.run_once".freeze => false, RACK_URL_SCHEME => conf.options[:rack_url_scheme], - "SCRIPT_NAME".freeze => ENV['SCRIPT_NAME'] || "", + "SCRIPT_NAME".freeze => env['SCRIPT_NAME'] || "", # I'd like to set a default CONTENT_TYPE here but some things # depend on their not being a default set and inferring @@ -465,11 +466,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 56
    +
    # File 'lib/puma/binder.rb', line 57
     
     attr_reader :activated_sockets, :envs, :inherited_fds, :listeners, :proto_env, :unix_paths
    @@ -498,11 +499,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 71
    +
    # File 'lib/puma/binder.rb', line 72
     
     def connected_ports
    @@ -533,11 +534,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 56
    +
    # File 'lib/puma/binder.rb', line 57
     
     attr_reader :activated_sockets, :envs, :inherited_fds, :listeners, :proto_env, :unix_paths
    @@ -566,11 +567,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 56
    +
    # File 'lib/puma/binder.rb', line 57
     
     attr_reader :activated_sockets, :envs, :inherited_fds, :listeners, :proto_env, :unix_paths
    @@ -583,11 +584,11 @@ 

    #ios (rw)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 53
    +
    # File 'lib/puma/binder.rb', line 54
     
     attr_reader :ios
    @@ -616,11 +617,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 59
    +
    # File 'lib/puma/binder.rb', line 60
     
     attr_writer :ios, :listeners
    @@ -649,11 +650,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 56
    +
    # File 'lib/puma/binder.rb', line 57
     
     attr_reader :activated_sockets, :envs, :inherited_fds, :listeners, :proto_env, :unix_paths
    @@ -682,11 +683,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 59
    +
    # File 'lib/puma/binder.rb', line 60
     
     attr_writer :ios, :listeners
    @@ -699,11 +700,11 @@ 

    #loopback_addresses (readonly, private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 480
    +
    # File 'lib/puma/binder.rb', line 481
     
     def loopback_addresses
    @@ -737,11 +738,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 56
    +
    # File 'lib/puma/binder.rb', line 57
     
     attr_reader :activated_sockets, :envs, :inherited_fds, :listeners, :proto_env, :unix_paths
    @@ -770,11 +771,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 56
    +
    # File 'lib/puma/binder.rb', line 57
     
     attr_reader :activated_sockets, :envs, :inherited_fds, :listeners, :proto_env, :unix_paths
    @@ -788,11 +789,11 @@ 

    Instance Method Details

    #add_ssl_listener(host, port, ctx, optimize_for_latency = true, backlog = 1024)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 353
    +
    # File 'lib/puma/binder.rb', line 354
     
     def add_ssl_listener(host, port, ctx,
    @@ -843,11 +844,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 325
    +
    # File 'lib/puma/binder.rb', line 326
     
     def add_tcp_listener(host, port, optimize_for_latency=true, backlog=1024)
    @@ -886,11 +887,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 404
    +
    # File 'lib/puma/binder.rb', line 405
     
     def add_unix_listener(path, umask=nil, mode=nil, backlog=1024)
    @@ -936,11 +937,11 @@ 

    #close

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 65
    +
    # File 'lib/puma/binder.rb', line 66
     
     def close
    @@ -955,11 +956,11 @@ 

    #close_listeners

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 451
    +
    # File 'lib/puma/binder.rb', line 452
     
     def close_listeners
    @@ -1005,15 +1006,15 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 89
    +
    # File 'lib/puma/binder.rb', line 90
     
     def create_activated_fds(env_hash)
    -  @log_writer.debug "ENV['LISTEN_FDS'] #{ENV['LISTEN_FDS'].inspect}  env_hash['LISTEN_PID'] #{env_hash['LISTEN_PID'].inspect}"
    +  @log_writer.debug "ENV['LISTEN_FDS'] #{@env['LISTEN_FDS'].inspect}  env_hash['LISTEN_PID'] #{env_hash['LISTEN_PID'].inspect}"
       return [] unless env_hash['LISTEN_FDS'] && env_hash['LISTEN_PID'].to_i == $$
       env_hash['LISTEN_FDS'].to_i.times do |index|
         sock = TCPServer.for_fd(socket_activation_fd(index))
    @@ -1054,11 +1055,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 76
    +
    # File 'lib/puma/binder.rb', line 77
     
     def create_inherited_fds(env_hash)
    @@ -1076,11 +1077,11 @@ 

    #env(sock)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 61
    +
    # File 'lib/puma/binder.rb', line 62
     
     def env(sock)
    @@ -1095,11 +1096,11 @@ 

    #inherit_ssl_listener(fd, ctx)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 384
    +
    # File 'lib/puma/binder.rb', line 385
     
     def inherit_ssl_listener(fd, ctx)
    @@ -1128,11 +1129,11 @@ 

    #inherit_tcp_listener(host, port, fd)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 346
    +
    # File 'lib/puma/binder.rb', line 347
     
     def inherit_tcp_listener(host, port, fd)
    @@ -1150,11 +1151,11 @@ 

    #inherit_unix_listener(path, fd)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 439
    +
    # File 'lib/puma/binder.rb', line 440
     
     def inherit_unix_listener(path, fd)
    @@ -1177,11 +1178,11 @@ 

    #loc_addr_str(io) (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 487
    +
    # File 'lib/puma/binder.rb', line 488
     
     def loc_addr_str(io)
    @@ -1201,11 +1202,11 @@ 

    #localhost_authority

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 302
    +
    # File 'lib/puma/binder.rb', line 303
     
     def localhost_authority
    @@ -1220,11 +1221,11 @@ 

    #localhost_authority_context

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 306
    +
    # File 'lib/puma/binder.rb', line 307
     
     def localhost_authority_context
    @@ -1247,11 +1248,11 @@ 

    #parse(binds, log_writer = nil, log_msg = 'Listening')

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 144
    +
    # File 'lib/puma/binder.rb', line 145
     
     def parse(binds, log_writer = nil, log_msg = 'Listening')
    @@ -1296,7 +1297,7 @@ 

    io = inherit_unix_listener path, fd log_writer.log "* Inherited #{str}" elsif sock = @activated_sockets.delete([ :unix, path ]) || - @activated_sockets.delete([ :unix, File.realdirpath(path) ]) + !abstract && @activated_sockets.delete([ :unix, File.realdirpath(path) ]) @unix_paths << path unless abstract || File.exist?(path) io = inherit_unix_listener path, sock log_writer.log "* Activated #{str}" @@ -1420,11 +1421,11 @@

    #redirects_for_restart

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 464
    +
    # File 'lib/puma/binder.rb', line 465
     
     def redirects_for_restart
    @@ -1457,11 +1458,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 471
    +
    # File 'lib/puma/binder.rb', line 472
     
     def redirects_for_restart_env
    @@ -1494,11 +1495,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 497
    +
    # File 'lib/puma/binder.rb', line 498
     
     def socket_activation_fd(int)
    @@ -1526,11 +1527,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/binder.rb', line 117
    +
    # File 'lib/puma/binder.rb', line 118
     
     def synthesize_binds_from_activated_fs(binds, only_matching)
    diff --git a/puma/Puma/CLI.html b/puma/Puma/CLI.html
    index 136e554..8200e4d 100644
    --- a/puma/Puma/CLI.html
    +++ b/puma/Puma/CLI.html
    @@ -8,7 +8,7 @@
     
     
     
    -Class: Puma::CLI — Puma-6.4.3
    +Class: Puma::CLI — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (C) » Puma » CLI ▲ @@ -77,7 +77,7 @@

    Class: Puma::CLI

    Defined in: - lib/puma/cli.rb + lib/puma/cli.rb @@ -97,7 +97,7 @@

    Class Method Summary

    • - .new(argv, log_writer = LogWriter.stdio, events = Events.new) ⇒ CLI + .new(argv, log_writer = LogWriter.stdio, events = Events.new, env: ENV) ⇒ CLI constructor
      @@ -138,7 +138,7 @@

      Instance Method Summary

    • - #setup_options + #setup_options(env = ENV) private
      @@ -157,7 +157,7 @@

      Constructor Details

      - .new(argv, log_writer = LogWriter.stdio, events = Events.new) ⇒ CLI + .new(argv, log_writer = LogWriter.stdio, events = Events.new, env: ENV) ⇒ CLI

      @@ -169,14 +169,14 @@

      - [ GitHub ] + [ GitHub ]
      
         
      # File 'lib/puma/cli.rb', line 27
       
      -def initialize(argv, log_writer = LogWriter.stdio, events = Events.new)
      +def initialize(argv, log_writer = LogWriter.stdio, events = Events.new, env: ENV)
         @debug = false
         @argv = argv.dup
         @log_writer = log_writer
      @@ -191,7 +191,7 @@ 

      @control_url = nil @control_options = {} - setup_options + setup_options env begin @parser.parse! @argv @@ -215,7 +215,7 @@

      end end - @launcher = Puma::Launcher.new(@conf, :log_writer => @log_writer, :events => @events, :argv => argv) + @launcher = Puma::Launcher.new(@conf, env: ENV, log_writer: @log_writer, events: @events, argv: argv) end

      @@ -227,7 +227,7 @@

      Instance Attribute Details

      #launcher (readonly)

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -245,7 +245,7 @@

      Instance Method Details

      #configure_control_url(command_line_arg) (private)

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -275,7 +275,7 @@

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -292,7 +292,7 @@

      - #setup_options (private) + #setup_options(env = ENV) (private)

      @@ -301,15 +301,15 @@

      - [ GitHub ] + [ GitHub ]
      -
      
      +  
      
         
      # File 'lib/puma/cli.rb', line 95
       
      -def setup_options
      -  @conf = Configuration.new({}, {events: @events}) do |user_config, file_config|
      +def setup_options(env = ENV)
      +  @conf = Configuration.new({}, {events: @events}, env) do |user_config, file_config|
           @parser = OptionParser.new do |o|
             o.on "-b", "--bind URI", "URI to bind to (tcp://, unix://, ssl://)" do |arg|
               user_config.bind arg
      @@ -373,6 +373,10 @@ 

      user_config.pidfile arg end + o.on "--plugin PLUGIN", "Load the given PLUGIN. Can be used multiple times to load multiple plugins." do |arg| + user_config.plugin arg + end + o.on "--preload", "Preload the app. Cluster mode only" do user_config.preload_app! end @@ -478,7 +482,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/Client.html b/puma/Puma/Client.html index e2c37f5..898b446 100644 --- a/puma/Puma/Client.html +++ b/puma/Puma/Client.html @@ -8,7 +8,7 @@ -Class: Puma::Client — Puma-6.4.3 +Class: Puma::Client — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (C) » Puma » Client ▲ @@ -90,7 +90,7 @@

    Class: Puma::Client

    Defined in: - lib/puma/client.rb + lib/puma/client.rb @@ -121,7 +121,7 @@

    Constant Summary

    - # File 'lib/puma/client.rb', line 47
    %w[compress deflate gzip].freeze
    + # File 'lib/puma/client.rb', line 47
    %w[compress deflate gzip].freeze
  • CHUNK_SIZE_INVALID = @@ -132,17 +132,17 @@

    Constant Summary

    - # File 'lib/puma/client.rb', line 50
    /[^\h]/.freeze
    + # File 'lib/puma/client.rb', line 50
    /[^\h]/.freeze
  • CHUNK_VALID_ENDING =
    - # File 'lib/puma/client.rb', line 51
    Const::LINE_END
    + # File 'lib/puma/client.rb', line 51
    Const::LINE_END
  • CHUNK_VALID_ENDING_SIZE =
    - # File 'lib/puma/client.rb', line 52
    CHUNK_VALID_ENDING.bytesize
    + # File 'lib/puma/client.rb', line 52
    CHUNK_VALID_ENDING.bytesize
  • CONTENT_LENGTH_VALUE_INVALID = @@ -153,7 +153,7 @@

    Constant Summary

    - # File 'lib/puma/client.rb', line 63
    /[^\d]/.freeze
    + # File 'lib/puma/client.rb', line 63
    /[^\d]/.freeze
  • EmptyBody = @@ -164,7 +164,7 @@

    Constant Summary

    - # File 'lib/puma/client.rb', line 69
    NullIO.new
    + # File 'lib/puma/client.rb', line 69
    NullIO.new
  • MAX_CHUNK_EXCESS = @@ -175,7 +175,7 @@

    Constant Summary

    - # File 'lib/puma/client.rb', line 60
    16 * 1024
    + # File 'lib/puma/client.rb', line 60
    16 * 1024
  • MAX_CHUNK_HEADER_SIZE = @@ -186,12 +186,12 @@

    Constant Summary

    - # File 'lib/puma/client.rb', line 56
    4096
    + # File 'lib/puma/client.rb', line 56
    4096
  • TE_ERR_MSG =
    - # File 'lib/puma/client.rb', line 65
    'Invalid Transfer-Encoding'
    + # File 'lib/puma/client.rb', line 65
    'Invalid Transfer-Encoding'
  • Const - Included

    @@ -476,6 +476,11 @@

    Instance Method Summary

    #set_timeout(val)
  • +
  • + + #tempfile_close + +
  • #timeout @@ -571,7 +576,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -627,7 +632,7 @@

    Instance Attribute Details

    #body (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -663,11 +668,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 333
    +
    # File 'lib/puma/client.rb', line 341
     
     def can_close?
    @@ -693,7 +698,7 @@ 

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -712,7 +717,7 @@

    #env (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -730,11 +735,11 @@

    #expect_proxy_proto=(val) (writeonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 338
    +
    # File 'lib/puma/client.rb', line 346
     
     def expect_proxy_proto=(val)
    @@ -756,7 +761,7 @@ 

    #hijacked (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -774,7 +779,7 @@

    #http_content_length_limit=(value) (writeonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -791,7 +796,7 @@

    #http_content_length_limit_exceeded (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -809,7 +814,7 @@

    #in_data_phase (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -828,7 +833,7 @@

    #inspect (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -847,7 +852,7 @@

    #io (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -865,7 +870,7 @@

    #io_buffer (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -893,7 +898,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -912,7 +917,7 @@

    #listener (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -929,11 +934,11 @@

    #peerip (rw)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 307
    +
    # File 'lib/puma/client.rb', line 315
     
     def peerip
    @@ -956,7 +961,7 @@ 

    #peerip=(value) (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -973,7 +978,7 @@

    #ready (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -991,7 +996,7 @@

    #remote_addr_header (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1008,7 +1013,7 @@

    #tempfile (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1026,7 +1031,7 @@

    #timeout_at (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1044,7 +1049,7 @@

    #to_io (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1063,11 +1068,11 @@

    Instance Method Details

    #above_http_content_limit(value) (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 655
    +
    # File 'lib/puma/client.rb', line 678
     
     def above_http_content_limit(value)
    @@ -1089,7 +1094,7 @@ 

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1109,14 +1114,15 @@

    #close

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 197
    +
    # File 'lib/puma/client.rb', line 194
     
     def close
    +  tempfile_close
       begin
         @io.close
       rescue IOError, Errno::EBADF
    @@ -1132,11 +1138,11 @@ 

    #decode_chunk(chunk) (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 526
    +
    # File 'lib/puma/client.rb', line 549
     
     def decode_chunk(chunk)
    @@ -1243,7 +1249,7 @@ 

    @partial_part_left = len - part.size end else - if @prev_chunk.size + chunk.size >= MAX_CHUNK_HEADER_SIZE + if @prev_chunk.size + line.size >= MAX_CHUNK_HEADER_SIZE raise HttpParserError, "maximum size of chunk header exceeded" end @@ -1268,11 +1274,11 @@

    #eagerly_finish

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 284
    +
    # File 'lib/puma/client.rb', line 292
     
     def eagerly_finish
    @@ -1289,11 +1295,11 @@ 

    #finish(timeout)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 290
    +
    # File 'lib/puma/client.rb', line 298
     
     def finish(timeout)
    @@ -1309,11 +1315,11 @@ 

    #peer_family

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 319
    +
    # File 'lib/puma/client.rb', line 327
     
     def peer_family
    @@ -1334,11 +1340,11 @@ 

    #read_body (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 433
    +
    # File 'lib/puma/client.rb', line 456
     
     def read_body
    @@ -1394,17 +1400,17 @@ 

    #read_chunked_body (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 478
    +
    # File 'lib/puma/client.rb', line 501
     
     def read_chunked_body
       while true
         begin
    -      chunk = @io.read_nonblock(4096, @read_buffer)
    +      chunk = @io.read_nonblock(CHUNK_SIZE, @read_buffer)
         rescue IO::WaitReadable
           return false
         rescue SystemCallError, IOError
    @@ -1434,9 +1440,9 @@ 

    #reset(fast_check = true)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    # File 'lib/puma/client.rb', line 157
    @@ -1447,8 +1453,6 @@ 

    @read_header = true @read_proxy = !!@expect_proxy_proto @env = @proto_env.dup - @body = nil - @tempfile = nil @parsed_bytes = 0 @ready = false @body_remain = 0 @@ -1477,7 +1481,6 @@

    rescue IOError # swallow it end - end end

    @@ -1489,11 +1492,11 @@

    #set_ready (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 647
    +
    # File 'lib/puma/client.rb', line 670
     
     def set_ready
    @@ -1512,7 +1515,7 @@ 

    #set_timeout(val)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1531,11 +1534,11 @@

    #setup_body (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 351
    +
    # File 'lib/puma/client.rb', line 359
     
     def setup_body
    @@ -1593,18 +1596,33 @@ 

    return true end - remain = cl.to_i - body.bytesize + content_length = cl.to_i + + remain = content_length - body.bytesize if remain <= 0 - @body = StringIO.new(body) - @buffer = nil + # Part of the body is a pipelined request OR garbage. We'll deal with that later. + if content_length == 0 + @body = EmptyBody + if body.empty? + @buffer = nil + else + @buffer = body + end + elsif remain == 0 + @body = StringIO.new body + @buffer = nil + else + @body = StringIO.new(body[0,content_length]) + @buffer = body[content_length..-1] + end set_ready return true end if remain > MAX_BODY - @body = Tempfile.new(Const::PUMA_TMP_BASE) - @body.unlink + @body = Tempfile.create(Const::PUMA_TMP_BASE) + File.unlink @body.path unless IS_WINDOWS @body.binmode @tempfile = @body else @@ -1628,11 +1646,11 @@

    #setup_chunked_body(body) (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 503
    +
    # File 'lib/puma/client.rb', line 526
     
     def setup_chunked_body(body)
    @@ -1641,8 +1659,8 @@ 

    @prev_chunk = "" @excess_cr = 0 - @body = Tempfile.new(Const::PUMA_TMP_BASE) - @body.unlink + @body = Tempfile.create(Const::PUMA_TMP_BASE) + File.unlink @body.path unless IS_WINDOWS @body.binmode @tempfile = @body @chunked_content_length = 0 @@ -1657,6 +1675,30 @@

    +
    +

    + #tempfile_close +

    + [ GitHub ] +
    +
    
    +  
    +
    # File 'lib/puma/client.rb', line 203
    +
    +
    +def tempfile_close
    +  tf_path = @tempfile&.path
    +  @tempfile&.close
    +  File.unlink(tf_path) if tf_path
    +  @tempfile = nil
    +  @body = nil
    +rescue Errno::ENOENT, IOError
    +end
    +
    +
    +
    +
    +

    #timeout @@ -1668,7 +1710,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1701,11 +1743,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 295
    +
    # File 'lib/puma/client.rb', line 303
     
     def timeout!
    @@ -1721,11 +1763,11 @@ 

    #try_to_finish

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 229
    +
    # File 'lib/puma/client.rb', line 236
     
     def try_to_finish
    @@ -1742,6 +1784,7 @@ 

    return read_body if in_data_phase + data = nil begin data = @io.read_nonblock(CHUNK_SIZE) rescue IO::WaitReadable @@ -1798,11 +1841,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 207
    +
    # File 'lib/puma/client.rb', line 214
     
     def try_to_parse_proxy_protocol
    @@ -1851,11 +1894,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 522
    +
    # File 'lib/puma/client.rb', line 545
     
     def write_chunk(str)
    @@ -1870,11 +1913,11 @@ 

    #write_error(status_code)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/client.rb', line 300
    +
    # File 'lib/puma/client.rb', line 308
     
     def write_error(status_code)
    diff --git a/puma/Puma/Cluster.html b/puma/Puma/Cluster.html
    index 2e8d5f4..5fd2de5 100644
    --- a/puma/Puma/Cluster.html
    +++ b/puma/Puma/Cluster.html
    @@ -8,7 +8,7 @@
     
     
     
    -Class: Puma::Cluster — Puma-6.4.3
    +Class: Puma::Cluster — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (C) » Puma » Cluster ▲ @@ -108,7 +108,7 @@

    Class: Puma::Cluster

    Defined in: - lib/puma/cluster.rb,
    lib/puma/cluster/worker.rb,
    lib/puma/cluster/worker_handle.rb
    + lib/puma/cluster.rb,
    lib/puma/cluster/worker.rb,
    lib/puma/cluster/worker_handle.rb
    @@ -218,7 +218,7 @@

    R #redirected_io?, - #ruby_engine, + #ruby_engine, #test? @@ -338,6 +338,12 @@

    Instance Method Summary

    private

  • +
  • + + #idle_workers + + private +
  • #single_worker_warning @@ -407,7 +413,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -433,7 +439,7 @@

    Instance Attribute Details

    #all_workers_booted?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -452,7 +458,7 @@

    #all_workers_idle_timed_out?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -471,7 +477,7 @@

    #all_workers_in_phase?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -490,7 +496,7 @@

    #next_worker_index (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -512,7 +518,7 @@

    #preload?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -538,7 +544,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -587,7 +593,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -605,7 +611,7 @@

    Instance Method Details

    #check_workers

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -652,7 +658,7 @@

    #cull_start_index(diff)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -676,7 +682,7 @@

    #cull_workers

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -721,7 +727,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -743,7 +749,7 @@

    #halt

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -763,15 +769,34 @@

    #idle_timed_out_worker_pids (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/cluster.rb', line 604
    +
    # File 'lib/puma/cluster.rb', line 608
     
     def idle_timed_out_worker_pids
    -  @idle_workers.keys
    +  idle_workers.keys
    +end
    +
    +
    +
    + + +
    +

    + #idle_workers (private) +

    + [ GitHub ] +
    +
    
    +  
    +
    # File 'lib/puma/cluster.rb', line 612
    +
    +
    +def idle_workers
    +  @idle_workers ||= {}
     end
     
    @@ -782,7 +807,7 @@

    #phased_restart(refork = false)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -806,7 +831,7 @@

    #redirect_io

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -827,7 +852,7 @@

    #reload_worker_directory

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -848,7 +873,7 @@

    #restart

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -868,9 +893,9 @@

    #run

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    # File 'lib/puma/cluster.rb', line 348
    @@ -878,8 +903,6 @@ 

    def run @status = :run - @idle_workers = {} - output_header "cluster" # This is aligned with the output from Runner, see Runner#output_header @@ -970,7 +993,7 @@

    while @status == :run begin - if all_workers_idle_timed_out? + if @options[:idle_timeout] && all_workers_idle_timed_out? log "- All workers reached idle timeout" break end @@ -986,14 +1009,17 @@

    if read.wait_readable([0, @next_check - Time.now].max) req = read.read_nonblock(1) + next unless req - @next_check = Time.now if req == "!" - next if !req || req == "!" + if req == Puma::Const::PipeRequest::WAKEUP + @next_check = Time.now + next + end result = read.gets pid = result.to_i - if req == "b" || req == "f" + if req == Puma::Const::PipeRequest::BOOT || req == Puma::Const::PipeRequest::FORK pid, idx = result.split(':').map(&:to_i) w = worker_at idx w.pid = pid if w.pid.nil? @@ -1001,17 +1027,17 @@

    if w = @workers.find { |x| x.pid == pid } case req - when "b" + when Puma::Const::PipeRequest::BOOT w.boot! log "- Worker #{w.index} (PID: #{pid}) booted in #{w.uptime.round(2)}s, phase: #{w.phase}" @next_check = Time.now workers_not_booted -= 1 - when "e" + when Puma::Const::PipeRequest::EXTERNAL_TERM # external term, see worker method, Signal.trap "SIGTERM" w.term! - when "t" + when Puma::Const::PipeRequest::TERM w.term unless w.term? - when "p" + when Puma::Const::PipeRequest::PING status = result.sub(/^\d+/,'').chomp w.ping!(status) @events.fire(:ping!, w) @@ -1026,11 +1052,11 @@

    debug_loaded_extensions("Loaded Extensions - master:") if @log_writer.debug? booted = true end - when "i" - if @idle_workers[pid] - @idle_workers.delete pid + when Puma::Const::PipeRequest::IDLE + if idle_workers[pid] + idle_workers.delete pid else - @idle_workers[pid] = true + idle_workers[pid] = true end end else @@ -1072,7 +1098,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1138,11 +1164,11 @@

    #single_worker_warning (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/cluster.rb', line 532
    +
    # File 'lib/puma/cluster.rb', line 533
     
     def single_worker_warning
    @@ -1178,7 +1204,7 @@ 

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1207,7 +1233,7 @@

    #spawn_workers

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1250,7 +1276,7 @@

    #start_phased_restart

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1277,7 +1303,7 @@

    #stop

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1297,7 +1323,7 @@

    #stop_blocked

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1319,7 +1345,7 @@

    #stop_workers

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1365,11 +1391,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/cluster.rb', line 590
    +
    # File 'lib/puma/cluster.rb', line 594
     
     def timeout_workers
    @@ -1401,11 +1427,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/cluster.rb', line 543
    +
    # File 'lib/puma/cluster.rb', line 544
     
     def wait_workers
    @@ -1428,9 +1454,12 @@ 

    @workers.reject! do |w| next false if w.pid.nil? begin - # When `fork_worker` is enabled, some worker may not be direct children, but grand children. - # Because of this they won't be reaped by `Process.wait2(-1)`, so we need to check them individually) - if reaped_children.delete(w.pid) || (@options[:fork_worker] && Process.wait(w.pid, Process::WNOHANG)) + # We may need to check the PID individually because: + # 1. From Ruby versions 2.6 to 3.2, `Process.detach` can prevent or delay + # `Process.wait2(-1)` from detecting a terminated process: https://bugs.ruby-lang.org/issues/19837. + # 2. When `fork_worker` is enabled, some worker may not be direct children, + # but grand children. Because of this they won't be reaped by `Process.wait2(-1)`. + if reaped_children.delete(w.pid) || Process.wait(w.pid, Process::WNOHANG) true else w.term if w.term? @@ -1462,7 +1491,7 @@

    #worker(index, master)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1499,7 +1528,7 @@

    #worker_at(idx)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1518,7 +1547,7 @@

    #workers_to_cull(diff)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/Cluster/Worker.html b/puma/Puma/Cluster/Worker.html index ef5bf4e..3e91618 100644 --- a/puma/Puma/Cluster/Worker.html +++ b/puma/Puma/Cluster/Worker.html @@ -8,7 +8,7 @@ -Class: Puma::Cluster::Worker — Puma-6.4.3 +Class: Puma::Cluster::Worker — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (W) » Puma » Cluster » @@ -105,7 +105,7 @@

    Class: Puma::Cluster::Worker

    Defined in: - lib/puma/cluster/worker.rb + lib/puma/cluster/worker.rb @@ -178,7 +178,7 @@

    #redirected_io?, - #ruby_engine, + #ruby_engine, #test? @@ -248,7 +248,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -277,7 +277,7 @@

    Instance Attribute Details

    #index (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -294,7 +294,7 @@

    #master (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -312,7 +312,7 @@

    Instance Method Details

    #run

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -384,21 +384,21 @@

    restart_server << true << false else # fork worker worker_pids << pid = spawn_worker(idx) - @worker_write << "f#{pid}:#{idx}\n" rescue nil + @worker_write << "#{Puma::Const::PipeRequest::FORK}#{pid}:#{idx}\n" rescue nil end end end end Signal.trap "SIGTERM" do - @worker_write << "e#{Process.pid}\n" rescue nil + @worker_write << "#{Puma::Const::PipeRequest::EXTERNAL_TERM}#{Process.pid}\n" rescue nil restart_server.clear server.stop restart_server << false end begin - @worker_write << "b#{Process.pid}:#{index}\n" + @worker_write << "#{Puma::Const::PipeRequest::BOOT}#{Process.pid}:#{index}\n" rescue SystemCallError, IOError Puma::Util.purge_interrupt_queue STDERR.puts "Master seems to have exited, exiting." @@ -423,7 +423,7 @@

    t = server.pool_capacity || 0 m = server.max_threads || 0 rc = server.requests_count || 0 - payload = %Q!#{base_payload}{ "backlog":#{b}, "running":#{r}, "pool_capacity":#{t}, "max_threads": #{m}, "requests_count": #{rc} }\n! + payload = %Q!#{base_payload}{ "backlog":#{b}, "running":#{r}, "pool_capacity":#{t}, "max_threads":#{m}, "requests_count":#{rc} }\n! io << payload rescue IOError Puma::Util.purge_interrupt_queue @@ -439,7 +439,7 @@

    # exiting until any background operations are completed @config.run_hooks(:before_worker_shutdown, index, @log_writer, @hook_data) ensure - @worker_write << "t#{Process.pid}\n" rescue nil + @worker_write << "#{Puma::Const::PipeRequest::TERM}#{Process.pid}\n" rescue nil @worker_write.close end

    @@ -451,7 +451,7 @@

    #spawn_worker(idx) (private)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/Cluster/WorkerHandle.html b/puma/Puma/Cluster/WorkerHandle.html index c4d7e61..21a763b 100644 --- a/puma/Puma/Cluster/WorkerHandle.html +++ b/puma/Puma/Cluster/WorkerHandle.html @@ -8,7 +8,7 @@ -Class: Puma::Cluster::WorkerHandle — Puma-6.4.3 +Class: Puma::Cluster::WorkerHandle — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (W) » Puma » Cluster » @@ -81,7 +81,7 @@

    Class: Puma::Cluster::WorkerHandle

    Defined in: - lib/puma/cluster/worker_handle.rb + lib/puma/cluster/worker_handle.rb @@ -96,6 +96,18 @@

    Overview

    +

    Constant Summary

    +
    +
      +
    • + STATUS_PATTERN = + private +
      + # File 'lib/puma/cluster/worker_handle.rb', line 54
      /{ "backlog":(?<backlog>\d*), "running":(?<running>\d*), "pool_capacity":(?<pool_capacity>\d*), "max_threads":(?<max_threads>\d*), "requests_count":(?<requests_count>\d*) }/
      +
    • +
    +
    +

    Class Method Summary

      @@ -240,7 +252,7 @@

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -270,7 +282,7 @@

      Instance Attribute Details

      #booted?Boolean (readonly)

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -289,7 +301,7 @@

      #index (readonly)

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -306,7 +318,7 @@

      #last_checkin (readonly)

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -323,7 +335,7 @@

      #last_status (readonly)

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -340,7 +352,7 @@

      #phase (rw)

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -373,7 +385,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -390,7 +402,7 @@

    #pid (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -423,7 +435,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -440,7 +452,7 @@

    #signal (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -457,7 +469,7 @@

    #started_at (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -474,7 +486,7 @@

    #term?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -494,7 +506,7 @@

    Instance Method Details

    #boot!

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -514,11 +526,11 @@

    #hup

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/cluster/worker_handle.rb', line 91
    +
    # File 'lib/puma/cluster/worker_handle.rb', line 90
     
     def hup
    @@ -534,11 +546,11 @@ 

    #kill

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/cluster/worker_handle.rb', line 86
    +
    # File 'lib/puma/cluster/worker_handle.rb', line 85
     
     def kill
    @@ -554,20 +566,16 @@ 

    #ping!(status)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/cluster/worker_handle.rb', line 54
    +
    # File 'lib/puma/cluster/worker_handle.rb', line 57
     
     def ping!(status)
       @last_checkin = Time.now
    -  captures = status.match(/{ "backlog":(?<backlog>\d*), "running":(?<running>\d*), "pool_capacity":(?<pool_capacity>\d*), "max_threads": (?<max_threads>\d*), "requests_count": (?<requests_count>\d*) }/)
    -  @last_status = captures.names.inject({}) do |hash, key|
    -    hash[key.to_sym] = captures[key].to_i
    -    hash
    -  end
    +  @last_status = status.match(STATUS_PATTERN).named_captures.map { |c_name, c| [c_name.to_sym, c.to_i] }.to_h
     end
     
    @@ -598,11 +606,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/cluster/worker_handle.rb', line 65
    +
    # File 'lib/puma/cluster/worker_handle.rb', line 64
     
     def ping_timeout
    @@ -621,11 +629,11 @@ 

    #term (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/cluster/worker_handle.rb', line 73
    +
    # File 'lib/puma/cluster/worker_handle.rb', line 72
     
     def term
    @@ -649,7 +657,7 @@ 

    #term!

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -668,7 +676,7 @@

    #uptime

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/CommonLogger.html b/puma/Puma/CommonLogger.html index ddabedc..8fe43d4 100644 --- a/puma/Puma/CommonLogger.html +++ b/puma/Puma/CommonLogger.html @@ -8,7 +8,7 @@ -Class: Puma::CommonLogger — Puma-6.4.3 +Class: Puma::CommonLogger — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (C) » Puma » CommonLogger ▲ @@ -77,7 +77,7 @@

    Class: Puma::CommonLogger

    Defined in: - lib/puma/commonlogger.rb + lib/puma/commonlogger.rb @@ -102,7 +102,7 @@

    Constant Summary

  • CONTENT_LENGTH =
    - # File 'lib/puma/commonlogger.rb', line 30
    'Content-Length'
    + # File 'lib/puma/commonlogger.rb', line 30
    'Content-Length'
  • FORMAT = @@ -117,12 +117,12 @@

    Constant Summary

  • - # File 'lib/puma/commonlogger.rb', line 24
    %{%s - %s [%s] "%s %s%s %s" %d %s %0.4f\n}
    + # File 'lib/puma/commonlogger.rb', line 24
    %{%s - %s [%s] "%s %s%s %s" %d %s %0.4f\n}

  • HIJACK_FORMAT =
    - # File 'lib/puma/commonlogger.rb', line 26
    %{%s - %s [%s] "%s %s%s %s" HIJACKED -1 %0.4f\n}
    + # File 'lib/puma/commonlogger.rb', line 26
    %{%s - %s [%s] "%s %s%s %s" HIJACKED -1 %0.4f\n}
  • HTTP_VERSION = @@ -133,42 +133,42 @@

    Constant Summary

    - # File 'lib/puma/commonlogger.rb', line 32
    Const::HTTP_VERSION
    + # File 'lib/puma/commonlogger.rb', line 32
    Const::HTTP_VERSION
  • HTTP_X_FORWARDED_FOR =
    - # File 'lib/puma/commonlogger.rb', line 33
    Const::HTTP_X_FORWARDED_FOR
    + # File 'lib/puma/commonlogger.rb', line 33
    Const::HTTP_X_FORWARDED_FOR
  • LOG_TIME_FORMAT =
    - # File 'lib/puma/commonlogger.rb', line 28
    '%d/%b/%Y:%H:%M:%S %z'
    + # File 'lib/puma/commonlogger.rb', line 28
    '%d/%b/%Y:%H:%M:%S %z'
  • PATH_INFO =
    - # File 'lib/puma/commonlogger.rb', line 34
    Const::PATH_INFO
    + # File 'lib/puma/commonlogger.rb', line 34
    Const::PATH_INFO
  • QUERY_STRING =
    - # File 'lib/puma/commonlogger.rb', line 35
    Const::QUERY_STRING
    + # File 'lib/puma/commonlogger.rb', line 35
    Const::QUERY_STRING
  • REMOTE_ADDR =
    - # File 'lib/puma/commonlogger.rb', line 36
    Const::REMOTE_ADDR
    + # File 'lib/puma/commonlogger.rb', line 36
    Const::REMOTE_ADDR
  • REMOTE_USER =
    - # File 'lib/puma/commonlogger.rb', line 37
    'REMOTE_USER'
    + # File 'lib/puma/commonlogger.rb', line 37
    'REMOTE_USER'
  • REQUEST_METHOD =
    - # File 'lib/puma/commonlogger.rb', line 38
    Const::REQUEST_METHOD
    + # File 'lib/puma/commonlogger.rb', line 38
    Const::REQUEST_METHOD
  • @@ -233,7 +233,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -254,7 +254,7 @@

    Instance Method Details

    #call(env)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -285,7 +285,7 @@

    #extract_content_length(headers) (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -305,7 +305,7 @@

    #log(env, status, header, began_at) (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -339,7 +339,7 @@

    #log_hijacking(env, status, header, began_at) (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -370,7 +370,7 @@

    #write(msg) (private)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/Configuration.html b/puma/Puma/Configuration.html index cd53ca2..daba55c 100644 --- a/puma/Puma/Configuration.html +++ b/puma/Puma/Configuration.html @@ -8,7 +8,7 @@ -Class: Puma::Configuration — Puma-6.4.3 +Class: Puma::Configuration — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (C) » Puma » Configuration ▲ @@ -83,7 +83,7 @@

    Class: Puma::Configuration

    Defined in: - lib/puma/configuration.rb + lib/puma/configuration.rb @@ -125,11 +125,12 @@

    Constant Summary

  • DEFAULTS =
    - # File 'lib/puma/configuration.rb', line 129
    {
    +    # File 'lib/puma/configuration.rb', line 128    
    {
       auto_trim_time: 30,
       binds: ['tcp://0.0.0.0:9292'.freeze],
       clean_thread_locals: false,
       debug: false,
    +  enable_keep_alives: true,
       early_hints: nil,
       environment: 'development'.freeze,
       # Number of seconds to wait until we get the first data for the request.
    @@ -180,7 +181,7 @@ 

    Class Method Summary

  • +
  • + + #require_processor_counter + + private +
  • Constructor Details

    - .new(user_options = {}, default_options = {}, &block) ⇒ Configuration + .new(user_options = {}, default_options = {}, env = ENV, &block) ⇒ Configuration

    @@ -343,15 +350,15 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    # File 'lib/puma/configuration.rb', line 176
     
    -def initialize(user_options={}, default_options = {}, &block)
    -  default_options = self.puma_default_options.merge(default_options)
    +def initialize(user_options={}, default_options = {}, env = ENV, &block)
    +  default_options = self.puma_default_options(env).merge(default_options)
     
       @options     = UserFileDefaultOptions.new(user_options, default_options)
       @plugins     = PluginLoader.new
    @@ -363,6 +370,8 @@ 

    default_options[:preload_app] = (@options[:workers] > 1) && Puma.forkable? end + @puma_bundler_pruned = env.key? 'PUMA_BUNDLER_PRUNED' + if block configure(&block) end @@ -377,11 +386,11 @@

    Class Method Details

    .random_token (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 383
    +
    # File 'lib/puma/configuration.rb', line 399
     
     def self.random_token
    @@ -398,11 +407,11 @@ 

    .temp_path

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 333
    +
    # File 'lib/puma/configuration.rb', line 340
     
     def self.temp_path
    @@ -431,11 +440,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 278
    +
    # File 'lib/puma/configuration.rb', line 285
     
     def app_configured?
    @@ -450,11 +459,11 @@ 

    #options (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 194
    +
    # File 'lib/puma/configuration.rb', line 196
     
     attr_reader :options, :plugins
    @@ -467,11 +476,11 @@ 

    #plugins (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 194
    +
    # File 'lib/puma/configuration.rb', line 196
     
     attr_reader :options, :plugins
    @@ -492,11 +501,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 289
    +
    # File 'lib/puma/configuration.rb', line 296
     
     def app
    @@ -526,11 +535,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 259
    +
    # File 'lib/puma/configuration.rb', line 266
     
     def clamp
    @@ -545,11 +554,11 @@ 

    #config_files

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 244
    +
    # File 'lib/puma/configuration.rb', line 251
     
     def config_files
    @@ -573,11 +582,11 @@ 

    #configure

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 196
    +
    # File 'lib/puma/configuration.rb', line 198
     
     def configure
    @@ -603,11 +612,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 302
    +
    # File 'lib/puma/configuration.rb', line 309
     
     def environment
    @@ -622,11 +631,11 @@ 

    #final_options

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 329
    +
    # File 'lib/puma/configuration.rb', line 336
     
     def final_options
    @@ -641,11 +650,11 @@ 

    #flatten

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 210
    +
    # File 'lib/puma/configuration.rb', line 212
     
     def flatten
    @@ -660,11 +669,11 @@ 

    #flatten!

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 214
    +
    # File 'lib/puma/configuration.rb', line 216
     
     def flatten!
    @@ -680,11 +689,11 @@ 

    #initialize_copy(other)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 204
    +
    # File 'lib/puma/configuration.rb', line 206
     
     def initialize_copy(other)
    @@ -701,11 +710,11 @@ 

    #load

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 238
    +
    # File 'lib/puma/configuration.rb', line 245
     
     def load
    @@ -722,11 +731,11 @@ 

    #load_plugin(name)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 306
    +
    # File 'lib/puma/configuration.rb', line 313
     
     def load_plugin(name)
    @@ -741,11 +750,11 @@ 

    #load_rackup (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 365
    +
    # File 'lib/puma/configuration.rb', line 381
     
     def load_rackup
    @@ -772,18 +781,18 @@ 

    - #puma_default_options + #puma_default_options(env = ENV)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 219
    +
    # File 'lib/puma/configuration.rb', line 221
     
    -def puma_default_options
    +def puma_default_options(env = ENV)
       defaults = DEFAULTS.dup
    -  puma_options_from_env.each { |k,v| defaults[k] = v if v }
    +  puma_options_from_env(env).each { |k,v| defaults[k] = v if v }
       defaults
     end
     
    @@ -793,25 +802,30 @@

    - #puma_options_from_env + #puma_options_from_env(env = ENV)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 225
    +
    # File 'lib/puma/configuration.rb', line 227
     
    -def puma_options_from_env
    -  min = ENV['PUMA_MIN_THREADS'] || ENV['MIN_THREADS']
    -  max = ENV['PUMA_MAX_THREADS'] || ENV['MAX_THREADS']
    -  workers = ENV['WEB_CONCURRENCY']
    +def puma_options_from_env(env = ENV)
    +  min = env['PUMA_MIN_THREADS'] || env['MIN_THREADS']
    +  max = env['PUMA_MAX_THREADS'] || env['MAX_THREADS']
    +  workers = if env['WEB_CONCURRENCY'] == 'auto'
    +    require_processor_counter
    +    ::Concurrent.available_processor_count
    +  else
    +    env['WEB_CONCURRENCY']
    +  end
     
       {
    -    min_threads: min && Integer(min),
    -    max_threads: max && Integer(max),
    -    workers: workers && Integer(workers),
    -    environment: ENV['APP_ENV'] || ENV['RACK_ENV'] || ENV['RAILS_ENV'],
    +    min_threads: min && min != "" && Integer(min),
    +    max_threads: max && max != "" && Integer(max),
    +    workers: workers && workers != "" && Integer(workers),
    +    environment: env['APP_ENV'] || env['RACK_ENV'] || env['RAILS_ENV'],
       }
     end
     
    @@ -830,17 +844,17 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 344
    +
    # File 'lib/puma/configuration.rb', line 361
     
     def rack_builder
       # Load bundler now if we can so that we can pickup rack from
       # a Gemfile
    -  if ENV.key? 'PUMA_BUNDLER_PRUNED'
    +  if @puma_bundler_pruned
         begin
           require 'bundler/setup'
         rescue LoadError
    @@ -850,11 +864,10 @@ 

    begin require 'rack' require 'rack/builder' + ::Rack::Builder rescue LoadError - # ok, use builtin version - return Puma::Rack::Builder - else - return ::Rack::Builder + require_relative 'rack/builder' + Puma::Rack::Builder end end

    @@ -866,11 +879,11 @@

    #rackup

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 282
    +
    # File 'lib/puma/configuration.rb', line 289
     
     def rackup
    @@ -881,6 +894,31 @@ 

    +
    +

    + #require_processor_counter (private) +

    + [ GitHub ] +
    +
    
    +  
    +
    # File 'lib/puma/configuration.rb', line 349
    +
    +
    +def require_processor_counter
    +  require 'concurrent/utility/processor_counter'
    +rescue LoadError
    +  warn <<~MESSAGE
    +    WEB_CONCURRENCY=auto requires the "concurrent-ruby" gem to be installed.
    +    Please add "concurrent-ruby" to your Gemfile.
    +  MESSAGE
    +  raise
    +end
    +
    +
    +
    +
    +

    #run_hooks(key, arg, log_writer, hook_data = nil) @@ -910,11 +948,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 313
    +
    # File 'lib/puma/configuration.rb', line 320
     
     def run_hooks(key, arg, log_writer, hook_data = nil)
    diff --git a/puma/Puma/Configuration/ConfigMiddleware.html b/puma/Puma/Configuration/ConfigMiddleware.html
    index 0995a8c..a723d59 100644
    --- a/puma/Puma/Configuration/ConfigMiddleware.html
    +++ b/puma/Puma/Configuration/ConfigMiddleware.html
    @@ -8,7 +8,7 @@
     
     
     
    -Class: Puma::Configuration::ConfigMiddleware — Puma-6.4.3
    +Class: Puma::Configuration::ConfigMiddleware — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (C) » Puma » Configuration » @@ -78,7 +78,7 @@

    Class: Puma::Configuration::ConfigMiddleware

    Defined in: - lib/puma/configuration.rb + lib/puma/configuration.rb @@ -129,11 +129,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 265
    +
    # File 'lib/puma/configuration.rb', line 272
     
     def initialize(config, app)
    @@ -150,11 +150,11 @@ 

    Instance Method Details

    #call(env)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 270
    +
    # File 'lib/puma/configuration.rb', line 277
     
     def call(env)
    diff --git a/puma/Puma/ConnectionError.html b/puma/Puma/ConnectionError.html
    index f132b5e..101dff8 100644
    --- a/puma/Puma/ConnectionError.html
    +++ b/puma/Puma/ConnectionError.html
    @@ -8,7 +8,7 @@
     
     
     
    -Exception: Puma::ConnectionError — Puma-6.4.3
    +Exception: Puma::ConnectionError — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (C) » Puma » ConnectionError ▲ @@ -101,7 +101,7 @@

    Exception: Puma::ConnectionError

    Defined in: - lib/puma/client.rb + lib/puma/client.rb diff --git a/puma/Puma/Const.html b/puma/Puma/Const.html index 7cfb4b2..ce000b7 100644 --- a/puma/Puma/Const.html +++ b/puma/Puma/Const.html @@ -8,7 +8,7 @@ -Module: Puma::Const — Puma-6.4.3 +Module: Puma::Const — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (C) » Puma » Const ▲ @@ -69,6 +69,12 @@

    Module: Puma::Const

    Relationships & Source Files + Namespace Children + +
    Modules:
    + + Extension / Inclusion / Inheritance Descendants
    Included In:
    @@ -82,7 +88,7 @@

    Module: Puma::Const

    Defined in: - lib/puma/const.rb + lib/puma/const.rb @@ -113,17 +119,17 @@

    Constant Summary

    - # File 'lib/puma/const.rb', line 293
    /\A(rack\.|status\z)/.freeze
    + # File 'lib/puma/const.rb', line 293
    /\A(rack\.|status\z)/.freeze
  • CGI_VER =
    - # File 'lib/puma/const.rb', line 224
    "CGI/1.2"
    + # File 'lib/puma/const.rb', line 224
    "CGI/1.2"
  • CHUNKED =
    - # File 'lib/puma/const.rb', line 265
    "chunked"
    + # File 'lib/puma/const.rb', line 265
    "chunked"
  • CHUNK_SIZE = @@ -134,57 +140,57 @@

    Constant Summary

  • - # File 'lib/puma/const.rb', line 140
    16 * 1024
    + # File 'lib/puma/const.rb', line 140
    64 * 1024
  • CLOSE =
    - # File 'lib/puma/const.rb', line 251
    "close"
    + # File 'lib/puma/const.rb', line 251
    "close"
  • CLOSE_CHUNKED =
    - # File 'lib/puma/const.rb', line 263
    "0\r\n\r\n"
    + # File 'lib/puma/const.rb', line 263
    "0\r\n\r\n"
  • CODE_NAME =
    - # File 'lib/puma/const.rb', line 104
    "The Eagle of Durango"
    + # File 'lib/puma/const.rb', line 104
    "Sky's Version"
  • COLON =
    - # File 'lib/puma/const.rb', line 267
    ": "
    + # File 'lib/puma/const.rb', line 267
    ": "
  • CONNECTION_CLOSE =
    - # File 'lib/puma/const.rb', line 259
    "Connection: close\r\n"
    + # File 'lib/puma/const.rb', line 259
    "Connection: close\r\n"
  • CONNECTION_KEEP_ALIVE =
    - # File 'lib/puma/const.rb', line 260
    "Connection: Keep-Alive\r\n"
    + # File 'lib/puma/const.rb', line 260
    "Connection: Keep-Alive\r\n"
  • CONTENT_LENGTH =
    - # File 'lib/puma/const.rb', line 118
    "CONTENT_LENGTH"
    + # File 'lib/puma/const.rb', line 118
    "CONTENT_LENGTH"
  • CONTENT_LENGTH2 =
    - # File 'lib/puma/const.rb', line 254
    "content-length"
    + # File 'lib/puma/const.rb', line 254
    "content-length"
  • CONTENT_LENGTH_S =
    - # File 'lib/puma/const.rb', line 255
    "Content-Length: "
    + # File 'lib/puma/const.rb', line 255
    "Content-Length: "
  • CONTINUE =
    - # File 'lib/puma/const.rb', line 245
    "100-continue"
    + # File 'lib/puma/const.rb', line 245
    "100-continue"
  • DQUOTE = @@ -195,17 +201,17 @@

    Constant Summary

  • - # File 'lib/puma/const.rb', line 278
    "\""
    + # File 'lib/puma/const.rb', line 278
    "\""
  • EARLY_HINTS =
    - # File 'lib/puma/const.rb', line 275
    "rack.early_hints"
    + # File 'lib/puma/const.rb', line 275
    "rack.early_hints"
  • ERROR_RESPONSE =
    - # File 'lib/puma/const.rb', line 124
    {
    +    # File 'lib/puma/const.rb', line 124    
    {
       # Indicate that we couldn't parse the request
       400 => "HTTP/1.1 400 Bad Request\r\n\r\n",
       # The standard empty 404 response for bad requests.  Use Error4040Handler for custom stuff.
    @@ -223,117 +229,117 @@ 

    Constant Summary

  • FAST_TRACK_KA_TIMEOUT =
    - # File 'lib/puma/const.rb', line 108
    0.2
    + # File 'lib/puma/const.rb', line 108
    0.2
  • GATEWAY_INTERFACE =
    - # File 'lib/puma/const.rb', line 223
    "GATEWAY_INTERFACE"
    + # File 'lib/puma/const.rb', line 223
    "GATEWAY_INTERFACE"
  • HALT_COMMAND =
    - # File 'lib/puma/const.rb', line 227
    "!"
    + # File 'lib/puma/const.rb', line 227
    "!"
  • HEAD =
    - # File 'lib/puma/const.rb', line 150
    "HEAD"
    + # File 'lib/puma/const.rb', line 150
    "HEAD"
  • HIJACK =
    - # File 'lib/puma/const.rb', line 272
    "rack.hijack"
    + # File 'lib/puma/const.rb', line 272
    "rack.hijack"
  • HIJACK_IO =
    - # File 'lib/puma/const.rb', line 273
    "rack.hijack_io"
    + # File 'lib/puma/const.rb', line 273
    "rack.hijack_io"
  • HIJACK_P =
    - # File 'lib/puma/const.rb', line 271
    "rack.hijack?"
    + # File 'lib/puma/const.rb', line 271
    "rack.hijack?"
  • HTTP =
    - # File 'lib/puma/const.rb', line 237
    "http"
    + # File 'lib/puma/const.rb', line 237
    "http"
  • HTTPS =
    - # File 'lib/puma/const.rb', line 238
    "https"
    + # File 'lib/puma/const.rb', line 238
    "https"
  • HTTPS_KEY =
    - # File 'lib/puma/const.rb', line 240
    "HTTPS"
    + # File 'lib/puma/const.rb', line 240
    "HTTPS"
  • HTTP_10_200 =
    - # File 'lib/puma/const.rb', line 249
    "HTTP/1.0 200 OK\r\n"
    + # File 'lib/puma/const.rb', line 249
    "HTTP/1.0 200 OK\r\n"
  • HTTP_11 =
    - # File 'lib/puma/const.rb', line 220
    "HTTP/1.1"
    + # File 'lib/puma/const.rb', line 220
    "HTTP/1.1"
  • HTTP_11_100 =
    - # File 'lib/puma/const.rb', line 247
    "HTTP/1.1 100 Continue\r\n\r\n"
    + # File 'lib/puma/const.rb', line 247
    "HTTP/1.1 100 Continue\r\n\r\n"
  • HTTP_11_200 =
    - # File 'lib/puma/const.rb', line 248
    "HTTP/1.1 200 OK\r\n"
    + # File 'lib/puma/const.rb', line 248
    "HTTP/1.1 200 OK\r\n"
  • HTTP_CONNECTION =
    - # File 'lib/puma/const.rb', line 243
    "HTTP_CONNECTION"
    + # File 'lib/puma/const.rb', line 243
    "HTTP_CONNECTION"
  • HTTP_EXPECT =
    - # File 'lib/puma/const.rb', line 244
    "HTTP_EXPECT"
    + # File 'lib/puma/const.rb', line 244
    "HTTP_EXPECT"
  • HTTP_HEADER_DELIMITER =
    - # File 'lib/puma/const.rb', line 279
    Regexp.escape("(),/:;<=>?@[]{}\\").freeze
    + # File 'lib/puma/const.rb', line 279
    Regexp.escape("(),/:;<=>?@[]{}\\").freeze
  • HTTP_HOST =
    - # File 'lib/puma/const.rb', line 210
    "HTTP_HOST"
    + # File 'lib/puma/const.rb', line 210
    "HTTP_HOST"
  • HTTP_VERSION =
    - # File 'lib/puma/const.rb', line 242
    "HTTP_VERSION"
    + # File 'lib/puma/const.rb', line 242
    "HTTP_VERSION"
  • HTTP_X_FORWARDED_FOR =
    - # File 'lib/puma/const.rb', line 203
    "HTTP_X_FORWARDED_FOR"
    + # File 'lib/puma/const.rb', line 203
    "HTTP_X_FORWARDED_FOR"
  • HTTP_X_FORWARDED_PROTO =
    - # File 'lib/puma/const.rb', line 206
    "HTTP_X_FORWARDED_PROTO"
    + # File 'lib/puma/const.rb', line 206
    "HTTP_X_FORWARDED_PROTO"
  • HTTP_X_FORWARDED_SCHEME =
    - # File 'lib/puma/const.rb', line 205
    "HTTP_X_FORWARDED_SCHEME"
    + # File 'lib/puma/const.rb', line 205
    "HTTP_X_FORWARDED_SCHEME"
  • HTTP_X_FORWARDED_SSL =
    - # File 'lib/puma/const.rb', line 204
    "HTTP_X_FORWARDED_SSL"
    + # File 'lib/puma/const.rb', line 204
    "HTTP_X_FORWARDED_SSL"
  • IANA_HTTP_METHODS = @@ -344,7 +350,7 @@

    Constant Summary

  • - # File 'lib/puma/const.rb', line 158
    %w[
    +    # File 'lib/puma/const.rb', line 158    
    %w[
       ACL
       BASELINE-CONTROL
       BIND
    @@ -389,7 +395,7 @@ 

    Constant Summary

  • ILLEGAL_HEADER_KEY_REGEX =
    - # File 'lib/puma/const.rb', line 280
    /[\x00-\x20#{DQUOTE}#{HTTP_HEADER_DELIMITER}]/.freeze
    + # File 'lib/puma/const.rb', line 280
    /[\x00-\x20#{DQUOTE}#{HTTP_HEADER_DELIMITER}]/.freeze
  • ILLEGAL_HEADER_VALUE_REGEX = @@ -400,12 +406,12 @@

    Constant Summary

  • - # File 'lib/puma/const.rb', line 282
    /[\x00-\x08\x0A-\x1F]/.freeze
    + # File 'lib/puma/const.rb', line 282
    /[\x00-\x08\x0A-\x1F]/.freeze
  • KEEP_ALIVE =
    - # File 'lib/puma/const.rb', line 252
    "keep-alive"
    + # File 'lib/puma/const.rb', line 252
    "keep-alive"
  • LINE_END = @@ -416,22 +422,22 @@

    Constant Summary

  • - # File 'lib/puma/const.rb', line 201
    "\r\n"
    + # File 'lib/puma/const.rb', line 201
    "\r\n"
  • LOCALHOST =
    - # File 'lib/puma/const.rb', line 213
    "localhost"
    + # File 'lib/puma/const.rb', line 213
    "localhost"
  • LOCALHOST_IPV4 =
    - # File 'lib/puma/const.rb', line 214
    "127.0.0.1"
    + # File 'lib/puma/const.rb', line 214
    "127.0.0.1"
  • LOCALHOST_IPV6 =
    - # File 'lib/puma/const.rb', line 215
    "::1"
    + # File 'lib/puma/const.rb', line 215
    "::1"
  • MAX_BODY = @@ -442,7 +448,7 @@

    Constant Summary

  • - # File 'lib/puma/const.rb', line 147
    MAX_HEADER
    + # File 'lib/puma/const.rb', line 147
    MAX_HEADER
  • MAX_HEADER = @@ -453,97 +459,97 @@

    Constant Summary

  • - # File 'lib/puma/const.rb', line 144
    1024 * (80 + 32)
    + # File 'lib/puma/const.rb', line 144
    1024 * (80 + 32)
  • NEWLINE =
    - # File 'lib/puma/const.rb', line 269
    "\n"
    + # File 'lib/puma/const.rb', line 269
    "\n"
  • PATH_INFO =
    - # File 'lib/puma/const.rb', line 120
    "PATH_INFO"
    + # File 'lib/puma/const.rb', line 120
    "PATH_INFO"
  • PORT_443 =
    - # File 'lib/puma/const.rb', line 212
    "443"
    + # File 'lib/puma/const.rb', line 212
    "443"
  • PORT_80 =
    - # File 'lib/puma/const.rb', line 211
    "80"
    + # File 'lib/puma/const.rb', line 211
    "80"
  • PROXY_PROTOCOL_V1_REGEX =
    - # File 'lib/puma/const.rb', line 295
    /^PROXY (?:TCP4|TCP6|UNKNOWN) ([^\r]+)\r\n/.freeze
    + # File 'lib/puma/const.rb', line 295
    /^PROXY (?:TCP4|TCP6|UNKNOWN) ([^\r]+)\r\n/.freeze
  • PUMA_CONFIG =
    - # File 'lib/puma/const.rb', line 234
    "puma.config"
    + # File 'lib/puma/const.rb', line 234
    "puma.config"
  • PUMA_PEERCERT =
    - # File 'lib/puma/const.rb', line 235
    "puma.peercert"
    + # File 'lib/puma/const.rb', line 235
    "puma.peercert"
  • PUMA_SERVER_STRING =
    - # File 'lib/puma/const.rb', line 106
    ["puma", PUMA_VERSION, CODE_NAME].join(" ").freeze
    + # File 'lib/puma/const.rb', line 106
    ["puma", PUMA_VERSION, CODE_NAME].join(" ").freeze
  • PUMA_SOCKET =
    - # File 'lib/puma/const.rb', line 233
    "puma.socket"
    + # File 'lib/puma/const.rb', line 233
    "puma.socket"
  • PUMA_TMP_BASE =
    - # File 'lib/puma/const.rb', line 122
    "puma"
    + # File 'lib/puma/const.rb', line 122
    "puma"
  • PUMA_VERSION =
    - # File 'lib/puma/const.rb', line 103
    VERSION = "6.4.3"
    + # File 'lib/puma/const.rb', line 103
    VERSION = "6.5.0"
  • QUERY_STRING =
    - # File 'lib/puma/const.rb', line 117
    "QUERY_STRING"
    + # File 'lib/puma/const.rb', line 117
    "QUERY_STRING"
  • RACK_AFTER_REPLY =
    - # File 'lib/puma/const.rb', line 232
    "rack.after_reply"
    + # File 'lib/puma/const.rb', line 232
    "rack.after_reply"
  • RACK_INPUT =
    - # File 'lib/puma/const.rb', line 230
    "rack.input"
    + # File 'lib/puma/const.rb', line 230
    "rack.input"
  • RACK_URL_SCHEME =
    - # File 'lib/puma/const.rb', line 231
    "rack.url_scheme"
    + # File 'lib/puma/const.rb', line 231
    "rack.url_scheme"
  • REMOTE_ADDR =
    - # File 'lib/puma/const.rb', line 202
    "REMOTE_ADDR"
    + # File 'lib/puma/const.rb', line 202
    "REMOTE_ADDR"
  • REQUEST_METHOD =
    - # File 'lib/puma/const.rb', line 149
    "REQUEST_METHOD"
    + # File 'lib/puma/const.rb', line 149
    "REQUEST_METHOD"
  • REQUEST_PATH =
    - # File 'lib/puma/const.rb', line 116
    "REQUEST_PATH"
    + # File 'lib/puma/const.rb', line 116
    "REQUEST_PATH"
  • REQUEST_URI = @@ -554,37 +560,37 @@

    Constant Summary

  • - # File 'lib/puma/const.rb', line 115
    "REQUEST_URI"
    + # File 'lib/puma/const.rb', line 115
    "REQUEST_URI"
  • RESTART_COMMAND =
    - # File 'lib/puma/const.rb', line 228
    "R"
    + # File 'lib/puma/const.rb', line 228
    "R"
  • SERVER_NAME =
    - # File 'lib/puma/const.rb', line 208
    "SERVER_NAME"
    + # File 'lib/puma/const.rb', line 208
    "SERVER_NAME"
  • SERVER_PORT =
    - # File 'lib/puma/const.rb', line 209
    "SERVER_PORT"
    + # File 'lib/puma/const.rb', line 209
    "SERVER_PORT"
  • SERVER_PROTOCOL =
    - # File 'lib/puma/const.rb', line 219
    "SERVER_PROTOCOL"
    + # File 'lib/puma/const.rb', line 219
    "SERVER_PROTOCOL"
  • SERVER_SOFTWARE =
    - # File 'lib/puma/const.rb', line 222
    "SERVER_SOFTWARE"
    + # File 'lib/puma/const.rb', line 222
    "SERVER_SOFTWARE"
  • STOP_COMMAND =
    - # File 'lib/puma/const.rb', line 226
    "?"
    + # File 'lib/puma/const.rb', line 226
    "?"
  • SUPPORTED_HTTP_METHODS = @@ -595,22 +601,22 @@

    Constant Summary

  • - # File 'lib/puma/const.rb', line 154
    %w[HEAD GET POST PUT DELETE OPTIONS TRACE PATCH].freeze
    + # File 'lib/puma/const.rb', line 154
    %w[HEAD GET POST PUT DELETE OPTIONS TRACE PATCH].freeze
  • TRANSFER_ENCODING =
    - # File 'lib/puma/const.rb', line 256
    "transfer-encoding"
    + # File 'lib/puma/const.rb', line 256
    "transfer-encoding"
  • TRANSFER_ENCODING2 =
    - # File 'lib/puma/const.rb', line 257
    "HTTP_TRANSFER_ENCODING"
    + # File 'lib/puma/const.rb', line 257
    "HTTP_TRANSFER_ENCODING"
  • TRANSFER_ENCODING_CHUNKED =
    - # File 'lib/puma/const.rb', line 262
    "Transfer-Encoding: chunked\r\n"
    + # File 'lib/puma/const.rb', line 262
    "Transfer-Encoding: chunked\r\n"
  • UNMASKABLE_HEADERS = @@ -621,7 +627,7 @@

    Constant Summary

  • - # File 'lib/puma/const.rb', line 287
    {
    +    # File 'lib/puma/const.rb', line 287    
    {
       "HTTP_TRANSFER,ENCODING" => true,
       "HTTP_CONTENT,LENGTH" => true,
     }
    @@ -629,12 +635,12 @@

    Constant Summary

  • UNSPECIFIED_IPV4 =
    - # File 'lib/puma/const.rb', line 216
    "0.0.0.0"
    + # File 'lib/puma/const.rb', line 216
    "0.0.0.0"
  • UNSPECIFIED_IPV6 =
    - # File 'lib/puma/const.rb', line 217
    "::"
    + # File 'lib/puma/const.rb', line 217
    "::"
  • WRITE_TIMEOUT = @@ -645,7 +651,7 @@

    Constant Summary

  • - # File 'lib/puma/const.rb', line 112
    10
    + # File 'lib/puma/const.rb', line 112
    10
    diff --git a/puma/Puma/Const/PipeRequest.html b/puma/Puma/Const/PipeRequest.html new file mode 100644 index 0000000..1f1fcf7 --- /dev/null +++ b/puma/Puma/Const/PipeRequest.html @@ -0,0 +1,125 @@ + + + + + + + + + + +Module: Puma::Const::PipeRequest — Puma-6.5.0 + + + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + Home » + Puma-6.5.0 » + Index (P) » + Puma » + Const » + PipeRequest ▲ +
    + + +
    +
    + 123456789_123456789_123456789_123456789_123456789_ +
    +
    +

    Module: Puma::Const::PipeRequest

    +
    + + + + + + + + + + +
    Relationships & Source Files
    Defined in:lib/puma/const.rb
    +
    +

    Constant Summary

    +
    + +
    + + +
    +
    + + \ No newline at end of file diff --git a/puma/Puma/ControlCLI.html b/puma/Puma/ControlCLI.html index 88e3ebe..dc2612b 100644 --- a/puma/Puma/ControlCLI.html +++ b/puma/Puma/ControlCLI.html @@ -8,7 +8,7 @@ -Class: Puma::ControlCLI — Puma-6.4.3 +Class: Puma::ControlCLI — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (C) » Puma » ControlCLI ▲ @@ -77,7 +77,7 @@

    Class: Puma::ControlCLI

    Defined in: - lib/puma/control_cli.rb + lib/puma/control_cli.rb @@ -105,7 +105,7 @@

    Constant Summary

    - # File 'lib/puma/control_cli.rb', line 15
    {
    +    # File 'lib/puma/control_cli.rb', line 15    
    {
       'gc'       => nil,
       'gc-stats' => nil,
       'halt'              => 'SIGQUIT',
    @@ -133,7 +133,7 @@ 

    Constant Summary

    - # File 'lib/puma/control_cli.rb', line 35
    %w[info reopen-log worker-count-down worker-count-up].freeze
    + # File 'lib/puma/control_cli.rb', line 35
    %w[info reopen-log worker-count-down worker-count-up].freeze
  • PRINTABLE_COMMANDS = @@ -153,7 +153,7 @@

    Constant Summary

  • - # File 'lib/puma/control_cli.rb', line 38
    %w[gc-stats stats thread-backtraces].freeze
    + # File 'lib/puma/control_cli.rb', line 38
    %w[gc-stats stats thread-backtraces].freeze
    @@ -163,7 +163,7 @@

    Class Method Summary

    • - .new(argv, stdout = STDOUT, stderr = STDERR) ⇒ ControlCLI + .new(argv, stdout = STDOUT, stderr = STDERR, env: ENV) ⇒ ControlCLI constructor
    • @@ -210,7 +210,7 @@

      Constructor Details

      - .new(argv, stdout = STDOUT, stderr = STDERR) ⇒ ControlCLI + .new(argv, stdout = STDOUT, stderr = STDERR, env: ENV) ⇒ ControlCLI

      @@ -220,14 +220,14 @@

      - [ GitHub ] + [ GitHub ]
      
         
      # File 'lib/puma/control_cli.rb', line 40
       
      -def initialize(argv, stdout=STDOUT, stderr=STDERR)
      +def initialize(argv, stdout=STDOUT, stderr=STDERR, env: ENV)
         @state = nil
         @quiet = false
         @pidfile = nil
      @@ -236,7 +236,7 @@ 

      @control_auth_token = nil @config_file = nil @command = nil - @environment = ENV['APP_ENV'] || ENV['RACK_ENV'] || ENV['RAILS_ENV'] + @environment = env['APP_ENV'] || env['RACK_ENV'] || env['RAILS_ENV'] @argv = argv.dup @stdout = stdout @@ -250,7 +250,7 @@

      @state = arg end - o.on "-Q", "--quiet", "Not display messages" do |arg| + o.on "-Q", "--quiet", "Do not display messages" do |arg| @quiet = true end @@ -317,7 +317,7 @@

      require_relative 'configuration' require_relative 'log_writer' - config = Puma::Configuration.new({ config_files: [@config_file] }, {}) + config = Puma::Configuration.new({ config_files: [@config_file] }, {} , env) config.load @state ||= config.options[:state] @control_url ||= config.options[:control_url] @@ -339,7 +339,7 @@

      Instance Method Details

      #message(msg)

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -358,7 +358,7 @@

      #prepare_configuration

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -393,7 +393,7 @@

      #run

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -423,7 +423,7 @@

      #send_request

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -509,7 +509,7 @@

      #send_signal

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -563,7 +563,7 @@

      #start (private)

      - [ GitHub ] + [ GitHub ]
      
         
      diff --git a/puma/Puma/DSL.html b/puma/Puma/DSL.html index 819f81e..98166b8 100644 --- a/puma/Puma/DSL.html +++ b/puma/Puma/DSL.html @@ -8,7 +8,7 @@ -Class: Puma::DSL — Puma-6.4.3 +Class: Puma::DSL — Puma-6.5.0 @@ -50,7 +50,7 @@
      Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (D) » Puma » DSL ▲ @@ -77,7 +77,7 @@

      Class: Puma::DSL

      Defined in: - lib/puma/dsl.rb + lib/puma/dsl.rb @@ -132,7 +132,7 @@

      Constant Summary

    • ON_WORKER_KEY =
      - # File 'lib/puma/dsl.rb', line 52
      [String, Symbol].freeze
      + # File 'lib/puma/dsl.rb', line 52
      [String, Symbol].freeze
    @@ -151,7 +151,7 @@

    Class Method Summary

    .ssl_bind_str(host, port, opts)
    -

    convenience method so logic can be used in CI.

    +

    Convenience method so logic can be used in CI.

    @@ -281,6 +281,17 @@

    Instance Method Summary

    #early_hints(answer = true) +
    +

    Enable HTTP 103 Early Hints responses.

    +
    + +
  • + + #enable_keep_alives(enabled = true) + +
    +

    When true, keep-alive connections are maintained on inbound requests.

    +
  • @@ -332,7 +343,7 @@

    Instance Method Summary

    #http_content_length_limit(limit)
    -

    The default value for http_content_length_limit is nil.

    +

    Specify how big the request payload should be, in bytes.

  • @@ -361,7 +372,7 @@

    Instance Method Summary

    #load(file)
    -

    Load additional configuration from a file Files get loaded later via Configuration#load

    +

    Load additional configuration from a file.

  • @@ -374,7 +385,7 @@

    Instance Method Summary

    #log_requests(which = true)
    -

    Enable request logging.

    +

    Enable request logging, the inverse of #quiet.

  • @@ -397,6 +408,9 @@

    Instance Method Summary

    #mutate_stdout_and_stderr_to_sync_on_write(enabled = true) +
    +

    Ensures STDOUT and STDERR is immediately flushed to the underlying operating system and is not buffered internally.

    +
  • @@ -422,6 +436,14 @@

    Instance Method Summary

    Code to run before doing a restart.

  • +
  • + + #on_stopped(&block) + +
    +

    Code to run after puma is stopped (works for both: single and clustered).

    +
    +
  • #on_thread_exit(&block) @@ -523,7 +545,7 @@

    Instance Method Summary

    #queue_requests(answer = true)
    -

    When set to true (the default), workers accept all requests and queue them before passing them to the handlers.

    +

    When set to true, workers accept all requests and queue them before passing them to the handlers.

  • @@ -531,7 +553,7 @@

    Instance Method Summary

    #quiet(which = true)
    -

    Disable request logging, if this isn’t used it’ll be enabled by default.

    +

    Disable request logging, the inverse of #log_requests.

  • @@ -555,7 +577,7 @@

    Instance Method Summary

    #raise_exception_on_sigterm(answer = true)
    -

    By default, ::Puma will raise SignalException when SIGTERM is received.

    +

    Raises a SignalException when SIGTERM is received.

  • @@ -653,10 +675,10 @@

    Instance Method Summary

  • - #threads(min, max) + #threads(min, max = min)
    -

    Configure min to be the minimum number of threads to use to answer requests and max the maximum.

    +

    Configure the number of threads to use to answer requests.

  • @@ -752,11 +774,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 123
    +
    # File 'lib/puma/dsl.rb', line 125
     
     def initialize(options, config)
    @@ -778,7 +800,7 @@ 

    -

    convenience method so logic can be used in CI

    +

    Convenience method so logic can be used in CI.

    @@ -789,11 +811,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 57
    +
    # File 'lib/puma/dsl.rb', line 58
     
     def self.ssl_bind_str(host, port, opts)
    @@ -827,6 +849,7 @@ 

    "&verify_mode=#{verify}#{tls_str}#{ca_additions}#{backlog_str}" else ssl_cipher_filter = opts[:ssl_cipher_filter] ? "&ssl_cipher_filter=#{opts[:ssl_cipher_filter]}" : nil + ssl_ciphersuites = opts[:ssl_ciphersuites] ? "&ssl_ciphersuites=#{opts[:ssl_ciphersuites]}" : nil v_flags = (ary = opts[:verification_flags]) ? "&verification_flags=#{Array(ary).join ','}" : nil cert_flags = (cert = opts[:cert]) ? "cert=#{Puma::Util.escape(cert)}" : nil @@ -857,7 +880,7 @@

    nil end - "ssl://#{host}:#{port}?#{cert_flags}#{key_flags}#{password_flags}#{ssl_cipher_filter}" \ + "ssl://#{host}:#{port}?#{cert_flags}#{key_flags}#{password_flags}#{ssl_cipher_filter}#{ssl_ciphersuites}" \ "#{reuse_flag}&verify_mode=#{verify}#{tls_str}#{ca_additions}#{v_flags}#{backlog_str}#{low_latency_str}" end end @@ -871,11 +894,11 @@

    Instance Method Details

    #_load_from(path)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 130
    +
    # File 'lib/puma/dsl.rb', line 132
     
     def _load_from(path)
    @@ -895,11 +918,11 @@ 

    #_offer_plugins

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 139
    +
    # File 'lib/puma/dsl.rb', line 141
     
     def _offer_plugins
    @@ -939,11 +962,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 213
    +
    # File 'lib/puma/dsl.rb', line 219
     
     def activate_control_app(url="auto", opts={})
    @@ -986,11 +1009,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 1164
    +
    # File 'lib/puma/dsl.rb', line 1383
     
     def add_pem_values_to_options_store(opts)
    @@ -1024,11 +1047,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 698
    +
    # File 'lib/puma/dsl.rb', line 813
     
     alias_method :after_worker_boot, :after_worker_fork
    @@ -1068,11 +1091,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 692
    +
    # File 'lib/puma/dsl.rb', line 807
     
     def after_worker_fork(&block)
    @@ -1118,11 +1141,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 191
    +
    # File 'lib/puma/dsl.rb', line 196
     
     def app(obj=nil, &block)
    @@ -1167,11 +1190,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 625
    +
    # File 'lib/puma/dsl.rb', line 731
     
     def before_fork(&block)
    @@ -1242,11 +1265,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 274
    +
    # File 'lib/puma/dsl.rb', line 285
     
     def bind(url)
    @@ -1291,11 +1314,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 305
    +
    # File 'lib/puma/dsl.rb', line 317
     
     def bind_to_activated_sockets(bind=true)
    @@ -1315,13 +1338,22 @@ 

    Work around leaky apps that leave garbage in Thread locals across requests.

    +

    The default is false.

    +

    - [ GitHub ] +
    +
    +

    Examples:

    +
    clean_thread_locals
    +
    + +
    + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 338
    +
    # File 'lib/puma/dsl.rb', line 380
     
     def clean_thread_locals(which=true)
    @@ -1336,11 +1368,11 @@ 

    #clear_binds!

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 279
    +
    # File 'lib/puma/dsl.rb', line 290
     
     def clear_binds!
    @@ -1362,11 +1394,18 @@ 

    - [ GitHub ] +
    +
    +

    Examples:

    +
    custom_logger Logger.new('t.log')
    +
    + +
    + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 430
    +
    # File 'lib/puma/dsl.rb', line 492
     
     def custom_logger(custom_logger)
    @@ -1386,13 +1425,22 @@ 

    Show debugging info

    +

    The default is false.

    +

    - [ GitHub ] +
    +
    +

    Examples:

    +
    debug
    +
    + +
    + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 436
    +
    # File 'lib/puma/dsl.rb', line 503
     
     def debug
    @@ -1407,11 +1455,11 @@ 

    #default_host

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 154
    +
    # File 'lib/puma/dsl.rb', line 156
     
     def default_host
    @@ -1442,11 +1490,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 796
    +
    # File 'lib/puma/dsl.rb', line 929
     
     def directory(dir)
    @@ -1475,11 +1523,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 347
    +
    # File 'lib/puma/dsl.rb', line 390
     
     def drain_on_shutdown(which=true)
    @@ -1494,11 +1542,27 @@ 

    #early_hints(answer = true)

    - [ GitHub ] +
    +
    + +

    Enable HTTP 103 Early Hints responses.

    + +

    The default is nil.

    + +
    +
    +
    +
    +

    Examples:

    +
    early_hints
    +
    + +
    + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 457
    +
    # File 'lib/puma/dsl.rb', line 533
     
     def early_hints(answer=true)
    @@ -1509,6 +1573,45 @@ 

  • +
    +

    + #enable_keep_alives(enabled = true) +

    +
    +
    + +

    When true, keep-alive connections are maintained on inbound requests. Enabling this setting reduces the number of TCP operations, reducing response times for connections that can send multiple requests in a single connection.

    + +

    When Puma receives more incoming connections than available ::Puma threads, enabling the keep-alive behavior may result in processing requests out-of-order, increasing overall response time variance. Increased response time variance means that the overall average of response times might not change, but more outliers will exist. Those long-tail outliers may significantly affect response times for some processed requests.

    + +

    When false, ::Puma closes the connection after each request, requiring the client to open a new request. Disabling this setting guarantees that requests will be processed in the order they are fully received, decreasing response variance and eliminating long-tail outliers caused by keep-alive behavior. The trade-off is that the number of TCP operations required will increase.

    + +

    The default is true.

    + +
    +
    +
    +
    +

    Examples:

    +
    enable_keep_alives false
    +
    + +
    + [ GitHub ] +
    +
    
    +  
    +
    # File 'lib/puma/dsl.rb', line 1294
    +
    +
    +def enable_keep_alives(enabled=true)
    +  @options[:enable_keep_alives] = enabled
    +end
    +
    +
    +
    +
    +

    #environment(environment) @@ -1529,11 +1632,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 358
    +
    # File 'lib/puma/dsl.rb', line 402
     
     def environment(environment)
    @@ -1569,11 +1672,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 873
    +
    # File 'lib/puma/dsl.rb', line 1015
     
     def extra_runtime_dependencies(answer = [])
    @@ -1593,20 +1696,26 @@ 

    Define how long the tcp socket stays open, if no data has been received.

    +

    The default is 30 seconds.

    +

    -

    See Also:

    +
    +

    Examples:

    +
    first_data_timeout 40
    +
    +

    See Also:

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 320
    +
    # File 'lib/puma/dsl.rb', line 342
     
     def first_data_timeout(seconds)
    @@ -1624,10 +1733,12 @@ 

    -

    How long to wait for threads to stop when shutting them down. Defaults to :forever. Specifying :immediately will cause ::Puma to kill the threads immediately. Otherwise the value is the number of seconds to wait.

    +

    How long to wait for threads to stop when shutting them down. Specifying :immediately will cause ::Puma to kill the threads immediately. Otherwise the value is the number of seconds to wait.

    ::Puma always waits a few seconds after killing a thread for it to try to finish up it’s work, even in :immediately mode.

    +

    The default is :forever.

    +
    @@ -1637,11 +1748,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 370
    +
    # File 'lib/puma/dsl.rb', line 417
     
     def force_shutdown_after(val=:forever)
    @@ -1695,11 +1806,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 1081
    +
    # File 'lib/puma/dsl.rb', line 1256
     
     def fork_worker(after_requests=1000)
    @@ -1714,11 +1825,11 @@ 

    #get(key, default = nil)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 162
    +
    # File 'lib/puma/dsl.rb', line 164
     
     def get(key,default=nil)
    @@ -1736,15 +1847,21 @@ 

    -

    The default value for http_content_length_limit is nil.

    +

    Specify how big the request payload should be, in bytes. This limit is compared against Content-Length HTTP header. If the payload size (CONTENT_LENGTH) is larger than http_content_length_limit, HTTP 413 status code is returned.

    + +

    When no Content-Length http header is present, it is compared against the size of the body of the request.

    + +

    The default is nil.

    + +

    http_content_length_limit 2_000_000_000

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 1124
    +
    # File 'lib/puma/dsl.rb', line 1342
     
     def http_content_length_limit(limit)
    @@ -1764,20 +1881,26 @@ 

    If a new request is not received within this number of seconds, begin shutting down.

    +

    The default is nil.

    +

    -

    See Also:

    +
    +

    Examples:

    +
    idle_timeout 60
    +
    +

    See Also:

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 332
    +
    # File 'lib/puma/dsl.rb', line 368
     
     def idle_timeout(seconds)
    @@ -1792,11 +1915,11 @@ 

    #inject(&blk)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 158
    +
    # File 'lib/puma/dsl.rb', line 160
     
     def inject(&blk)
    @@ -1831,11 +1954,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 1107
    +
    # File 'lib/puma/dsl.rb', line 1313
     
     def io_selector_backend(backend)
    @@ -1853,15 +1976,22 @@ 

    -

    Load additional configuration from a file Files get loaded later via Configuration#load

    +

    Load additional configuration from a file. Files get loaded later via Configuration#load.

    - [ GitHub ] +
    +
    +

    Examples:

    +
    load 'config/puma/production.rb'
    +
    + +
    + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 240
    +
    # File 'lib/puma/dsl.rb', line 250
     
     def load(file)
    @@ -1877,11 +2007,11 @@ 

    #log_formatter(&block)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 474
    +
    # File 'lib/puma/dsl.rb', line 553
     
     def log_formatter(&block)
    @@ -1899,15 +2029,24 @@ 

    -

    Enable request logging

    +

    Enable request logging, the inverse of #quiet.

    + +

    The default is false.

    - [ GitHub ] +
    +
    +

    Examples:

    +
    log_requests
    +
    + +
    + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 425
    +
    # File 'lib/puma/dsl.rb', line 483
     
     def log_requests(which=true)
    @@ -1938,11 +2077,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 817
    +
    # File 'lib/puma/dsl.rb', line 955
     
     def lowlevel_error_handler(obj=nil, &block)
    @@ -1964,13 +2103,22 @@ 

    The number of requests to attempt inline before sending a client back to the reactor to be subject to normal ordering.

    +

    The default is 10.

    +

    - [ GitHub ] +
    +
    +

    Examples:

    +
    max_fast_inline 20
    +
    + +
    + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 1088
    +
    # File 'lib/puma/dsl.rb', line 1268
     
     def max_fast_inline(num_of_requests)
    @@ -1985,11 +2133,27 @@ 

    #mutate_stdout_and_stderr_to_sync_on_write(enabled = true)

    - [ GitHub ] +
    +
    + +

    Ensures STDOUT and STDERR is immediately flushed to the underlying operating system and is not buffered internally

    + +

    The default is true.

    + +
    +
    +
    +
    +

    Examples:

    +
    mutate_stdout_and_stderr_to_sync_on_write false
    +
    + +
    + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 1111
    +
    # File 'lib/puma/dsl.rb', line 1325
     
     def mutate_stdout_and_stderr_to_sync_on_write(enabled=true)
    @@ -2020,11 +2184,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 706
    +
    # File 'lib/puma/dsl.rb', line 822
     
     def on_booted(&block)
    @@ -2075,11 +2239,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 728
    +
    # File 'lib/puma/dsl.rb', line 857
     
     def on_refork(key = nil, &block)
    @@ -2112,11 +2276,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 392
    +
    # File 'lib/puma/dsl.rb', line 440
     
     def on_restart(&block)
    @@ -2128,6 +2292,41 @@ 

    +
    +

    + #on_stopped(&block) +

    +
    +
    + +

    Code to run after puma is stopped (works for both: single and clustered)

    + +
    +
    +
    +
    +

    Examples:

    +
    on_stopped do
    +  puts 'After stopping...'
    +end
    +
    + +
    + [ GitHub ] +
    +
    
    +  
    +
    # File 'lib/puma/dsl.rb', line 833
    +
    +
    +def on_stopped(&block)
    +  @config.options[:events].on_stopped(&block)
    +end
    +
    +
    +
    +
    +

    #on_thread_exit(&block) @@ -2156,11 +2355,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 772
    +
    # File 'lib/puma/dsl.rb', line 903
     
     def on_thread_exit(&block)
    @@ -2198,11 +2397,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 748
    +
    # File 'lib/puma/dsl.rb', line 878
     
     def on_thread_start(&block)
    @@ -2244,11 +2443,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 642
    +
    # File 'lib/puma/dsl.rb', line 750
     
     def on_worker_boot(key = nil, &block)
    @@ -2291,11 +2490,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 676
    +
    # File 'lib/puma/dsl.rb', line 789
     
     def on_worker_fork(&block)
    @@ -2323,7 +2522,7 @@ 

    -

    Code to run immediately before a worker shuts down (after it has finished processing HTTP requests). These hooks can block if necessary to wait for background operations unknown to ::Puma to finish before the process terminates.

    +

    Code to run immediately before a worker shuts down (after it has finished processing HTTP requests). The worker’s index is passed as an argument. These hooks can block if necessary to wait for background operations unknown to ::Puma to finish before the process terminates.

    This can be called multiple times to add several hooks.

    @@ -2338,11 +2537,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 660
    +
    # File 'lib/puma/dsl.rb', line 771
     
     def on_worker_shutdown(key = nil, &block)
    @@ -2370,11 +2569,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 786
    +
    # File 'lib/puma/dsl.rb', line 918
     
     def out_of_band(&block)
    @@ -2394,20 +2593,26 @@ 

    Define how long persistent connections can be idle before ::Puma closes them.

    +

    The default is 20 seconds.

    +

    -

    See Also:

    +
    +

    Examples:

    +
    persistent_timeout 30
    +
    +

    See Also:

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 326
    +
    # File 'lib/puma/dsl.rb', line 355
     
     def persistent_timeout(seconds)
    @@ -2436,11 +2641,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 411
    +
    # File 'lib/puma/dsl.rb', line 461
     
     def pidfile(path)
    @@ -2458,15 +2663,22 @@ 

    -

    Load the named plugin for use by this configuration

    +

    Load the named plugin for use by this configuration.

    - [ GitHub ] +
    +
    +

    Examples:

    +
    plugin :tmp_restart
    +
    + +
    + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 168
    +
    # File 'lib/puma/dsl.rb', line 173
     
     def plugin(name)
    @@ -2486,20 +2698,22 @@ 

    Define the TCP port to bind to. Use #bind for more advanced options.

    +

    The default is 9292.

    +

    Examples:

    -
    port 9292
    +
    port 3000
    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 313
    +
    # File 'lib/puma/dsl.rb', line 328
     
     def port(port, host=nil)
    @@ -2526,7 +2740,9 @@ 

    -

    Preload the application before starting the workers; this conflicts with phased restart feature. On by default if your app uses more than 1 worker.

    +

    Preload the application before starting the workers; this conflicts with phased restart feature.

    + +

    The default is true if your app uses more than 1 worker.

    @@ -2537,11 +2753,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 806
    +
    # File 'lib/puma/dsl.rb', line 943
     
     def preload_app!(answer=true)
    @@ -2556,11 +2772,11 @@ 

    #process_hook(options_key, key, block, meth) (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 1180
    +
    # File 'lib/puma/dsl.rb', line 1399
     
     def process_hook(options_key, key, block, meth)
    @@ -2615,11 +2831,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 840
    +
    # File 'lib/puma/dsl.rb', line 979
     
     def prune_bundler(answer=true)
    @@ -2637,12 +2853,14 @@ 

    -

    When set to true (the default), workers accept all requests and queue them before passing them to the handlers. When set to false, each worker process accepts exactly as many requests as it is configured to simultaneously handle.

    +

    When set to true, workers accept all requests and queue them before passing them to the handlers. When set to false, each worker process accepts exactly as many requests as it is configured to simultaneously handle.

    Queueing requests generally improves performance. In some cases, such as a single threaded application, it may be better to ensure requests get balanced across workers.

    Note that setting this to false disables HTTP keepalive and slow clients will occupy a handler thread while the request is being sent. A reverse proxy, such as nginx, can handle slow clients and queue requests before they reach ::Puma.

    +

    The default is true.

    +
    @@ -2652,11 +2870,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 988
    +
    # File 'lib/puma/dsl.rb', line 1153
     
     def queue_requests(answer=true)
    @@ -2674,7 +2892,9 @@ 

    -

    Disable request logging, if this isn’t used it’ll be enabled by default.

    +

    Disable request logging, the inverse of #log_requests.

    + +

    The default is true.

    @@ -2685,11 +2905,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 419
    +
    # File 'lib/puma/dsl.rb', line 472
     
     def quiet(which=true)
    @@ -2711,11 +2931,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 453
    +
    # File 'lib/puma/dsl.rb', line 522
     
     def rack_url_scheme(scheme=nil)
    @@ -2746,11 +2966,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 446
    +
    # File 'lib/puma/dsl.rb', line 514
     
     def rackup(path)
    @@ -2768,9 +2988,11 @@ 

    -

    By default, ::Puma will raise SignalException when SIGTERM is received. In environments where SIGTERM is something expected, you can suppress these with this option.

    +

    Raises a SignalException when SIGTERM is received. In environments where SIGTERM is something expected, you can suppress these with this option.

    -

    This can be useful for example in Kubernetes, where rolling restart is guaranteed usually on infrastructure level.

    +

    This can be useful for example in Kubernetes, where rolling restart is guaranteed usually on the infrastructure level.

    + +

    The default is true.

    @@ -2786,11 +3008,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 856
    +
    # File 'lib/puma/dsl.rb', line 997
     
     def raise_exception_on_sigterm(answer=true)
    @@ -2819,11 +3041,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 403
    +
    # File 'lib/puma/dsl.rb', line 452
     
     def restart_command(cmd)
    @@ -2838,11 +3060,11 @@ 

    #set_default_host(host)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 150
    +
    # File 'lib/puma/dsl.rb', line 152
     
     def set_default_host(host)
    @@ -2864,7 +3086,7 @@ 

    There are 5 possible values:

    1. -

      :socket (the default) - read the peername from the socket using the syscall. This is the normal behavior. If this fails for any reason (e.g., if the peer disconnects between the connection being accepted and the getpeername system call), Puma will return “0.0.0.0”

      +

      :socket - read the peername from the socket using the syscall. This is the normal behavior. If this fails for any reason (e.g., if the peer disconnects between the connection being accepted and the getpeername system call), Puma will return “0.0.0.0”

    2. :localhost - set the remote address to “127.0.0.1”

    3. @@ -2875,13 +3097,22 @@

      **<Any string>** - this allows you to hardcode remote address to any value you wish. Because Puma never uses this field anyway, it’s format is entirely in your hands.

    +

    The default is :socket.

    + +

    +
    +
    +
    +

    Examples:

    +
    set_remote_address :localhost
    +
    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 1039
    +
    # File 'lib/puma/dsl.rb', line 1213
     
     def set_remote_address(val=:socket)
    @@ -2928,11 +3159,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 996
    +
    # File 'lib/puma/dsl.rb', line 1161
     
     def shutdown_debug(val=true)
    @@ -2952,13 +3183,22 @@ 

    Disable warning message when running single mode with callback hook defined.

    +

    The default is false.

    +

    - [ GitHub ] +
    +
    +

    Examples:

    +
    silence_fork_callback_warning
    +
    + +
    + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 607
    +
    # File 'lib/puma/dsl.rb', line 711
     
     def silence_fork_callback_warning
    @@ -2992,13 +3232,22 @@ 

    Moving from workers = 1 to workers = 0 will save 10-30% of memory use.

    +

    The default is false.

    +

    - [ GitHub ] +
    +
    +

    Examples:

    +
    silence_single_worker_warning
    +
    + +
    + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 602
    +
    # File 'lib/puma/dsl.rb', line 700
     
     def silence_single_worker_warning
    @@ -3039,6 +3288,7 @@ 

    cert: path_to_cert, key: path_to_key, ssl_cipher_filter: cipher_filter, # optional + ssl_ciphersuites: ciphersuites, # optional verify_mode: verify_mode, # default 'none' verification_flags: flags, # optional, not supported by JRuby reuse: true # optional @@ -3067,11 +3317,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 552
    +
    # File 'lib/puma/dsl.rb', line 637
     
     def ssl_bind(host, port, opts = {})
    @@ -3101,11 +3351,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 562
    +
    # File 'lib/puma/dsl.rb', line 648
     
     def state_path(path)
    @@ -3142,11 +3392,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 572
    +
    # File 'lib/puma/dsl.rb', line 659
     
     def state_permission(permission)
    @@ -3164,7 +3414,9 @@ 

    -

    Redirect STDOUT and STDERR to files specified. The append parameter specifies whether the output is appended, the default is false.

    +

    Redirect STDOUT and STDERR to files specified. The append parameter specifies whether the output is appended.

    + +

    The default is false.

    @@ -3176,11 +3428,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 468
    +
    # File 'lib/puma/dsl.rb', line 547
     
     def stdout_redirect(stdout=nil, stderr=nil, append=false)
    @@ -3236,11 +3488,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 1149
    +
    # File 'lib/puma/dsl.rb', line 1367
     
     def supported_http_methods(methods)
    @@ -3269,6 +3521,8 @@ 

    If you do not specify a tag, ::Puma will infer it. If you do not want ::Puma to add a tag, use an empty string.

    +

    The default is the current file or directory base name.

    +

    @@ -3279,11 +3533,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 886
    +
    # File 'lib/puma/dsl.rb', line 1031
     
     def tag(string)
    @@ -3296,12 +3550,14 @@ 

    - #threads(min, max) + #threads(min, max = min)

    -

    Configure min to be the minimum number of threads to use to answer requests and max the maximum.

    +

    Configure the number of threads to use to answer requests.

    + +

    It can be a single fixed number, or a min and a max.

    The default is the environment variables PUMA_MIN_THREADS / PUMA_MAX_THREADS (or MIN_THREADS / MAX_THREADS if the PUMA_ variables aren’t set).

    @@ -3312,19 +3568,20 @@

    Examples:

    +
    threads 5
    threads 0, 16
    threads 5, 5
    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 490
    +
    # File 'lib/puma/dsl.rb', line 573
     
    -def threads(min, max)
    +def threads(min, max = min)
       min = Integer(min)
       max = Integer(max)
       if min > max
    @@ -3352,6 +3609,8 @@ 

    Attempts to route traffic to less-busy workers by causing them to delay listening on the socket, allowing workers which are not processing any requests to pick up new requests first.

    +

    The default is 0.005 seconds.

    +

    Only works on MRI. For all other interpreters, this setting does nothing.

    @@ -3372,11 +3631,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 1010
    +
    # File 'lib/puma/dsl.rb', line 1179
     
     def wait_for_less_busy_worker(val=0.005)
    @@ -3391,11 +3650,11 @@ 

    #warn_if_in_single_mode(hook_name) (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 1191
    +
    # File 'lib/puma/dsl.rb', line 1410
     
     def warn_if_in_single_mode(hook_name)
    @@ -3434,7 +3693,7 @@ 

    Change the default worker timeout for booting.

    -

    If unspecified, this defaults to the value of worker_timeout.

    +

    The default is the value of #worker_timeout.

    @@ -3449,11 +3708,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 937
    +
    # File 'lib/puma/dsl.rb', line 1088
     
     def worker_boot_timeout(timeout)
    @@ -3481,14 +3740,14 @@ 

    Change the default interval for checking workers.

    -

    The default value is 5 seconds.

    +

    The default is 5 seconds.

    Examples:

    -
    worker_check_interval 5
    +
    worker_check_interval 10

    See Also:

      @@ -3496,11 +3755,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 899
    +
    # File 'lib/puma/dsl.rb', line 1046
     
     def worker_check_interval(interval)
    @@ -3535,6 +3794,8 @@ 

    :oldest - the oldest workers (i.e. the workers that were started the longest time ago) will be culled.

    +

    The default is :youngest.

    +

    @@ -3548,11 +3809,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 964
    +
    # File 'lib/puma/dsl.rb', line 1125
     
     def worker_culling_strategy(strategy)
    @@ -3586,20 +3847,26 @@ 

    Set the timeout for worker shutdown.

    +

    The default is 60 seconds.

    +

    -

    See Also:

    +
    +

    Examples:

    +
    worker_shutdown_timeout 90
    +
    +

    See Also:

    • Puma::Cluster::Worker#term
    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 946
    +
    # File 'lib/puma/dsl.rb', line 1103
     
     def worker_shutdown_timeout(timeout)
    @@ -3627,7 +3894,9 @@ 

    Verifies that all workers have checked in to the master process within the given timeout. If not the worker process will be restarted. This is not a request timeout, it is to protect against a hung or dead process. Setting this value will not protect against slow requests.

    -

    This value must be greater than worker_check_interval. The default value is 60 seconds.

    +

    This value must be greater than worker_check_interval.

    + +

    The default is 60 seconds.

    @@ -3642,11 +3911,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 916
    +
    # File 'lib/puma/dsl.rb', line 1066
     
     def worker_timeout(timeout)
    @@ -3686,17 +3955,21 @@ 

    -

    See Also:

    +
    +

    Examples:

    +
    workers 2
    +
    +

    See Also:

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/dsl.rb', line 584
    +
    # File 'lib/puma/dsl.rb', line 676
     
     def workers(count)
    diff --git a/puma/Puma/ErrorLogger.html b/puma/Puma/ErrorLogger.html
    index 4dcf67d..bd8d122 100644
    --- a/puma/Puma/ErrorLogger.html
    +++ b/puma/Puma/ErrorLogger.html
    @@ -8,7 +8,7 @@
     
     
     
    -Class: Puma::ErrorLogger — Puma-6.4.3
    +Class: Puma::ErrorLogger — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (E) » Puma » ErrorLogger ▲ @@ -87,7 +87,7 @@

    Class: Puma::ErrorLogger

    Defined in: - lib/puma/error_logger.rb + lib/puma/error_logger.rb @@ -119,12 +119,12 @@

    Constant Summary

  • LOG_QUEUE =
    - # File 'lib/puma/error_logger.rb', line 16
    Queue.new
    + # File 'lib/puma/error_logger.rb', line 16
    Queue.new
  • REQUEST_FORMAT =
    - # File 'lib/puma/error_logger.rb', line 14
    %{"%s %s%s" - (%s)}
    + # File 'lib/puma/error_logger.rb', line 14
    %{"%s %s%s" - (%s)}
  • Const - Included

    @@ -220,13 +220,13 @@

    Class Method Summary

    @@ -300,7 +300,7 @@

    Constructor Details

    - .new(ioerr) ⇒ ErrorLogger + .new(ioerr, env: ENV) ⇒ ErrorLogger

    @@ -310,17 +310,17 @@

    - [ GitHub ] + [ GitHub ]
    
       
    # File 'lib/puma/error_logger.rb', line 18
     
    -def initialize(ioerr)
    +def initialize(ioerr, env: ENV)
       @ioerr = ioerr
     
    -  @debug = ENV.key? 'PUMA_DEBUG'
    +  @debug = env.key?('PUMA_DEBUG')
     end
     
    @@ -330,17 +330,17 @@

    Class Method Details

    - .stdio + .stdio(env: ENV)

    - [ GitHub ] + [ GitHub ]
    
       
    # File 'lib/puma/error_logger.rb', line 24
     
    -def self.stdio
    -  new $stderr
    +def self.stdio(env: ENV)
    +  new($stderr, env: env)
     end
     
    @@ -352,7 +352,7 @@

    Instance Attribute Details

    #ioerr (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -384,7 +384,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -427,7 +427,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -446,7 +446,7 @@

    #internal_write(str) (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -475,7 +475,7 @@

    #request_dump(req)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -495,7 +495,7 @@

    #request_headers(req)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -523,7 +523,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -542,7 +542,7 @@

    #request_title(req)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -568,7 +568,7 @@

    #title(options = {})

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/Events.html b/puma/Puma/Events.html index e7b9561..0dd5882 100644 --- a/puma/Puma/Events.html +++ b/puma/Puma/Events.html @@ -8,7 +8,7 @@ -Class: Puma::Events — Puma-6.4.3 +Class: Puma::Events — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (E) » Puma » Events ▲ @@ -77,7 +77,7 @@

    Class: Puma::Events

    Defined in: - lib/puma/events.rb + lib/puma/events.rb @@ -169,7 +169,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -196,7 +196,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -215,7 +215,7 @@

    #fire_on_booted!

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -234,7 +234,7 @@

    #fire_on_restart!

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -253,7 +253,7 @@

    #fire_on_stopped!

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -272,7 +272,7 @@

    #on_booted(&block)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -291,7 +291,7 @@

    #on_restart(&block)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -310,7 +310,7 @@

    #on_stopped(&block)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -336,7 +336,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/HttpParser.html b/puma/Puma/HttpParser.html index fa5e69d..c17ebf5 100644 --- a/puma/Puma/HttpParser.html +++ b/puma/Puma/HttpParser.html @@ -8,7 +8,7 @@ -Class: Puma::HttpParser — Puma-6.4.3 +Class: Puma::HttpParser — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (H) » Puma » HttpParser ▲ @@ -77,7 +77,7 @@

    Class: Puma::HttpParser

    Defined in: - ext/puma_http11/puma_http11.c + ext/puma_http11/puma_http11.c @@ -178,7 +178,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -209,7 +209,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -238,7 +238,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -268,7 +268,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -300,7 +300,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -351,7 +351,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -381,7 +381,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -410,7 +410,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/HttpParserError.html b/puma/Puma/HttpParserError.html index fc4c3c6..3869f6f 100644 --- a/puma/Puma/HttpParserError.html +++ b/puma/Puma/HttpParserError.html @@ -8,7 +8,7 @@ -Exception: Puma::HttpParserError — Puma-6.4.3 +Exception: Puma::HttpParserError — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (H) » Puma » HttpParserError ▲ @@ -104,7 +104,7 @@

    Exception: Puma::HttpParserError

    Defined in: - ext/puma_http11/puma_http11.c + ext/puma_http11/puma_http11.c diff --git a/puma/Puma/HttpParserError501.html b/puma/Puma/HttpParserError501.html index 7867621..2444076 100644 --- a/puma/Puma/HttpParserError501.html +++ b/puma/Puma/HttpParserError501.html @@ -8,7 +8,7 @@ -Exception: Puma::HttpParserError501 — Puma-6.4.3 +Exception: Puma::HttpParserError501 — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (H) » Puma » HttpParserError501 ▲ @@ -104,7 +104,7 @@

    Exception: Puma::HttpParserError501

    Defined in: - lib/puma/client.rb + lib/puma/client.rb diff --git a/puma/Puma/IOBuffer.html b/puma/Puma/IOBuffer.html index a37c907..7fb192a 100644 --- a/puma/Puma/IOBuffer.html +++ b/puma/Puma/IOBuffer.html @@ -8,7 +8,7 @@ -Class: Puma::IOBuffer — Puma-6.4.3 +Class: Puma::IOBuffer — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (I) » Puma » IOBuffer ▲ @@ -101,7 +101,7 @@

    Class: Puma::IOBuffer

    Defined in: - lib/puma/io_buffer.rb + lib/puma/io_buffer.rb @@ -181,7 +181,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -201,7 +201,7 @@

    Instance Attribute Details

    #empty?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -221,7 +221,7 @@

    Instance Method Details

    #append(*strs)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -245,7 +245,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -281,7 +281,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -305,7 +305,7 @@

    #reset Also known as: #clear

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -325,7 +325,7 @@

    #to_s

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/JRubyRestart.html b/puma/Puma/JRubyRestart.html index 1b874f0..4c48578 100644 --- a/puma/Puma/JRubyRestart.html +++ b/puma/Puma/JRubyRestart.html @@ -8,7 +8,7 @@ -Module: Puma::JRubyRestart — Puma-6.4.3 +Module: Puma::JRubyRestart — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (J) » Puma » JRubyRestart ▲ @@ -81,63 +81,11 @@

    Module: Puma::JRubyRestart

    Defined in: - lib/puma/jruby_restart.rb + lib/puma/jruby_restart.rb
    -

    Class Method Summary

    -
    - -
    -

    Class Method Details

    -
    -

    - .chdir_exec(dir, argv) -

    -
    -
    - -
    -
    -
    -

    Raises:

    -
      -
    • - (SystemCallError) -
    • -
    - -
    - [ GitHub ] -
    -
    
    -  
    -
    # File 'lib/puma/jruby_restart.rb', line 16
    -
    -
    -def self.chdir_exec(dir, argv)
    -  chdir(dir)
    -  cmd = argv.first
    -  argv = ([:string] * argv.size).zip(argv)
    -  argv.flatten!
    -  argv << :string
    -  argv << nil
    -  execlp(cmd, *argv)
    -  raise SystemCallError.new(FFI.errno)
    -end
    -
    -
    -
    -
    - -
    diff --git a/puma/Puma/JSONSerialization.html b/puma/Puma/JSONSerialization.html index 1eb9024..c46ef50 100644 --- a/puma/Puma/JSONSerialization.html +++ b/puma/Puma/JSONSerialization.html @@ -8,7 +8,7 @@ -Module: Puma::JSONSerialization — Puma-6.4.3 +Module: Puma::JSONSerialization — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (J) » Puma » JSONSerialization ▲ @@ -77,7 +77,7 @@

    Module: Puma::JSONSerialization

    Defined in: - lib/puma/json_serialization.rb + lib/puma/json_serialization.rb @@ -100,12 +100,12 @@

    Constant Summary

  • BACKSLASH =
    - # File 'lib/puma/json_serialization.rb', line 22
    /\\/
    + # File 'lib/puma/json_serialization.rb', line 22
    /\\/
  • CHAR_TO_ESCAPE =
    - # File 'lib/puma/json_serialization.rb', line 24
    Regexp.union QUOTE, BACKSLASH, CONTROL_CHAR_TO_ESCAPE
    + # File 'lib/puma/json_serialization.rb', line 24
    Regexp.union QUOTE, BACKSLASH, CONTROL_CHAR_TO_ESCAPE
  • CONTROL_CHAR_TO_ESCAPE = @@ -116,12 +116,12 @@

    Constant Summary

  • - # File 'lib/puma/json_serialization.rb', line 23
    /[\x00-\x1F]/
    + # File 'lib/puma/json_serialization.rb', line 23
    /[\x00-\x1F]/
  • QUOTE =
    - # File 'lib/puma/json_serialization.rb', line 21
    /"/
    + # File 'lib/puma/json_serialization.rb', line 21
    /"/
  • @@ -159,7 +159,7 @@

    Class Method Details

    .generate(value)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -181,7 +181,7 @@

    .serialize_object_key(output, value) (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -205,7 +205,7 @@

    .serialize_string(output, value) (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -235,7 +235,7 @@

    .serialize_value(output, value) (private)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/JSONSerialization/SerializationError.html b/puma/Puma/JSONSerialization/SerializationError.html index cd6c2b1..3f7c148 100644 --- a/puma/Puma/JSONSerialization/SerializationError.html +++ b/puma/Puma/JSONSerialization/SerializationError.html @@ -8,7 +8,7 @@ -Exception: Puma::JSONSerialization::SerializationError — Puma-6.4.3 +Exception: Puma::JSONSerialization::SerializationError — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (S) » Puma » JSONSerialization » @@ -105,7 +105,7 @@

    Exception: Puma::JSONSerialization::SerializationError

    Defined in: - lib/puma/json_serialization.rb + lib/puma/json_serialization.rb diff --git a/puma/Puma/Launcher.html b/puma/Puma/Launcher.html index eafa292..d40e359 100644 --- a/puma/Puma/Launcher.html +++ b/puma/Puma/Launcher.html @@ -8,7 +8,7 @@ -Class: Puma::Launcher — Puma-6.4.3 +Class: Puma::Launcher — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (L) » Puma » Launcher ▲ @@ -83,7 +83,7 @@

    Class: Puma::Launcher

    Defined in: - lib/puma/launcher.rb,
    lib/puma/launcher/bundle_pruner.rb
    + lib/puma/launcher.rb,
    lib/puma/launcher/bundle_pruner.rb
    @@ -418,9 +418,9 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    # File 'lib/puma/launcher.rb', line 41
    @@ -433,6 +433,8 @@ 

    @original_argv = @argv.dup @config = conf + env = launcher_args.delete(:env) || ENV + @config.options[:log_writer] = @log_writer # Advertise the Configuration @@ -449,7 +451,7 @@

    # Load the systemd integration if we detect systemd's NOTIFY_SOCKET. # Skip this on JRuby though, because it is incompatible with the systemd # integration due to https://github.com/jruby/jruby/issues/6504 - if ENV["NOTIFY_SOCKET"] && !Puma.jruby? + if ENV["NOTIFY_SOCKET"] && !Puma.jruby? && !ENV["PUMA_SKIP_SYSTEMD"] @config.plugins.create('systemd') end @@ -492,7 +494,7 @@

    @status = :run - log_config if ENV['PUMA_LOG_CONFIG'] + log_config if env['PUMA_LOG_CONFIG'] end

    @@ -504,11 +506,11 @@

    Instance Attribute Details

    #binder (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 111
    +
    # File 'lib/puma/launcher.rb', line 113
     
     attr_reader :binder, :log_writer, :events, :config, :options, :restart_dir
    @@ -521,11 +523,11 @@ 

    #clustered?Boolean (readonly, private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 326
    +
    # File 'lib/puma/launcher.rb', line 330
     
     def clustered?
    @@ -540,11 +542,11 @@ 

    #config (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 111
    +
    # File 'lib/puma/launcher.rb', line 113
     
     attr_reader :binder, :log_writer, :events, :config, :options, :restart_dir
    @@ -575,11 +577,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 202
    +
    # File 'lib/puma/launcher.rb', line 204
     
     def connected_ports
    @@ -594,11 +596,11 @@ 

    #environment (readonly, private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 352
    +
    # File 'lib/puma/launcher.rb', line 356
     
     def environment
    @@ -613,11 +615,11 @@ 

    #events (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 111
    +
    # File 'lib/puma/launcher.rb', line 113
     
     attr_reader :binder, :log_writer, :events, :config, :options, :restart_dir
    @@ -630,11 +632,11 @@ 

    #log_writer (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 111
    +
    # File 'lib/puma/launcher.rb', line 113
     
     attr_reader :binder, :log_writer, :events, :config, :options, :restart_dir
    @@ -647,11 +649,11 @@ 

    #options (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 111
    +
    # File 'lib/puma/launcher.rb', line 113
     
     attr_reader :binder, :log_writer, :events, :config, :options, :restart_dir
    @@ -664,11 +666,11 @@ 

    #prune_bundler?Boolean (readonly, private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 356
    +
    # File 'lib/puma/launcher.rb', line 360
     
     def prune_bundler?
    @@ -683,11 +685,11 @@ 

    #restart_args (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 207
    +
    # File 'lib/puma/launcher.rb', line 209
     
     def restart_args
    @@ -707,11 +709,11 @@ 

    #restart_dir (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 111
    +
    # File 'lib/puma/launcher.rb', line 113
     
     attr_reader :binder, :log_writer, :events, :config, :options, :restart_dir
    @@ -740,11 +742,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 227
    +
    # File 'lib/puma/launcher.rb', line 229
     
     def thread_status
    @@ -766,11 +768,11 @@ 

    #title (readonly, private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 340
    +
    # File 'lib/puma/launcher.rb', line 344
     
     def title
    @@ -788,11 +790,11 @@ 

    Instance Method Details

    #close_binder_listeners

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 216
    +
    # File 'lib/puma/launcher.rb', line 218
     
     def close_binder_listeners
    @@ -819,11 +821,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 139
    +
    # File 'lib/puma/launcher.rb', line 141
     
     def delete_pidfile
    @@ -839,11 +841,11 @@ 

    #do_forceful_stop (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 265
    +
    # File 'lib/puma/launcher.rb', line 267
     
     def do_forceful_stop
    @@ -859,11 +861,11 @@ 

    #do_graceful_stop (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 270
    +
    # File 'lib/puma/launcher.rb', line 272
     
     def do_graceful_stop
    @@ -879,11 +881,11 @@ 

    #do_restart(previous_env) (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 275
    +
    # File 'lib/puma/launcher.rb', line 277
     
     def do_restart(previous_env)
    @@ -901,11 +903,11 @@ 

    #do_run_finished(previous_env) (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 252
    +
    # File 'lib/puma/launcher.rb', line 254
     
     def do_run_finished(previous_env)
    @@ -929,11 +931,11 @@ 

    #generate_restart_data (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 365
    +
    # File 'lib/puma/launcher.rb', line 369
     
     def generate_restart_data
    @@ -989,11 +991,11 @@ 

    #get_env (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 240
    +
    # File 'lib/puma/launcher.rb', line 242
     
     def get_env
    @@ -1023,11 +1025,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 145
    +
    # File 'lib/puma/launcher.rb', line 147
     
     def halt
    @@ -1043,11 +1045,11 @@ 

    #log(str) (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 322
    +
    # File 'lib/puma/launcher.rb', line 326
     
     def log(str)
    @@ -1062,11 +1064,11 @@ 

    #log_config (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 475
    +
    # File 'lib/puma/launcher.rb', line 479
     
     def log_config
    @@ -1093,11 +1095,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 163
    +
    # File 'lib/puma/launcher.rb', line 165
     
     def phased_restart
    @@ -1116,11 +1118,11 @@ 

    #prune_bundler! (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 360
    +
    # File 'lib/puma/launcher.rb', line 364
     
     def prune_bundler!
    @@ -1143,11 +1145,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 172
    +
    # File 'lib/puma/launcher.rb', line 174
     
     def refork
    @@ -1168,11 +1170,11 @@ 

    #reload_worker_directory (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 318
    +
    # File 'lib/puma/launcher.rb', line 322
     
     def reload_worker_directory
    @@ -1194,11 +1196,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 157
    +
    # File 'lib/puma/launcher.rb', line 159
     
     def restart
    @@ -1214,11 +1216,11 @@ 

    #restart! (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 282
    +
    # File 'lib/puma/launcher.rb', line 284
     
     def restart!
    @@ -1229,7 +1231,9 @@ 

    close_binder_listeners require_relative 'jruby_restart' - JRubyRestart.chdir_exec(@restart_dir, restart_args) + argv = restart_args + JRubyRestart.chdir(@restart_dir) + Kernel.exec(*argv) elsif Puma.windows? close_binder_listeners @@ -1260,11 +1264,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 183
    +
    # File 'lib/puma/launcher.rb', line 185
     
     def run
    @@ -1291,11 +1295,11 @@ 

    #set_process_title (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 335
    +
    # File 'lib/puma/launcher.rb', line 339
     
     def set_process_title
    @@ -1310,11 +1314,11 @@ 

    #set_rack_environment (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 346
    +
    # File 'lib/puma/launcher.rb', line 350
     
     def set_rack_environment
    @@ -1330,11 +1334,11 @@ 

    #setup_signals (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 410
    +
    # File 'lib/puma/launcher.rb', line 414
     
     def setup_signals
    @@ -1417,11 +1421,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 114
    +
    # File 'lib/puma/launcher.rb', line 116
     
     def stats
    @@ -1443,11 +1447,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 151
    +
    # File 'lib/puma/launcher.rb', line 153
     
     def stop
    @@ -1477,11 +1481,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 330
    +
    # File 'lib/puma/launcher.rb', line 334
     
     def unsupported(str)
    @@ -1504,11 +1508,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 308
    +
    # File 'lib/puma/launcher.rb', line 312
     
     def write_pid
    @@ -1536,11 +1540,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/launcher.rb', line 120
    +
    # File 'lib/puma/launcher.rb', line 122
     
     def write_state
    diff --git a/puma/Puma/Launcher/BundlePruner.html b/puma/Puma/Launcher/BundlePruner.html
    index 9cdeea5..e41de6a 100644
    --- a/puma/Puma/Launcher/BundlePruner.html
    +++ b/puma/Puma/Launcher/BundlePruner.html
    @@ -8,7 +8,7 @@
     
     
     
    -Class: Puma::Launcher::BundlePruner — Puma-6.4.3
    +Class: Puma::Launcher::BundlePruner — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (B) » Puma » Launcher » @@ -78,7 +78,7 @@

    Class: Puma::Launcher::BundlePruner

    Defined in: - lib/puma/launcher/bundle_pruner.rb + lib/puma/launcher/bundle_pruner.rb @@ -183,7 +183,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -205,7 +205,7 @@

    Instance Method Details

    #extra_runtime_deps_paths (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -232,7 +232,7 @@

    #log(str) (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -251,7 +251,7 @@

    #paths_to_require_after_prune (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -270,7 +270,7 @@

    #prune

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -315,7 +315,7 @@

    #puma_require_paths (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -334,7 +334,7 @@

    #puma_wild_path (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -354,7 +354,7 @@

    #require_paths_for_gem(gem_spec) (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -373,7 +373,7 @@

    #require_rubygems_min_version! (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -397,7 +397,7 @@

    #spec_for_gem(gem_name) (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -416,7 +416,7 @@

    #with_unbundled_env (private)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/LogWriter.html b/puma/Puma/LogWriter.html index 7d86729..38cb6f8 100644 --- a/puma/Puma/LogWriter.html +++ b/puma/Puma/LogWriter.html @@ -8,7 +8,7 @@ -Class: Puma::LogWriter — Puma-6.4.3 +Class: Puma::LogWriter — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (L) » Puma » LogWriter ▲ @@ -84,7 +84,7 @@

    Class: Puma::LogWriter

    Defined in: - lib/puma/log_writer.rb + lib/puma/log_writer.rb @@ -105,12 +105,12 @@

    Constant Summary

  • DEFAULT =
    - # File 'lib/puma/log_writer.rb', line 44
    new(STDOUT, STDERR)
    + # File 'lib/puma/log_writer.rb', line 44
    new(STDOUT, STDERR)
  • LOG_QUEUE =
    - # File 'lib/puma/log_writer.rb', line 26
    Queue.new
    + # File 'lib/puma/log_writer.rb', line 26
    Queue.new
  • @@ -120,7 +120,7 @@

    Class Method Summary

    • - .new(stdout, stderr) ⇒ LogWriter + .new(stdout, stderr, env: ENV) ⇒ LogWriter constructor
      @@ -129,17 +129,17 @@

      Class Method Summary

    • - .null + .null(env: ENV)
    • - .stdio + .stdio(env: ENV)
    • - .strings + .strings(env: ENV)

      Returns an LogWriter object which writes its status to two StringIO objects.

      @@ -271,7 +271,7 @@

      Constructor Details

      - .new(stdout, stderr) ⇒ LogWriter + .new(stdout, stderr, env: ENV) ⇒ LogWriter

      @@ -283,21 +283,21 @@

      - [ GitHub ] + [ GitHub ]
      
         
      # File 'lib/puma/log_writer.rb', line 34
       
      -def initialize(stdout, stderr)
      +def initialize(stdout, stderr, env: ENV)
         @formatter = DefaultFormatter.new
         @custom_logger = nil
         @stdout = stdout
         @stderr = stderr
       
      -  @debug = ENV.key?('PUMA_DEBUG')
      -  @error_logger = ErrorLogger.new(@stderr)
      +  @debug = env.key?('PUMA_DEBUG')
      +  @error_logger = ErrorLogger.new(@stderr, env: env)
       end
       
      @@ -307,18 +307,18 @@

      Class Method Details

      - .null + .null(env: ENV)

      - [ GitHub ] + [ GitHub ]
      
         
      # File 'lib/puma/log_writer.rb', line 56
       
      -def self.null
      +def self.null(env: ENV)
         n = NullIO.new
      -  LogWriter.new(n, n)
      +  LogWriter.new(n, n, env: env)
       end
       
      @@ -327,17 +327,17 @@

      - .stdio + .stdio(env: ENV)

      - [ GitHub ] + [ GitHub ]
      
         
      # File 'lib/puma/log_writer.rb', line 52
       
      -def self.stdio
      -  LogWriter.new($stdout, $stderr)
      +def self.stdio(env: ENV)
      +  LogWriter.new($stdout, $stderr, env: env)
       end
       
      @@ -346,7 +346,7 @@

      - .strings + .strings(env: ENV)

      @@ -355,15 +355,15 @@

      - [ GitHub ] + [ GitHub ]
      
         
      # File 'lib/puma/log_writer.rb', line 48
       
      -def self.strings
      -  LogWriter.new(StringIO.new, StringIO.new)
      +def self.strings(env: ENV)
      +  LogWriter.new(StringIO.new, StringIO.new, env: env)
       end
       
      @@ -375,7 +375,7 @@

      Instance Attribute Details

      #custom_logger (rw)

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -392,7 +392,7 @@

      #debug?Boolean (readonly)

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -411,7 +411,7 @@

      #formatter (rw)

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -428,7 +428,7 @@

      #stderr (readonly)

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -446,7 +446,7 @@

      #stdout (readonly)

      - [ GitHub ] + [ GitHub ]
      
         
      @@ -483,7 +483,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -502,7 +502,7 @@

    #debug(str) (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -539,7 +539,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -565,7 +565,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -585,7 +585,7 @@

    #format(str)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -604,7 +604,7 @@

    #internal_write(str) (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -640,7 +640,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -670,7 +670,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -710,7 +710,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -739,7 +739,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -758,7 +758,7 @@

    #write(str)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/LogWriter/DefaultFormatter.html b/puma/Puma/LogWriter/DefaultFormatter.html index bdbfc1a..935f09c 100644 --- a/puma/Puma/LogWriter/DefaultFormatter.html +++ b/puma/Puma/LogWriter/DefaultFormatter.html @@ -8,7 +8,7 @@ -Class: Puma::LogWriter::DefaultFormatter — Puma-6.4.3 +Class: Puma::LogWriter::DefaultFormatter — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (D) » Puma » LogWriter » @@ -78,7 +78,7 @@

    Class: Puma::LogWriter::DefaultFormatter

    Defined in: - lib/puma/log_writer.rb + lib/puma/log_writer.rb @@ -98,7 +98,7 @@

    Instance Method Details

    #call(str)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/LogWriter/PidFormatter.html b/puma/Puma/LogWriter/PidFormatter.html index edbda75..345d8e1 100644 --- a/puma/Puma/LogWriter/PidFormatter.html +++ b/puma/Puma/LogWriter/PidFormatter.html @@ -8,7 +8,7 @@ -Class: Puma::LogWriter::PidFormatter — Puma-6.4.3 +Class: Puma::LogWriter::PidFormatter — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (P) » Puma » LogWriter » @@ -78,7 +78,7 @@

    Class: Puma::LogWriter::PidFormatter

    Defined in: - lib/puma/log_writer.rb + lib/puma/log_writer.rb @@ -98,7 +98,7 @@

    Instance Method Details

    #call(str)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/MiniSSL.html b/puma/Puma/MiniSSL.html index 819a887..95daa13 100644 --- a/puma/Puma/MiniSSL.html +++ b/puma/Puma/MiniSSL.html @@ -8,7 +8,7 @@ -Module: Puma::MiniSSL — Puma-6.4.3 +Module: Puma::MiniSSL — Puma-6.5.0 @@ -50,7 +50,7 @@
    - # File 'lib/puma/minissl.rb', line 18
    IS_JRUBY ||
    +    # File 'lib/puma/minissl.rb', line 18    
    IS_JRUBY ||
             ((OPENSSL_VERSION[/ \d\.\d\.\d+/].split('.').map(&:to_i) <=> [1,1,1]) != -1 &&
     (OPENSSL_LIBRARY_VERSION[/ \d\.\d\.\d+/].split('.').map(&:to_i) <=> [1,1,1]) !=-1)
    @@ -129,17 +129,17 @@

    Constant Summary

    - # File 'ext/puma_http11/mini_ssl.c', line 764
    rb_str_new2(OpenSSL_version(OPENSSL_VERSION))
    + # File 'ext/puma_http11/mini_ssl.c', line 774
    rb_str_new2(OpenSSL_version(OPENSSL_VERSION))
  • OPENSSL_NO_SSL3 =
    - # File 'lib/puma/minissl.rb', line 204
    false
    + # File 'lib/puma/minissl.rb', line 204
    false
  • OPENSSL_NO_TLS1 =
    - # File 'lib/puma/minissl.rb', line 205
    false
    + # File 'lib/puma/minissl.rb', line 205
    false
  • OPENSSL_NO_TLS1_1 = @@ -150,7 +150,7 @@

    Constant Summary

  • - # File 'ext/puma_http11/mini_ssl.c', line 785
    Qtrue
    + # File 'ext/puma_http11/mini_ssl.c', line 795
    Qtrue
  • OPENSSL_VERSION = @@ -161,7 +161,7 @@

    Constant Summary

  • - # File 'ext/puma_http11/mini_ssl.c', line 760
    rb_str_new2(OPENSSL_VERSION_TEXT)
    + # File 'ext/puma_http11/mini_ssl.c', line 770
    rb_str_new2(OPENSSL_VERSION_TEXT)
  • VERIFICATION_FLAGS = @@ -172,7 +172,7 @@

    Constant Summary

  • - # File 'lib/puma/minissl.rb', line 393
    {
    +    # File 'lib/puma/minissl.rb', line 394    
    {
       "USE_CHECK_TIME"       => 0x2,
       "CRL_CHECK"            => 0x4,
       "CRL_CHECK_ALL"        => 0x8,
    @@ -199,17 +199,17 @@ 

    Constant Summary

  • VERIFY_FAIL_IF_NO_PEER_CERT =
    - # File 'lib/puma/minissl.rb', line 389
    2
    + # File 'lib/puma/minissl.rb', line 390
    2
  • VERIFY_NONE =
    - # File 'lib/puma/minissl.rb', line 387
    0
    + # File 'lib/puma/minissl.rb', line 388
    0
  • VERIFY_PEER =
    - # File 'lib/puma/minissl.rb', line 388
    1
    + # File 'lib/puma/minissl.rb', line 389
    1
  • @@ -229,11 +229,11 @@

    Class Method Details

    .check

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'ext/puma_http11/mini_ssl.c', line 729
    +
    # File 'ext/puma_http11/mini_ssl.c', line 739
     
     VALUE noop(VALUE self) {
    diff --git a/puma/Puma/MiniSSL/Context.html b/puma/Puma/MiniSSL/Context.html
    index e1f3d64..c45333c 100644
    --- a/puma/Puma/MiniSSL/Context.html
    +++ b/puma/Puma/MiniSSL/Context.html
    @@ -8,7 +8,7 @@
     
     
     
    -Class: Puma::MiniSSL::Context — Puma-6.4.3
    +Class: Puma::MiniSSL::Context — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (C) » Puma » MiniSSL » @@ -78,7 +78,7 @@

    Class: Puma::MiniSSL::Context

    Defined in: - lib/puma/minissl.rb + lib/puma/minissl.rb @@ -304,6 +304,12 @@

    Instance Attribute Summary

    Alias for #cipher_suites.

    +
  • + + #ssl_ciphersuites + + rw +
  • #truststore @@ -389,7 +395,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -417,7 +423,7 @@

    Instance Attribute Details

    #ca (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -434,11 +440,11 @@

    #ca=(ca) (rw)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 310
    +
    # File 'lib/puma/minissl.rb', line 311
     
     def ca=(ca)
    @@ -454,7 +460,7 @@ 

    #cert (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -471,11 +477,11 @@

    #cert=(cert) (rw)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 305
    +
    # File 'lib/puma/minissl.rb', line 306
     
     def cert=(cert)
    @@ -491,7 +497,7 @@ 

    #cert_pem (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -522,11 +528,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 315
    +
    # File 'lib/puma/minissl.rb', line 316
     
     def cert_pem=(cert_pem)
    @@ -543,7 +549,7 @@ 

    #cipher_suites (rw) Also known as: #ssl_cipher_list

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -561,7 +567,7 @@

    #cipher_suites=(list) (rw) Also known as: #ssl_cipher_list=

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -588,7 +594,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -605,11 +611,11 @@

    #key=(key) (rw)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 296
    +
    # File 'lib/puma/minissl.rb', line 297
     
     def key=(key)
    @@ -625,7 +631,7 @@ 

    #key_password_command (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -642,11 +648,11 @@

    #key_password_command=(key_password_command) (rw)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 301
    +
    # File 'lib/puma/minissl.rb', line 302
     
     def key_password_command=(key_password_command)
    @@ -661,7 +667,7 @@ 

    #key_pem (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -692,11 +698,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 320
    +
    # File 'lib/puma/minissl.rb', line 321
     
     def key_pem=(key_pem)
    @@ -719,7 +725,7 @@ 

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -736,7 +742,7 @@

    #keystore=(keystore) (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -756,7 +762,7 @@

    #keystore_pass (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -773,7 +779,7 @@

    #keystore_type (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -804,7 +810,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -824,7 +830,7 @@

    #no_tlsv1 (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -857,11 +863,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 373
    +
    # File 'lib/puma/minissl.rb', line 374
     
     def no_tlsv1=(tlsv1)
    @@ -877,7 +883,7 @@ 

    #no_tlsv1_1 (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -910,11 +916,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 380
    +
    # File 'lib/puma/minissl.rb', line 381
     
     def no_tlsv1_1=(tlsv1_1)
    @@ -930,7 +936,7 @@ 

    #protocols (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -947,7 +953,7 @@

    #protocols=(list) (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -967,11 +973,11 @@

    #reuse (rw)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 294
    +
    # File 'lib/puma/minissl.rb', line 295
     
     attr_reader :reuse, :reuse_cache_size, :reuse_timeout
    @@ -1002,11 +1008,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 350
    +
    # File 'lib/puma/minissl.rb', line 351
     
     def reuse=(reuse_str)
    @@ -1037,11 +1043,11 @@ 

    #reuse_cache_size (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 294
    +
    # File 'lib/puma/minissl.rb', line 295
     
     attr_reader :reuse, :reuse_cache_size, :reuse_timeout
    @@ -1054,11 +1060,11 @@ 

    #reuse_timeout (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 294
    +
    # File 'lib/puma/minissl.rb', line 295
     
     attr_reader :reuse, :reuse_cache_size, :reuse_timeout
    @@ -1071,7 +1077,7 @@ 

    #ssl_cipher_filter (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1095,7 +1101,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1108,11 +1114,28 @@

  • +
    +

    + #ssl_ciphersuites (rw) +

    + [ GitHub ] +
    +
    
    +  
    +
    # File 'lib/puma/minissl.rb', line 292
    +
    +
    +attr_accessor :ssl_ciphersuites
    +
    +
    +
    +
    +

    #truststore (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1129,7 +1152,7 @@

    #truststore=(truststore) (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1153,7 +1176,7 @@

    #truststore_pass (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1170,7 +1193,7 @@

    #truststore_type (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1201,7 +1224,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1221,11 +1244,11 @@

    #verification_flags (rw)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 292
    +
    # File 'lib/puma/minissl.rb', line 293
     
     attr_accessor :verification_flags
    @@ -1238,7 +1261,7 @@ 

    #verify_mode (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1263,11 +1286,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 325
    +
    # File 'lib/puma/minissl.rb', line 326
     
     def check
    @@ -1297,7 +1320,7 @@ 

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1324,11 +1347,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 331
    +
    # File 'lib/puma/minissl.rb', line 332
     
     def key_password
    diff --git a/puma/Puma/MiniSSL/ContextBuilder.html b/puma/Puma/MiniSSL/ContextBuilder.html
    index a5197bc..2fcf38c 100644
    --- a/puma/Puma/MiniSSL/ContextBuilder.html
    +++ b/puma/Puma/MiniSSL/ContextBuilder.html
    @@ -8,7 +8,7 @@
     
     
     
    -Class: Puma::MiniSSL::ContextBuilder — Puma-6.4.3
    +Class: Puma::MiniSSL::ContextBuilder — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (C) » Puma » MiniSSL » @@ -78,7 +78,7 @@

    Class: Puma::MiniSSL::ContextBuilder

    Defined in: - lib/puma/minissl/context_builder.rb + lib/puma/minissl/context_builder.rb @@ -139,7 +139,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -160,11 +160,11 @@

    Instance Attribute Details

    #log_writer (readonly, private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl/context_builder.rb', line 92
    +
    # File 'lib/puma/minissl/context_builder.rb', line 93
     
     attr_reader :params, :log_writer
    @@ -177,11 +177,11 @@ 

    #params (readonly, private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl/context_builder.rb', line 92
    +
    # File 'lib/puma/minissl/context_builder.rb', line 93
     
     attr_reader :params, :log_writer
    @@ -195,9 +195,9 @@ 

    Instance Method Details

    #context

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    # File 'lib/puma/minissl/context_builder.rb', line 9
    @@ -253,6 +253,7 @@ 

    ctx.ca = params['ca'] if params['ca'] ctx.ssl_cipher_filter = params['ssl_cipher_filter'] if params['ssl_cipher_filter'] + ctx.ssl_ciphersuites = params['ssl_ciphersuites'] if params['ssl_ciphersuites'] && HAS_TLS1_3 ctx.reuse = params['reuse'] if params['reuse'] end diff --git a/puma/Puma/MiniSSL/Engine.html b/puma/Puma/MiniSSL/Engine.html index 214bde5..f5e5d1f 100644 --- a/puma/Puma/MiniSSL/Engine.html +++ b/puma/Puma/MiniSSL/Engine.html @@ -8,7 +8,7 @@ -Class: Puma::MiniSSL::Engine — Puma-6.4.3 +Class: Puma::MiniSSL::Engine — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (E) » Puma » MiniSSL » @@ -78,7 +78,7 @@

    Class: Puma::MiniSSL::Engine

    Defined in: - ext/puma_http11/mini_ssl.c + ext/puma_http11/mini_ssl.c @@ -159,11 +159,11 @@

    Class Method Details

    .client

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'ext/puma_http11/mini_ssl.c', line 510
    +
    # File 'ext/puma_http11/mini_ssl.c', line 520
     
     VALUE engine_init_client(VALUE klass) {
    @@ -192,11 +192,11 @@ 

    .server(sslctx)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'ext/puma_http11/mini_ssl.c', line 492
    +
    # File 'ext/puma_http11/mini_ssl.c', line 502
     
     VALUE engine_init_server(VALUE self, VALUE sslctx) {
    @@ -226,11 +226,11 @@ 

    Instance Attribute Details

    #init?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'ext/puma_http11/mini_ssl.c', line 668
    +
    # File 'ext/puma_http11/mini_ssl.c', line 678
     
     VALUE engine_init(VALUE self) {
    @@ -250,11 +250,11 @@ 

    Instance Method Details

    #extract

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'ext/puma_http11/mini_ssl.c', line 629
    +
    # File 'ext/puma_http11/mini_ssl.c', line 639
     
     VALUE engine_extract(VALUE self) {
    @@ -288,11 +288,11 @@ 

    #inject(str)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'ext/puma_http11/mini_ssl.c', line 528
    +
    # File 'ext/puma_http11/mini_ssl.c', line 538
     
     VALUE engine_inject(VALUE self, VALUE str) {
    @@ -339,11 +339,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'ext/puma_http11/mini_ssl.c', line 676
    +
    # File 'ext/puma_http11/mini_ssl.c', line 686
     
     VALUE engine_peercert(VALUE self) {
    @@ -397,11 +397,11 @@ 

    #read

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'ext/puma_http11/mini_ssl.c', line 579
    +
    # File 'ext/puma_http11/mini_ssl.c', line 589
     
     VALUE engine_read(VALUE self) {
    @@ -440,11 +440,11 @@ 

    #shutdown

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'ext/puma_http11/mini_ssl.c', line 652
    +
    # File 'ext/puma_http11/mini_ssl.c', line 662
     
     VALUE engine_shutdown(VALUE self) {
    @@ -491,11 +491,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'ext/puma_http11/mini_ssl.c', line 722
    +
    # File 'ext/puma_http11/mini_ssl.c', line 732
     
     static VALUE
    @@ -513,11 +513,11 @@ 

    #write(str)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'ext/puma_http11/mini_ssl.c', line 607
    +
    # File 'ext/puma_http11/mini_ssl.c', line 617
     
     VALUE engine_write(VALUE self, VALUE str) {
    diff --git a/puma/Puma/MiniSSL/SSLContext.html b/puma/Puma/MiniSSL/SSLContext.html
    index 4adab2b..8a8aa8c 100644
    --- a/puma/Puma/MiniSSL/SSLContext.html
    +++ b/puma/Puma/MiniSSL/SSLContext.html
    @@ -8,7 +8,7 @@
     
     
     
    -Class: Puma::MiniSSL::SSLContext — Puma-6.4.3
    +Class: Puma::MiniSSL::SSLContext — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (S) » Puma » MiniSSL » @@ -78,7 +78,7 @@

    Class: Puma::MiniSSL::SSLContext

    Defined in: - ext/puma_http11/mini_ssl.c + ext/puma_http11/mini_ssl.c @@ -100,9 +100,9 @@

    Constructor Details

    .new(mini_ssl_ctx)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    # File 'ext/puma_http11/mini_ssl.c', line 228
    @@ -111,7 +111,7 @@ 

    sslctx_initialize(VALUE self, VALUE mini_ssl_ctx) { SSL_CTX* ctx; int ssl_options; - VALUE key, cert, ca, verify_mode, ssl_cipher_filter, no_tlsv1, no_tlsv1_1, + VALUE key, cert, ca, verify_mode, ssl_cipher_filter, ssl_ciphersuites, no_tlsv1, no_tlsv1_1, verification_flags, session_id_bytes, cert_pem, key_pem, key_password_command, key_password; BIO *bio; X509 *x509 = NULL; @@ -151,6 +151,8 @@

    ssl_cipher_filter = rb_funcall(mini_ssl_ctx, rb_intern_const("ssl_cipher_filter"), 0); + ssl_ciphersuites = rb_funcall(mini_ssl_ctx, rb_intern_const("ssl_ciphersuites"), 0); + no_tlsv1 = rb_funcall(mini_ssl_ctx, rb_intern_const("no_tlsv1"), 0); no_tlsv1_1 = rb_funcall(mini_ssl_ctx, rb_intern_const("no_tlsv1_1"), 0); @@ -326,6 +328,14 @@

    SSL_CTX_set_cipher_list(ctx, "HIGH:!aNULL@STRENGTH"); } +#if HAVE_SSL_CTX_SET_CIPHERSUITES + // Only override OpenSSL default ciphersuites if config option is supplied. + if (!NIL_P(ssl_ciphersuites)) { + StringValue(ssl_ciphersuites); + SSL_CTX_set_ciphersuites(ctx, RSTRING_PTR(ssl_ciphersuites)); + } +#endif + #if OPENSSL_VERSION_NUMBER < 0x10002000L // Remove this case if OpenSSL 1.0.1 (now EOL) support is no longer needed. ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1); diff --git a/puma/Puma/MiniSSL/SSLError.html b/puma/Puma/MiniSSL/SSLError.html index 2fa1f5d..9a5a213 100644 --- a/puma/Puma/MiniSSL/SSLError.html +++ b/puma/Puma/MiniSSL/SSLError.html @@ -8,7 +8,7 @@ -Exception: Puma::MiniSSL::SSLError — Puma-6.4.3 +Exception: Puma::MiniSSL::SSLError — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (S) » Puma » MiniSSL » @@ -105,7 +105,7 @@

    Exception: Puma::MiniSSL::SSLError

    Defined in: - lib/puma.rb,
    ext/puma_http11/mini_ssl.c
    + lib/puma.rb,
    ext/puma_http11/mini_ssl.c
    diff --git a/puma/Puma/MiniSSL/Server.html b/puma/Puma/MiniSSL/Server.html index e454140..95d351f 100644 --- a/puma/Puma/MiniSSL/Server.html +++ b/puma/Puma/MiniSSL/Server.html @@ -8,7 +8,7 @@ -Class: Puma::MiniSSL::Server — Puma-6.4.3 +Class: Puma::MiniSSL::Server — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (S) » Puma » MiniSSL » @@ -78,7 +78,7 @@

    Class: Puma::MiniSSL::Server

    Defined in: - lib/puma/minissl.rb + lib/puma/minissl.rb @@ -153,11 +153,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 418
    +
    # File 'lib/puma/minissl.rb', line 419
     
     def initialize(socket, ctx)
    @@ -191,11 +191,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 445
    +
    # File 'lib/puma/minissl.rb', line 446
     
     def addr
    @@ -210,11 +210,11 @@ 

    #closed?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 453
    +
    # File 'lib/puma/minissl.rb', line 454
     
     def closed?
    @@ -229,11 +229,11 @@ 

    #to_io (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 439
    +
    # File 'lib/puma/minissl.rb', line 440
     
     def to_io
    @@ -249,11 +249,11 @@ 

    Instance Method Details

    #accept

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 424
    +
    # File 'lib/puma/minissl.rb', line 425
     
     def accept
    @@ -271,11 +271,11 @@ 

    #accept_nonblock

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 431
    +
    # File 'lib/puma/minissl.rb', line 432
     
     def accept_nonblock
    @@ -293,11 +293,11 @@ 

    #close

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/minissl.rb', line 449
    +
    # File 'lib/puma/minissl.rb', line 450
     
     def close
    diff --git a/puma/Puma/MiniSSL/Socket.html b/puma/Puma/MiniSSL/Socket.html
    index d723385..f9f0f0d 100644
    --- a/puma/Puma/MiniSSL/Socket.html
    +++ b/puma/Puma/MiniSSL/Socket.html
    @@ -8,7 +8,7 @@
     
     
     
    -Class: Puma::MiniSSL::Socket — Puma-6.4.3
    +Class: Puma::MiniSSL::Socket — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (S) » Puma » MiniSSL » @@ -78,7 +78,7 @@

    Class: Puma::MiniSSL::Socket

    Defined in: - lib/puma/minissl.rb + lib/puma/minissl.rb @@ -221,7 +221,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -262,7 +262,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -281,7 +281,7 @@

    #closed?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -300,7 +300,7 @@

    #peeraddr (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -329,7 +329,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -373,7 +373,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -392,7 +392,7 @@

    #to_io (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -419,7 +419,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -436,7 +436,7 @@

    #close

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -466,7 +466,7 @@

    #engine_read_all

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -489,7 +489,7 @@

    #flush

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -508,7 +508,7 @@

    #read_nonblock(size, *_)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -558,7 +558,7 @@

    #readpartial(size)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -597,7 +597,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -615,7 +615,7 @@

    #write(data) Also known as: #syswrite, #<<

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -662,7 +662,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/NullIO.html b/puma/Puma/NullIO.html index e51fda0..7a15e87 100644 --- a/puma/Puma/NullIO.html +++ b/puma/Puma/NullIO.html @@ -8,7 +8,7 @@ -Class: Puma::NullIO — Puma-6.4.3 +Class: Puma::NullIO — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (N) » Puma » NullIO ▲ @@ -77,7 +77,7 @@

    Class: Puma::NullIO

    Defined in: - lib/puma/null_io.rb + lib/puma/null_io.rb @@ -95,6 +95,18 @@

    Overview

    Instance Attribute Summary

    Instance Attribute Details

    -
    +

    + #binmode (readonly) +

    + [ GitHub ] +
    +
    
    +  
    +
    # File 'lib/puma/null_io.rb', line 93
    +
    +
    +def binmode
    +  self
    +end
    +
    +
    +
    +
    + +
    +

    + #binmode?Boolean (readonly) +

    + [ GitHub ] +
    +
    
    +  
    +
    # File 'lib/puma/null_io.rb', line 97
    +
    +
    +def binmode?
    +  true
    +end
    +
    +
    +
    +
    + +
    +

    #closed?Boolean (readonly)

    @@ -198,11 +271,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/null_io.rb', line 71
    +
    # File 'lib/puma/null_io.rb', line 80
     
     def closed?
    @@ -217,11 +290,11 @@ 

    #eof?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/null_io.rb', line 49
    +
    # File 'lib/puma/null_io.rb', line 58
     
     def eof?
    @@ -236,11 +309,11 @@ 

    #sync (rw)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/null_io.rb', line 53
    +
    # File 'lib/puma/null_io.rb', line 62
     
     def sync
    @@ -255,11 +328,11 @@ 

    #sync=(v) (rw)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/null_io.rb', line 57
    +
    # File 'lib/puma/null_io.rb', line 66
     
     def sync=(v)
    @@ -274,11 +347,11 @@ 

    Instance Method Details

    #close

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/null_io.rb', line 42
    +
    # File 'lib/puma/null_io.rb', line 51
     
     def close
    @@ -292,7 +365,7 @@ 

    #each

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -306,15 +379,41 @@

    +
    +

    + #external_encoding +

    +
    +
    + +

    per rack spec

    + +
    +
    + [ GitHub ] +
    +
    
    +  
    +
    # File 'lib/puma/null_io.rb', line 89
    +
    +
    +def external_encoding
    +  Encoding::ASCII_8BIT
    +end
    +
    +
    +
    +
    +

    #flush

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/null_io.rb', line 66
    +
    # File 'lib/puma/null_io.rb', line 75
     
     def flush
    @@ -329,7 +428,7 @@ 

    #gets

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -344,15 +443,34 @@

    +
    +

    + #pos +

    + [ GitHub ] +
    +
    
    +  
    +
    # File 'lib/puma/null_io.rb', line 19
    +
    +
    +def pos
    +  0
    +end
    +
    +
    +
    +
    +

    #puts(*ary)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/null_io.rb', line 60
    +
    # File 'lib/puma/null_io.rb', line 69
     
     def puts(*ary)
    @@ -373,11 +491,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/null_io.rb', line 21
    +
    # File 'lib/puma/null_io.rb', line 25
     
     def read(length = nil, buffer = nil)
    @@ -406,11 +524,11 @@ 

    #rewind

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/null_io.rb', line 39
    +
    # File 'lib/puma/null_io.rb', line 43
     
     def rewind
    @@ -420,15 +538,68 @@ 

    +
    +

    + #seek(pos, whence = 0) +

    +
    +
    + +
    +
    +
    +

    Raises:

    +
      +
    • + (ArgumentError) +
    • +
    + +
    + [ GitHub ] +
    +
    
    +  
    +
    # File 'lib/puma/null_io.rb', line 46
    +
    +
    +def seek(pos, whence = 0)
    +  raise ArgumentError, "negative length #{pos} given" if pos.negative?
    +  0
    +end
    +
    +
    +
    +
    + +
    +

    + #set_encoding(enc) +

    + [ GitHub ] +
    +
    
    +  
    +
    # File 'lib/puma/null_io.rb', line 84
    +
    +
    +def set_encoding(enc)
    +  self
    +end
    +
    +
    +
    +
    +

    #size

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/null_io.rb', line 45
    +
    # File 'lib/puma/null_io.rb', line 54
     
     def size
    @@ -443,7 +614,7 @@ 

    #string

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -462,11 +633,11 @@

    #write(*ary)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/null_io.rb', line 63
    +
    # File 'lib/puma/null_io.rb', line 72
     
     def write(*ary)
    diff --git a/puma/Puma/Plugin.html b/puma/Puma/Plugin.html
    index 8529caf..85ce35e 100644
    --- a/puma/Puma/Plugin.html
    +++ b/puma/Puma/Plugin.html
    @@ -8,7 +8,7 @@
     
     
     
    -Class: Puma::Plugin — Puma-6.4.3
    +Class: Puma::Plugin — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (P) » Puma » Plugin ▲ @@ -77,7 +77,7 @@

    Class: Puma::Plugin

    Defined in: - lib/puma/plugin.rb + lib/puma/plugin.rb @@ -98,7 +98,7 @@

    Constant Summary

    - # File 'lib/puma/plugin.rb', line 81
    /
    +    # File 'lib/puma/plugin.rb', line 81    
    /
       \A       # start of string
       .+       # file path (one or more characters)
       (?=      # stop previous match when
    @@ -141,7 +141,7 @@ 

    Class Method Details

    .create(&blk)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -166,7 +166,7 @@

    .extract_name(ary)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -189,7 +189,7 @@

    Instance Method Details

    #in_background(&blk)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/PluginLoader.html b/puma/Puma/PluginLoader.html index c56ae3e..f0919ae 100644 --- a/puma/Puma/PluginLoader.html +++ b/puma/Puma/PluginLoader.html @@ -8,7 +8,7 @@ -Class: Puma::PluginLoader — Puma-6.4.3 +Class: Puma::PluginLoader — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (P) » Puma » PluginLoader ▲ @@ -77,7 +77,7 @@

    Class: Puma::PluginLoader

    Defined in: - lib/puma/plugin.rb + lib/puma/plugin.rb @@ -123,7 +123,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -157,7 +157,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -182,7 +182,7 @@

    #fire_starts(launcher)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/PluginRegistry.html b/puma/Puma/PluginRegistry.html index 2530819..81f10ef 100644 --- a/puma/Puma/PluginRegistry.html +++ b/puma/Puma/PluginRegistry.html @@ -8,7 +8,7 @@ -Class: Puma::PluginRegistry — Puma-6.4.3 +Class: Puma::PluginRegistry — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (P) » Puma » PluginRegistry ▲ @@ -77,7 +77,7 @@

    Class: Puma::PluginRegistry

    Defined in: - lib/puma/plugin.rb + lib/puma/plugin.rb @@ -133,7 +133,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -154,7 +154,7 @@

    Instance Method Details

    #add_background(blk)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -187,7 +187,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -222,7 +222,7 @@

    #fire_background

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -246,7 +246,7 @@

    #register(name, cls)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/Rack.html b/puma/Puma/Rack.html index b155057..e154163 100644 --- a/puma/Puma/Rack.html +++ b/puma/Puma/Rack.html @@ -8,7 +8,7 @@ -Module: Puma::Rack — Puma-6.4.3 +Module: Puma::Rack — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (R) » Puma » Rack ▲ @@ -79,7 +79,7 @@

    Module: Puma::Rack

    Defined in: - lib/puma/rack/urlmap.rb,
    lib/puma/rack/builder.rb
    + lib/puma/rack/urlmap.rb,
    lib/puma/rack/builder.rb
    diff --git a/puma/Puma/Rack/Builder.html b/puma/Puma/Rack/Builder.html index fddcc03..c324688 100644 --- a/puma/Puma/Rack/Builder.html +++ b/puma/Puma/Rack/Builder.html @@ -8,7 +8,7 @@ -Class: Puma::Rack::Builder — Puma-6.4.3 +Class: Puma::Rack::Builder — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (B) » Puma » Rack » @@ -78,7 +78,7 @@

    Class: Puma::Rack::Builder

    Defined in: - lib/puma/rack/builder.rb + lib/puma/rack/builder.rb @@ -212,7 +212,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -241,7 +241,7 @@

    Class Method Details

    .app(default_app = nil, &block)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -260,7 +260,7 @@

    .new_from_string(builder_script, file = "(rackup)")

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -280,7 +280,7 @@

    .parse_file(config, opts = Options.new)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -312,7 +312,7 @@

    Instance Method Details

    #call(env)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -331,7 +331,7 @@

    #generate_map(default_app, mapping) (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -378,7 +378,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -417,7 +417,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -436,7 +436,7 @@

    #to_app

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -482,7 +482,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -520,7 +520,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/Rack/Options.html b/puma/Puma/Rack/Options.html index 12c1583..86266f6 100644 --- a/puma/Puma/Rack/Options.html +++ b/puma/Puma/Rack/Options.html @@ -8,7 +8,7 @@ -Class: Puma::Rack::Options — Puma-6.4.3 +Class: Puma::Rack::Options — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (O) » Puma » Rack » @@ -78,7 +78,7 @@

    Class: Puma::Rack::Options

    Defined in: - lib/puma/rack/builder.rb + lib/puma/rack/builder.rb @@ -103,7 +103,7 @@

    Instance Method Details

    #handler_opts(options)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -141,7 +141,7 @@

    #parse!(args)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/Rack/URLMap.html b/puma/Puma/Rack/URLMap.html index 1ed8d42..ad558d6 100644 --- a/puma/Puma/Rack/URLMap.html +++ b/puma/Puma/Rack/URLMap.html @@ -8,7 +8,7 @@ -Class: Puma::Rack::URLMap — Puma-6.4.3 +Class: Puma::Rack::URLMap — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (U) » Puma » Rack » @@ -78,7 +78,7 @@

    Class: Puma::Rack::URLMap

    Defined in: - lib/puma/rack/urlmap.rb + lib/puma/rack/urlmap.rb @@ -103,12 +103,12 @@

    Constant Summary

  • INFINITY =
    - # File 'lib/puma/rack/urlmap.rb', line 18
    1.0 / 0.0
    + # File 'lib/puma/rack/urlmap.rb', line 18
    1.0 / 0.0
  • NEGATIVE_INFINITY =
    - # File 'lib/puma/rack/urlmap.rb', line 17
    -1.0 / 0.0
    + # File 'lib/puma/rack/urlmap.rb', line 17
    -1.0 / 0.0
  • @@ -160,7 +160,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -180,7 +180,7 @@

    Instance Method Details

    #call(env)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -238,7 +238,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -265,7 +265,7 @@

    #remap(map)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/RackHandler.html b/puma/Puma/RackHandler.html index 91eadaf..c5eadc4 100644 --- a/puma/Puma/RackHandler.html +++ b/puma/Puma/RackHandler.html @@ -8,7 +8,7 @@ -Module: Puma::RackHandler — Puma-6.4.3 +Module: Puma::RackHandler — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (R) » Puma » RackHandler ▲ @@ -79,18 +79,28 @@

    Module: Puma::RackHandler

    Defined in: - lib/rack/handler/puma.rb + lib/rack/handler/puma.rb
    +

    Overview

    +
    +
    +
    + +

    This module is used as an ‘include’ file in code at bottom of file. It loads into either ::Rackup::Handler::Puma or ::Rack::Handler::Puma.

    + +
    +
    +

    Constant Summary

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/rack/handler/puma.rb', line 67
    +
    # File 'lib/rack/handler/puma.rb', line 70
     
     def run(app, **options)
    @@ -245,19 +255,19 @@ 

    #set_host_port_to_config(host, port, config)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/rack/handler/puma.rb', line 93
    +
    # File 'lib/rack/handler/puma.rb', line 96
     
     def set_host_port_to_config(host, port, config)
       config.clear_binds! if host || port
     
    -  if host && (host[0,1] == '.' || host[0,1] == '/')
    +  if host&.start_with? '.', '/', '@'
         config.bind "unix://#{host}"
    -  elsif host && host =~ /^ssl:\/\//
    +  elsif host&.start_with? 'ssl://'
         uri = URI.parse(host)
         uri.port ||= port || ::Puma::Configuration::DEFAULTS[:tcp_port]
         config.bind uri.to_s
    @@ -282,11 +292,11 @@ 

    #valid_options

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/rack/handler/puma.rb', line 84
    +
    # File 'lib/rack/handler/puma.rb', line 87
     
     def valid_options
    diff --git a/puma/Puma/Reactor.html b/puma/Puma/Reactor.html
    index 3ba0970..a3dd721 100644
    --- a/puma/Puma/Reactor.html
    +++ b/puma/Puma/Reactor.html
    @@ -8,7 +8,7 @@
     
     
     
    -Class: Puma::Reactor — Puma-6.4.3
    +Class: Puma::Reactor — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (R) » Puma » Reactor ▲ @@ -77,7 +77,7 @@

    Class: Puma::Reactor

    Defined in: - lib/puma/reactor.rb + lib/puma/reactor.rb @@ -182,7 +182,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -218,7 +218,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -248,7 +248,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -277,7 +277,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -303,7 +303,7 @@

    #select_loop (private)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -364,7 +364,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -395,7 +395,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/Request.html b/puma/Puma/Request.html index 7b67b8e..9ce8de3 100644 --- a/puma/Puma/Request.html +++ b/puma/Puma/Request.html @@ -8,7 +8,7 @@ -Module: Puma::Request — Puma-6.4.3 +Module: Puma::Request — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (R) » Puma » Request ▲ @@ -91,7 +91,7 @@

    Module: Puma::Request

    Defined in: - lib/puma/request.rb + lib/puma/request.rb @@ -131,12 +131,12 @@

    Constant Summary

    - # File 'lib/puma/request.rb', line 20
    1_024 * 256
    + # File 'lib/puma/request.rb', line 20
    1_024 * 256
  • CUSTOM_STAT =
    - # File 'lib/puma/request.rb', line 32
    'CUSTOM'
    + # File 'lib/puma/request.rb', line 32
    'CUSTOM'
  • IO_BODY_MAX = @@ -147,7 +147,7 @@

    Constant Summary

  • - # File 'lib/puma/request.rb', line 24
    1_024 * 64
    + # File 'lib/puma/request.rb', line 24
    1_024 * 64
  • IO_BUFFER_LEN_MAX = @@ -158,12 +158,12 @@

    Constant Summary

  • - # File 'lib/puma/request.rb', line 28
    1_024 * 512
    + # File 'lib/puma/request.rb', line 28
    1_024 * 512
  • SOCKET_WRITE_ERR_MSG =
    - # File 'lib/puma/request.rb', line 30
    "Socket timeout writing data"
    + # File 'lib/puma/request.rb', line 30
    "Socket timeout writing data"
  • Const - Included

    @@ -375,11 +375,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/request.rb', line 268
    +
    # File 'lib/puma/request.rb', line 272
     
     def default_server_port(env)
    @@ -442,11 +442,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/request.rb', line 312
    +
    # File 'lib/puma/request.rb', line 316
     
     def fast_write_response(socket, body, io_buffer, chunked, content_length)
    @@ -574,11 +574,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/request.rb', line 285
    +
    # File 'lib/puma/request.rb', line 289
     
     def fast_write_str(socket, str)
    @@ -633,11 +633,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/request.rb', line 567
    +
    # File 'lib/puma/request.rb', line 571
     
     def fetch_status_code(status)
    @@ -679,9 +679,9 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    # File 'lib/puma/request.rb', line 50
    @@ -692,7 +692,6 @@ 

    socket = client.io # io may be a MiniSSL::Socket app_body = nil - return false if closed_socket?(socket) if client.http_content_length_limit_exceeded @@ -774,7 +773,7 @@

    io_buffer.reset uncork_socket client.io app_body.close if app_body.respond_to? :close - client.tempfile&.unlink + client&.tempfile_close after_reply = env[RACK_AFTER_REPLY] || [] begin after_reply.each { |o| o.call } @@ -806,11 +805,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/request.rb', line 480
    +
    # File 'lib/puma/request.rb', line 484
     
     def illegal_header_key?(header_key)
    @@ -840,11 +839,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/request.rb', line 487
    +
    # File 'lib/puma/request.rb', line 491
     
     def illegal_header_value?(header_value)
    @@ -886,11 +885,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/request.rb', line 403
    +
    # File 'lib/puma/request.rb', line 407
     
     def normalize_env(env, client)
    @@ -1028,11 +1027,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/request.rb', line 157
    +
    # File 'lib/puma/request.rb', line 156
     
     def prepare_response(status, headers, res_body, requests, client)
    @@ -1046,9 +1045,14 @@ 

    # if the server is at capacity and the listener has a new connection ready. # This allows Puma to service connections fairly when the number # of concurrent connections exceeds the size of the threadpool. - force_keep_alive = requests < @max_fast_inline || + force_keep_alive = if @enable_keep_alives + requests < @max_fast_inline || @thread_pool.busy_threads < @max_threads || !client.listener.to_io.wait_readable(0) + else + # Always set force_keep_alive to false if the server has keep-alives not enabled. + false + end resp_info = str_headers(env, status, headers, res_body, io_buffer, force_keep_alive) @@ -1187,11 +1191,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/request.rb', line 506
    +
    # File 'lib/puma/request.rb', line 510
     
     def req_env_post_parse(env)
    @@ -1264,11 +1268,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/request.rb', line 546
    +
    # File 'lib/puma/request.rb', line 550
     
     def str_early_hints(headers)
    @@ -1368,11 +1372,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/request.rb', line 584
    +
    # File 'lib/puma/request.rb', line 588
     
     def str_headers(env, status, headers, res_body, io_buffer, force_keep_alive)
    diff --git a/puma/Puma/Runner.html b/puma/Puma/Runner.html
    index 85d1c0d..57d70b7 100644
    --- a/puma/Puma/Runner.html
    +++ b/puma/Puma/Runner.html
    @@ -8,7 +8,7 @@
     
     
     
    -Class: Puma::Runner — Puma-6.4.3
    +Class: Puma::Runner — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (R) » Puma » Runner ▲ @@ -86,7 +86,7 @@

    Class: Puma::Runner

    Defined in: - lib/puma/runner.rb + lib/puma/runner.rb @@ -143,11 +143,16 @@

    Instance Attribute Summary readonly -
  • - +
  • + #ruby_engine readonly + deprecated + Deprecated. +
    +

    Use RUBY_DESCRIPTION instead

    +
  • @@ -259,7 +264,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -287,11 +292,11 @@

    Instance Attribute Details

    #app (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/runner.rb', line 172
    +
    # File 'lib/puma/runner.rb', line 176
     
     def app
    @@ -306,7 +311,7 @@ 

    #development?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -335,7 +340,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -352,11 +357,11 @@

    #redirected_io?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/runner.rb', line 124
    +
    # File 'lib/puma/runner.rb', line 128
     
     def redirected_io?
    @@ -368,17 +373,27 @@ 

  • -

    +

    #ruby_engine (readonly)

    - [ GitHub ] +
    +
    +
    Deprecated.
    +

    Use RUBY_DESCRIPTION instead

    +
    + +
    +
    + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/runner.rb', line 94
    +
    # File 'lib/puma/runner.rb', line 95
     
     def ruby_engine
    +  warn "Puma::Runner#ruby_engine is deprecated; use RUBY_DESCRIPTION instead. It will be removed in puma v7."
    +
       if !defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby"
         "ruby #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
       else
    @@ -398,7 +413,7 @@ 

    #test?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -434,7 +449,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -453,7 +468,7 @@

    #debug(str)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -479,11 +494,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/runner.rb', line 207
    +
    # File 'lib/puma/runner.rb', line 211
     
     def debug_loaded_extensions(str)
    @@ -500,11 +515,11 @@ 

    #ensure_output_directory_exists(path, io_name) (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/runner.rb', line 183
    +
    # File 'lib/puma/runner.rb', line 187
     
     def ensure_output_directory_exists(path, io_name)
    @@ -521,7 +536,7 @@ 

    #error(str)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -540,11 +555,11 @@

    #load_and_bind

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/runner.rb', line 155
    +
    # File 'lib/puma/runner.rb', line 159
     
     def load_and_bind
    @@ -571,7 +586,7 @@ 

    #log(str)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -590,11 +605,11 @@

    #output_header(mode)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/runner.rb', line 106
    +
    # File 'lib/puma/runner.rb', line 109
     
     def output_header(mode)
    @@ -603,7 +618,8 @@ 

    environment = @options[:environment] log "Puma starting in #{mode} mode..." - log "* Puma version: #{Puma::Const::PUMA_VERSION} (#{ruby_engine}) (\"#{Puma::Const::CODE_NAME}\")" + log "* Puma version: #{Puma::Const::PUMA_VERSION} (\"#{Puma::Const::CODE_NAME}\")" + log "* Ruby version: #{RUBY_DESCRIPTION}" log "* Min threads: #{min_t}" log "* Max threads: #{max_t}" log "* Environment: #{environment}" @@ -623,11 +639,11 @@

    #redirect_io

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/runner.rb', line 128
    +
    # File 'lib/puma/runner.rb', line 132
     
     def redirect_io
    @@ -665,7 +681,7 @@ 

    #start_control

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -707,11 +723,11 @@

    #start_server

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/runner.rb', line 176
    +
    # File 'lib/puma/runner.rb', line 180
     
     def start_server
    @@ -728,11 +744,11 @@ 

    #stats (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/runner.rb', line 193
    +
    # File 'lib/puma/runner.rb', line 197
     
     def stats
    @@ -772,7 +788,7 @@ 

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -791,11 +807,11 @@

    #utc_iso8601(val) (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/runner.rb', line 189
    +
    # File 'lib/puma/runner.rb', line 193
     
     def utc_iso8601(val)
    @@ -810,7 +826,7 @@ 

    #wakeup!

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -820,7 +836,7 @@

    def wakeup! return unless @wakeup - @wakeup.write "!" unless @wakeup.closed? + @wakeup.write Puma::Const::PipeRequest::WAKEUP unless @wakeup.closed? rescue SystemCallError, IOError Puma::Util.purge_interrupt_queue diff --git a/puma/Puma/SdNotify.html b/puma/Puma/SdNotify.html index 9fb20a9..d9ecddd 100644 --- a/puma/Puma/SdNotify.html +++ b/puma/Puma/SdNotify.html @@ -8,7 +8,7 @@ -Module: Puma::SdNotify — Puma-6.4.3 +Module: Puma::SdNotify — Puma-6.5.0 @@ -50,7 +50,7 @@
    @@ -261,7 +261,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -310,7 +310,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -329,7 +329,7 @@

    .fdstore(unset_env = false)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -363,7 +363,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -428,7 +428,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -460,7 +460,7 @@

    .ready(unset_env = false)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -479,7 +479,7 @@

    .reloading(unset_env = false)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -516,7 +516,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -535,7 +535,7 @@

    .stopping(unset_env = false)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -554,7 +554,7 @@

    .watchdog(unset_env = false) (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/SdNotify/NotifyError.html b/puma/Puma/SdNotify/NotifyError.html index d92754d..4d6dcfc 100644 --- a/puma/Puma/SdNotify/NotifyError.html +++ b/puma/Puma/SdNotify/NotifyError.html @@ -8,7 +8,7 @@ -Exception: Puma::SdNotify::NotifyError — Puma-6.4.3 +Exception: Puma::SdNotify::NotifyError — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (N) » Puma » SdNotify » @@ -102,7 +102,7 @@

    Exception: Puma::SdNotify::NotifyError

    Defined in: - lib/puma/sd_notify.rb + lib/puma/sd_notify.rb diff --git a/puma/Puma/Server.html b/puma/Puma/Server.html index ad6a886..63b4e9c 100644 --- a/puma/Puma/Server.html +++ b/puma/Puma/Server.html @@ -8,7 +8,7 @@ -Class: Puma::Server — Puma-6.4.3 +Class: Puma::Server — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (S) » Puma » Server ▲ @@ -88,7 +88,7 @@

    Class: Puma::Server

    Defined in: - lib/puma/server.rb + lib/puma/server.rb @@ -132,17 +132,12 @@

    Constant Summary

    - # File 'lib/puma/server.rb', line 646
    [:backlog, :running, :pool_capacity, :max_threads, :requests_count].freeze
    - -
  • - THREAD_LOCAL_KEY = -
    - # File 'lib/puma/server.rb', line 49
    :puma_server
    + # File 'lib/puma/server.rb', line 649
    [:backlog, :running, :pool_capacity, :max_threads, :requests_count].freeze
  • UNPACK_TCP_STATE_FROM_TCP_INFO =
    - # File 'lib/puma/server.rb', line 185
    "C".freeze
    + # File 'lib/puma/server.rb', line 189
    "C".freeze
  • Const - Included

    @@ -363,6 +358,12 @@

    Instance Attribute Summary

    for #stats

    +
  • + + #options + + readonly +
  • #persistent_timeout @@ -404,7 +405,7 @@

    Instance Attribute Summary
  • - #stats + #stats ⇒ Hash readonly
    @@ -456,7 +457,7 @@

    Instance Method Summary

    #closed_socket?(socket)
    -

    See additional method definition at line 187.

    +

    See additional method definition at line 191.

  • @@ -535,7 +536,7 @@

    Instance Method Summary

    #uncork_socket(socket)
    -

    See additional method definition at line 168.

    +

    See additional method definition at line 172.

  • @@ -635,7 +636,7 @@

    Note:
    -

    The #events parameter is set to nil, and set to Events.new in code. Often options needs to be passed, but #events does not. Using nil allows calling code to not require events.rb.

    +

    The #events parameter is set to nil, and set to Events.new in code. Often #options needs to be passed, but #events does not. Using nil allows calling code to not require events.rb.

    @@ -653,14 +654,14 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 68
    +
    # File 'lib/puma/server.rb', line 71
     
    -def initialize(app, events = nil, options = {})
    +def initialize(app, events = nil, options = {})
       @app = app
       @events = events || Events.new
     
    @@ -670,10 +671,10 @@ 

    @thread = nil @thread_pool = nil - @options = if options.is_a?(UserFileDefaultOptions) - options + @options = if options.is_a?(UserFileDefaultOptions) + options else - UserFileDefaultOptions.new(options, Configuration::DEFAULTS) + UserFileDefaultOptions.new(options, Configuration::DEFAULTS) end @clustered = (@options.fetch :workers, 0) > 0 @@ -687,6 +688,7 @@

    @max_threads = @options[:max_threads] @queue_requests = @options[:queue_requests] @max_fast_inline = @options[:max_fast_inline] + @enable_keep_alives = @options[:enable_keep_alives] @io_selector_backend = @options[:io_selector_backend] @http_content_length_limit = @options[:http_content_length_limit] @@ -746,11 +748,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 144
    +
    # File 'lib/puma/server.rb', line 148
     
     def closed_socket_supported?
    @@ -765,15 +767,15 @@ 

    .current (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 132
    +
    # File 'lib/puma/server.rb', line 136
     
     def current
    -  Thread.current[THREAD_LOCAL_KEY]
    +  Thread.current.puma_server
     end
     
    @@ -803,11 +805,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 138
    +
    # File 'lib/puma/server.rb', line 142
     
     def tcp_cork_supported?
    @@ -823,11 +825,11 @@ 

    Instance Attribute Details

    #app (rw)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 46
    +
    # File 'lib/puma/server.rb', line 50
     
     attr_accessor :app
    @@ -853,11 +855,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 42
    +
    # File 'lib/puma/server.rb', line 46
     
     attr_reader :auto_trim_time, :early_hints, :first_data_timeout,
    @@ -872,11 +874,11 @@ 

    #backlog (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 210
    +
    # File 'lib/puma/server.rb', line 214
     
     def backlog
    @@ -891,11 +893,11 @@ 

    #binder (rw)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 47
    +
    # File 'lib/puma/server.rb', line 51
     
     attr_accessor :binder
    @@ -908,11 +910,11 @@ 

    #connected_ports (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 673
    +
    # File 'lib/puma/server.rb', line 680
     
     def connected_ports
    @@ -940,11 +942,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 42
    +
    # File 'lib/puma/server.rb', line 46
     
     attr_reader :auto_trim_time, :early_hints, :first_data_timeout,
    @@ -959,11 +961,11 @@ 

    #events (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 37
    +
    # File 'lib/puma/server.rb', line 41
     
     attr_reader :events
    @@ -989,11 +991,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 42
    +
    # File 'lib/puma/server.rb', line 46
     
     attr_reader :auto_trim_time, :early_hints, :first_data_timeout,
    @@ -1021,11 +1023,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 42
    +
    # File 'lib/puma/server.rb', line 46
     
     attr_reader :auto_trim_time, :early_hints, :first_data_timeout,
    @@ -1040,11 +1042,11 @@ 

    #log_writer (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 36
    +
    # File 'lib/puma/server.rb', line 40
     
     attr_reader :log_writer
    @@ -1064,11 +1066,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 38
    +
    # File 'lib/puma/server.rb', line 42
     
     attr_reader :min_threads, :max_threads  # for #stats
    @@ -1088,14 +1090,31 @@ 

    - [ GitHub ] + [ GitHub ] +
    +
    
    +  
    +
    # File 'lib/puma/server.rb', line 42
    +
    +
    +attr_reader :min_threads, :max_threads  # for #stats
    +
    +
    +
    +

  • + +
    +

    + #options (readonly) +

    + [ GitHub ]
    
       
    # File 'lib/puma/server.rb', line 38
     
    -attr_reader :min_threads, :max_threads  # for #stats
    +attr_reader :options
     
    @@ -1118,11 +1137,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 42
    +
    # File 'lib/puma/server.rb', line 46
     
     attr_reader :auto_trim_time, :early_hints, :first_data_timeout,
    @@ -1146,11 +1165,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 228
    +
    # File 'lib/puma/server.rb', line 232
     
     def pool_capacity
    @@ -1178,11 +1197,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 42
    +
    # File 'lib/puma/server.rb', line 46
     
     attr_reader :auto_trim_time, :early_hints, :first_data_timeout,
    @@ -1213,11 +1232,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 39
    +
    # File 'lib/puma/server.rb', line 43
     
     attr_reader :requests_count             # @version 5.0.0
    @@ -1230,11 +1249,11 @@ 

    #running (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 215
    +
    # File 'lib/puma/server.rb', line 219
     
     def running
    @@ -1249,11 +1268,11 @@ 

    #shutting_down?Boolean (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 640
    +
    # File 'lib/puma/server.rb', line 643
     
     def shutting_down?
    @@ -1266,7 +1285,7 @@ 

    - #stats (readonly) + #statsHash (readonly)

    @@ -1276,7 +1295,16 @@

    -

    Version:

    +

    Returns:

    +
      +
    • + (Hash) +—
      +

      hash containing stat info from Server and ThreadPool

      +
      +
    • +
    +

    Version:

    • @@ -1286,15 +1314,18 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 651
    +
    # File 'lib/puma/server.rb', line 655
     
     def stats
    -  STAT_METHODS.map {|name| [name, send(name) || 0]}.to_h
    +  stats = @thread_pool&.stats || {}
    +  stats[:max_threads]    = @max_threads
    +  stats[:requests_count] = @requests_count
    +  stats
     end
     
    @@ -1305,11 +1336,11 @@

    #thread (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 35
    +
    # File 'lib/puma/server.rb', line 39
     
     attr_reader :thread
    @@ -1323,11 +1354,11 @@ 

    Instance Method Details

    #add_ssl_listener(host, port, ctx, optimize_for_latency = true, backlog = 1024)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 663
    +
    # File 'lib/puma/server.rb', line 670
     
     def add_ssl_listener(host, port, ctx, optimize_for_latency = true,
    @@ -1343,11 +1374,11 @@ 

    #add_tcp_listener(host, port, optimize_for_latency = true, backlog = 1024)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 659
    +
    # File 'lib/puma/server.rb', line 666
     
     def add_tcp_listener(host, port, optimize_for_latency = true, backlog = 1024)
    @@ -1362,11 +1393,11 @@ 

    #add_unix_listener(path, umask = nil, mode = nil, backlog = 1024)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 668
    +
    # File 'lib/puma/server.rb', line 675
     
     def add_unix_listener(path, umask = nil, mode = nil, backlog = 1024)
    @@ -1381,11 +1412,11 @@ 

    #begin_restart(sync = false)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 635
    +
    # File 'lib/puma/server.rb', line 638
     
     def begin_restart(sync=false)
    @@ -1408,11 +1439,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 528
    +
    # File 'lib/puma/server.rb', line 532
     
     def client_error(e, client, requests = 1)
    @@ -1446,15 +1477,15 @@ 

    -

    See additional method definition at line 187.

    +

    See additional method definition at line 191.

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 204
    +
    # File 'lib/puma/server.rb', line 208
     
     def closed_socket?(socket)
    @@ -1487,15 +1518,15 @@ 

    6 == Socket::IPPROTO_TCP 3 == TCP_CORK 1/0 == turn on/off

    -

    See additional method definition at line 159.

    +

    See additional method definition at line 163.

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 177
    +
    # File 'lib/puma/server.rb', line 181
     
     def cork_socket(socket)
    @@ -1522,15 +1553,15 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 578
    +
    # File 'lib/puma/server.rb', line 581
     
     def graceful_shutdown
    -  if @options[:shutdown_debug]
    +  if options[:shutdown_debug]
         threads = Thread.list
         total = threads.size
     
    @@ -1550,7 +1581,7 @@ 

    end if @thread_pool - if timeout = @options[:force_shutdown_after] + if timeout = options[:force_shutdown_after] @thread_pool.shutdown timeout.to_f else @thread_pool.shutdown @@ -1566,11 +1597,11 @@

    #halt(sync = false)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 630
    +
    # File 'lib/puma/server.rb', line 633
     
     def halt(sync=false)
    @@ -1589,11 +1620,11 @@ 

    This method is for internal use only.
    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 410
    +
    # File 'lib/puma/server.rb', line 414
     
     def handle_check
    @@ -1622,11 +1653,11 @@ 

    #handle_servers

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 312
    +
    # File 'lib/puma/server.rb', line 316
     
     def handle_servers
    @@ -1635,15 +1666,15 @@ 

    sockets = [check] + @binder.ios pool = @thread_pool queue_requests = @queue_requests - drain = @options[:drain_on_shutdown] ? 0 : nil + drain = options[:drain_on_shutdown] ? 0 : nil - addr_send_name, addr_value = case @options[:remote_address] + addr_send_name, addr_value = case options[:remote_address] when :value - [:peerip=, @options[:remote_address_value]] + [:peerip=, options[:remote_address_value]] when :header - [:remote_addr_header=, @options[:remote_address_header]] + [:remote_addr_header=, options[:remote_address_header]] when :proxy_protocol - [:expect_proxy_proto=, @options[:remote_address_proxy_protocol]] + [:expect_proxy_proto=, options[:remote_address_proxy_protocol]] else [nil, nil] end @@ -1656,7 +1687,7 @@

    @idle_timeout_reached = true if @clustered - @worker_write << "i#{Process.pid}\n" rescue nil + @worker_write << "#{PipeRequest::IDLE}#{Process.pid}\n" rescue nil next else @log_writer.log "- Idle timeout reached" @@ -1669,7 +1700,7 @@

    if @idle_timeout_reached && @clustered @idle_timeout_reached = false - @worker_write << "i#{Process.pid}\n" rescue nil + @worker_write << "#{PipeRequest::IDLE}#{Process.pid}\n" rescue nil end ios.first.each do |sock| @@ -1677,7 +1708,7 @@

    break if handle_check else pool.wait_until_not_full - pool.wait_for_less_busy_worker(@options[:wait_for_less_busy_worker]) + pool.wait_for_less_busy_worker(options[:wait_for_less_busy_worker]) if @clustered io = begin sock.accept_nonblock @@ -1734,11 +1765,11 @@

    #inherit_binder(bind)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 126
    +
    # File 'lib/puma/server.rb', line 130
     
     def inherit_binder(bind)
    @@ -1760,15 +1791,15 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 550
    +
    # File 'lib/puma/server.rb', line 554
     
     def lowlevel_error(e, env, status=500)
    -  if handler = @options[:lowlevel_error_handler]
    +  if handler = options[:lowlevel_error_handler]
         if handler.arity == 1
           return handler.call(e)
         elsif handler.arity == 2
    @@ -1794,11 +1825,11 @@ 

    #notify_safely(message) (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 607
    +
    # File 'lib/puma/server.rb', line 610
     
     def notify_safely(message)
    @@ -1836,18 +1867,18 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 438
    +
    # File 'lib/puma/server.rb', line 442
     
     def process_client(client)
       # Advertise this server into the thread
    -  Thread.current[THREAD_LOCAL_KEY] = self
    +  Thread.current.puma_server = self
     
    -  clean_thread_locals = @options[:clean_thread_locals]
    +  clean_thread_locals = options[:clean_thread_locals]
       close_socket = true
     
       requests = 0
    @@ -1949,11 +1980,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 296
    +
    # File 'lib/puma/server.rb', line 300
     
     def reactor_wakeup(client)
    @@ -1980,17 +2011,16 @@ 

    #response_to_error(client, requests, err, status_code) (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 569
    +
    # File 'lib/puma/server.rb', line 573
     
     def response_to_error(client, requests, err, status_code)
       status, headers, res_body = lowlevel_error(err, client.env, status_code)
       prepare_response(status, headers, res_body, requests, client)
    -  client.write_error(status_code)
     end
     
    @@ -2010,11 +2040,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 238
    +
    # File 'lib/puma/server.rb', line 242
     
     def run(background=true, thread_name: 'srv')
    @@ -2024,7 +2054,7 @@ 

    @status = :run - @thread_pool = ThreadPool.new(thread_name, @options) { |client| process_client client } + @thread_pool = ThreadPool.new(thread_name, options) { |client| process_client client } if @queue_requests @reactor = Reactor.new(@io_selector_backend) { |c| reactor_wakeup c } @@ -2032,8 +2062,8 @@

    end - @thread_pool.auto_reap! if @options[:reaping_time] - @thread_pool.auto_trim! if @options[:auto_trim_time] + @thread_pool.auto_reap! if options[:reaping_time] + @thread_pool.auto_trim! if options[:auto_trim_time] @check, @notify = Puma::Util.pipe unless @notify @@ -2065,11 +2095,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 625
    +
    # File 'lib/puma/server.rb', line 628
     
     def stop(sync=false)
    @@ -2088,15 +2118,15 @@ 

    -

    See additional method definition at line 168.

    +

    See additional method definition at line 172.

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 180
    +
    # File 'lib/puma/server.rb', line 184
     
     def uncork_socket(socket)
    @@ -2123,11 +2153,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/server.rb', line 519
    +
    # File 'lib/puma/server.rb', line 523
     
     def with_force_shutdown(client, &block)
    diff --git a/puma/Puma/Single.html b/puma/Puma/Single.html
    index cb1c08d..32e4fab 100644
    --- a/puma/Puma/Single.html
    +++ b/puma/Puma/Single.html
    @@ -8,7 +8,7 @@
     
     
     
    -Class: Puma::Single — Puma-6.4.3
    +Class: Puma::Single — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (S) » Puma » Single ▲ @@ -101,7 +101,7 @@

    Class: Puma::Single

    Defined in: - lib/puma/single.rb + lib/puma/single.rb @@ -160,7 +160,7 @@

    R #redirected_io?, - #ruby_engine, + #ruby_engine, #test? @@ -238,7 +238,7 @@

    Instance Attribute Details

    #stats (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -260,7 +260,7 @@

    Instance Method Details

    #halt

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -279,7 +279,7 @@

    #restart

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -298,7 +298,7 @@

    #run

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -341,7 +341,7 @@

    #stop

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -360,7 +360,7 @@

    #stop_blocked

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/StateFile.html b/puma/Puma/StateFile.html index 33daca9..5651d41 100644 --- a/puma/Puma/StateFile.html +++ b/puma/Puma/StateFile.html @@ -8,7 +8,7 @@ -Class: Puma::StateFile — Puma-6.4.3 +Class: Puma::StateFile — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (S) » Puma » StateFile ▲ @@ -77,7 +77,7 @@

    Class: Puma::StateFile

    Defined in: - lib/puma/state_file.rb + lib/puma/state_file.rb @@ -102,7 +102,7 @@

    Constant Summary

  • ALLOWED_FIELDS =
    - # File 'lib/puma/state_file.rb', line 16
    %w!control_url control_auth_token pid running_from!
    + # File 'lib/puma/state_file.rb', line 16
    %w!control_url control_auth_token pid running_from!
  • @@ -148,7 +148,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -168,7 +168,7 @@

    Instance Method Details

    #load(path)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -199,7 +199,7 @@

    #save(path, permission = nil)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/ThreadPool.html b/puma/Puma/ThreadPool.html index f7ff48e..b26a9f0 100644 --- a/puma/Puma/ThreadPool.html +++ b/puma/Puma/ThreadPool.html @@ -8,7 +8,7 @@ -Class: Puma::ThreadPool — Puma-6.4.3 +Class: Puma::ThreadPool — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (T) » Puma » ThreadPool ▲ @@ -88,7 +88,7 @@

    Class: Puma::ThreadPool

    Defined in: - lib/puma/thread_pool.rb + lib/puma/thread_pool.rb @@ -121,7 +121,7 @@

    Constant Summary

    - # File 'lib/puma/thread_pool.rb', line 26
    5
    + # File 'lib/puma/thread_pool.rb', line 26
    5
    @@ -227,6 +227,14 @@

    Instance Method Summary

    Tell all threads in the pool to exit and wait for them to finish.

    +
  • + + #stats ⇒ Hash + +
    +

    generate stats hash so as not to perform multiple locks.

    +
    +
  • #trim(force = false) @@ -309,7 +317,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -371,7 +379,7 @@

    Class Method Details

    .clean_thread_locals

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -409,11 +417,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 101
    +
    # File 'lib/puma/thread_pool.rb', line 112
     
     def busy_threads
    @@ -428,11 +436,11 @@ 

    #pool_capacity (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 95
    +
    # File 'lib/puma/thread_pool.rb', line 106
     
     def pool_capacity
    @@ -447,7 +455,7 @@ 

    #spawned (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -464,7 +472,7 @@

    #trim_requested (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -481,7 +489,7 @@

    #waiting (readonly)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -506,11 +514,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 223
    +
    # File 'lib/puma/thread_pool.rb', line 234
     
     def <<(work)
    @@ -537,11 +545,11 @@ 

    #auto_reap!(timeout = @reaping_time)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 365
    +
    # File 'lib/puma/thread_pool.rb', line 376
     
     def auto_reap!(timeout=@reaping_time)
    @@ -557,11 +565,11 @@ 

    #auto_trim!(timeout = @auto_trim_time)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 360
    +
    # File 'lib/puma/thread_pool.rb', line 371
     
     def auto_trim!(timeout=@auto_trim_time)
    @@ -584,11 +592,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 90
    +
    # File 'lib/puma/thread_pool.rb', line 101
     
     def backlog
    @@ -610,11 +618,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 318
    +
    # File 'lib/puma/thread_pool.rb', line 329
     
     def reap
    @@ -647,11 +655,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 388
    +
    # File 'lib/puma/thread_pool.rb', line 399
     
     def shutdown(timeout=-1)
    @@ -718,11 +726,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 109
    +
    # File 'lib/puma/thread_pool.rb', line 120
     
     def spawn_thread
    @@ -787,15 +795,58 @@ 

  • +
    +

    + #statsHash +

    +
    +
    + +

    generate stats hash so as not to perform multiple locks

    + +
    +
    +
    +

    Returns:

    +
      +
    • + (Hash) +—
      +

      hash containing stat info from ThreadPool

      +
      +
    • +
    + +
    + [ GitHub ] +
    +
    
    +  
    +
    # File 'lib/puma/thread_pool.rb', line 90
    +
    +
    +def stats
    +  with_mutex do
    +    { backlog: @todo.size,
    +      running: @spawned,
    +      pool_capacity: @waiting + (@max - @spawned)
    +    }
    +  end
    +end
    +
    +
    +
    +
    +

    #trigger_before_thread_exit_hooks (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 184
    +
    # File 'lib/puma/thread_pool.rb', line 195
     
     def trigger_before_thread_exit_hooks
    @@ -819,11 +870,11 @@ 

    #trigger_before_thread_start_hooks (private)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 169
    +
    # File 'lib/puma/thread_pool.rb', line 180
     
     def trigger_before_thread_start_hooks
    @@ -863,11 +914,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 200
    +
    # File 'lib/puma/thread_pool.rb', line 211
     
     def trigger_out_of_band_hook
    @@ -898,11 +949,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 306
    +
    # File 'lib/puma/thread_pool.rb', line 317
     
     def trim(force=false)
    @@ -939,11 +990,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 282
    +
    # File 'lib/puma/thread_pool.rb', line 293
     
     def wait_for_less_busy_worker(delay_s)
    @@ -989,11 +1040,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 265
    +
    # File 'lib/puma/thread_pool.rb', line 276
     
     def wait_until_not_full
    @@ -1027,11 +1078,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 372
    +
    # File 'lib/puma/thread_pool.rb', line 383
     
     def with_force_shutdown
    @@ -1069,11 +1120,11 @@ 

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 216
    +
    # File 'lib/puma/thread_pool.rb', line 227
     
     def with_mutex(&block)
    diff --git a/puma/Puma/ThreadPool/Automaton.html b/puma/Puma/ThreadPool/Automaton.html
    index 5cf2ba0..c211ef9 100644
    --- a/puma/Puma/ThreadPool/Automaton.html
    +++ b/puma/Puma/ThreadPool/Automaton.html
    @@ -8,7 +8,7 @@
     
     
     
    -Class: Puma::ThreadPool::Automaton — Puma-6.4.3
    +Class: Puma::ThreadPool::Automaton — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (A) » Puma » ThreadPool » @@ -78,7 +78,7 @@

    Class: Puma::ThreadPool::Automaton

    Defined in: - lib/puma/thread_pool.rb + lib/puma/thread_pool.rb @@ -124,11 +124,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 334
    +
    # File 'lib/puma/thread_pool.rb', line 345
     
     def initialize(pool, timeout, thread_name, message)
    @@ -148,11 +148,11 @@ 

    Instance Method Details

    #start!

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 342
    +
    # File 'lib/puma/thread_pool.rb', line 353
     
     def start!
    @@ -175,11 +175,11 @@ 

    #stop

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/thread_pool.rb', line 354
    +
    # File 'lib/puma/thread_pool.rb', line 365
     
     def stop
    diff --git a/puma/Puma/ThreadPool/ForceShutdown.html b/puma/Puma/ThreadPool/ForceShutdown.html
    index 5a81bd9..4d1472e 100644
    --- a/puma/Puma/ThreadPool/ForceShutdown.html
    +++ b/puma/Puma/ThreadPool/ForceShutdown.html
    @@ -8,7 +8,7 @@
     
     
     
    -Exception: Puma::ThreadPool::ForceShutdown — Puma-6.4.3
    +Exception: Puma::ThreadPool::ForceShutdown — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (F) » Puma » ThreadPool » @@ -102,7 +102,7 @@

    Exception: Puma::ThreadPool::ForceShutdown

    Defined in: - lib/puma/thread_pool.rb + lib/puma/thread_pool.rb diff --git a/puma/Puma/UnknownPlugin.html b/puma/Puma/UnknownPlugin.html index 18711fb..27eb3c6 100644 --- a/puma/Puma/UnknownPlugin.html +++ b/puma/Puma/UnknownPlugin.html @@ -8,7 +8,7 @@ -Exception: Puma::UnknownPlugin — Puma-6.4.3 +Exception: Puma::UnknownPlugin — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (U) » Puma » UnknownPlugin ▲ @@ -101,7 +101,7 @@

    Exception: Puma::UnknownPlugin

    Defined in: - lib/puma/plugin.rb + lib/puma/plugin.rb diff --git a/puma/Puma/UnsupportedBackend.html b/puma/Puma/UnsupportedBackend.html index 91680c1..b3b0fc7 100644 --- a/puma/Puma/UnsupportedBackend.html +++ b/puma/Puma/UnsupportedBackend.html @@ -8,7 +8,7 @@ -Exception: Puma::UnsupportedBackend — Puma-6.4.3 +Exception: Puma::UnsupportedBackend — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (U) » Puma » UnsupportedBackend ▲ @@ -104,7 +104,7 @@

    Exception: Puma::UnsupportedBackend

    Defined in: - lib/puma/reactor.rb + lib/puma/reactor.rb diff --git a/puma/Puma/UnsupportedOption.html b/puma/Puma/UnsupportedOption.html index e78560f..bbe7b54 100644 --- a/puma/Puma/UnsupportedOption.html +++ b/puma/Puma/UnsupportedOption.html @@ -8,7 +8,7 @@ -Exception: Puma::UnsupportedOption — Puma-6.4.3 +Exception: Puma::UnsupportedOption — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (U) » Puma » UnsupportedOption ▲ @@ -101,7 +101,7 @@

    Exception: Puma::UnsupportedOption

    Defined in: - lib/puma/const.rb + lib/puma/const.rb diff --git a/puma/Puma/UserFileDefaultOptions.html b/puma/Puma/UserFileDefaultOptions.html index 9aed963..30f2f8a 100644 --- a/puma/Puma/UserFileDefaultOptions.html +++ b/puma/Puma/UserFileDefaultOptions.html @@ -8,7 +8,7 @@ -Class: Puma::UserFileDefaultOptions — Puma-6.4.3 +Class: Puma::UserFileDefaultOptions — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (U) » Puma » UserFileDefaultOptions ▲ @@ -77,7 +77,7 @@

    Class: Puma::UserFileDefaultOptions

    Defined in: - lib/puma/configuration.rb + lib/puma/configuration.rb @@ -203,11 +203,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 39
    +
    # File 'lib/puma/configuration.rb', line 38
     
     def initialize(user_options, default_options)
    @@ -225,11 +225,11 @@ 

    Instance Attribute Details

    #default_options (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 45
    +
    # File 'lib/puma/configuration.rb', line 44
     
     attr_reader :user_options, :file_options, :default_options
    @@ -242,11 +242,11 @@ 

    #file_options (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 45
    +
    # File 'lib/puma/configuration.rb', line 44
     
     attr_reader :user_options, :file_options, :default_options
    @@ -259,11 +259,11 @@ 

    #user_options (readonly)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 45
    +
    # File 'lib/puma/configuration.rb', line 44
     
     attr_reader :user_options, :file_options, :default_options
    @@ -277,11 +277,11 @@ 

    Instance Method Details

    #[](key)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 47
    +
    # File 'lib/puma/configuration.rb', line 46
     
     def [](key)
    @@ -296,11 +296,11 @@ 

    #[]=(key, value)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 51
    +
    # File 'lib/puma/configuration.rb', line 50
     
     def []=(key, value)
    @@ -315,11 +315,11 @@ 

    #all_of(key)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 63
    +
    # File 'lib/puma/configuration.rb', line 62
     
     def all_of(key)
    @@ -346,11 +346,11 @@ 

    #fetch(key, default_value = nil)

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 55
    +
    # File 'lib/puma/configuration.rb', line 54
     
     def fetch(key, default_value = nil)
    @@ -369,11 +369,11 @@ 

    #final_options

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 87
    +
    # File 'lib/puma/configuration.rb', line 86
     
     def final_options
    @@ -390,11 +390,11 @@ 

    #finalize_values

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'lib/puma/configuration.rb', line 79
    +
    # File 'lib/puma/configuration.rb', line 78
     
     def finalize_values
    diff --git a/puma/Puma/Util.html b/puma/Puma/Util.html
    index 2f58219..8ddd654 100644
    --- a/puma/Puma/Util.html
    +++ b/puma/Puma/Util.html
    @@ -8,7 +8,7 @@
     
     
     
    -Module: Puma::Util — Puma-6.4.3
    +Module: Puma::Util — Puma-6.5.0
     
     
     
    @@ -50,7 +50,7 @@
       
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (U) » Puma » Util ▲ @@ -77,7 +77,7 @@

    Module: Puma::Util

    Defined in: - lib/puma/util.rb + lib/puma/util.rb @@ -88,7 +88,7 @@

    Constant Summary

  • DEFAULT_SEP =
    - # File 'lib/puma/util.rb', line 42
    /[&;] */n
    + # File 'lib/puma/util.rb', line 42
    /[&;] */n
  • @@ -123,7 +123,7 @@

    Class Method Summary

    mod_func
    -

    An instance method on Thread has been provided to address bugs.ruby-lang.org/issues/13632, which currently effects some older versions of Ruby: 2.2.7 2.2.8 2.2.9 2.2.10 2.3.4 2.4.1 Additional context: github.com/puma/puma/pull/1345.

    +

    An instance method on Thread has been provided to address bugs.ruby-lang.org/issues/13632, which currently affects some older versions of Ruby: 2.2.7 2.2.8 2.2.9 2.2.10 2.3.4 2.4.1 Additional context: github.com/puma/puma/pull/1345.

  • @@ -139,7 +139,7 @@

    Class Method Details

    .escape(s, encoding = nil) (mod_func)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -165,7 +165,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -203,7 +203,7 @@

    .pipe (mod_func)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -225,11 +225,11 @@

    -

    An instance method on Thread has been provided to address bugs.ruby-lang.org/issues/13632, which currently effects some older versions of Ruby: 2.2.7 2.2.8 2.2.9 2.2.10 2.3.4 2.4.1 Additional context: github.com/puma/puma/pull/1345

    +

    An instance method on Thread has been provided to address bugs.ruby-lang.org/issues/13632, which currently affects some older versions of Ruby: 2.2.7 2.2.8 2.2.9 2.2.10 2.3.4 2.4.1 Additional context: github.com/puma/puma/pull/1345

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -248,7 +248,7 @@

    .unescape(s, encoding = nil) (mod_func)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Puma/Util/HeaderHash.html b/puma/Puma/Util/HeaderHash.html index e9207a1..e8e2b7b 100644 --- a/puma/Puma/Util/HeaderHash.html +++ b/puma/Puma/Util/HeaderHash.html @@ -8,7 +8,7 @@ -Class: Puma::Util::HeaderHash — Puma-6.4.3 +Class: Puma::Util::HeaderHash — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (H) » Puma » Util » @@ -102,7 +102,7 @@

    Class: Puma::Util::HeaderHash

    Defined in: - lib/puma/util.rb + lib/puma/util.rb @@ -237,7 +237,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -257,7 +257,7 @@

    Class Attribute Details

    .to_hash (readonly, mod_func)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -279,7 +279,7 @@

    Class Method Details

    .[](k) (mod_func)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -298,7 +298,7 @@

    .[]=(k, v) (mod_func)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -320,7 +320,7 @@

    .delete(k) (mod_func)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -342,7 +342,7 @@

    .each (mod_func)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -370,7 +370,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -396,7 +396,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -415,7 +415,7 @@

    .initialize(hash = {}) (mod_func)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -443,7 +443,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -467,7 +467,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -484,7 +484,7 @@

    .merge(other) (mod_func)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -504,7 +504,7 @@

    .merge!(other) (mod_func)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -524,7 +524,7 @@

    .replace(other) (mod_func)

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Rack.html b/puma/Rack.html index cd15e59..fc5cc1d 100644 --- a/puma/Rack.html +++ b/puma/Rack.html @@ -8,7 +8,7 @@ -Module: Rack — Puma-6.4.3 +Module: Rack — Puma-6.5.0 @@ -50,7 +50,7 @@
    @@ -76,7 +76,7 @@

    Module: Rack

    Defined in: - lib/puma/rack_default.rb,
    lib/rack/handler/puma.rb
    + lib/puma/rack_default.rb,
    lib/rack/handler/puma.rb
    diff --git a/puma/Rack/Handler.html b/puma/Rack/Handler.html index c46a8be..28ec56b 100644 --- a/puma/Rack/Handler.html +++ b/puma/Rack/Handler.html @@ -8,7 +8,7 @@ -Module: Rack::Handler — Puma-6.4.3 +Module: Rack::Handler — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (H) » Rack » Handler ▲ @@ -77,7 +77,7 @@

    Module: Rack::Handler

    Defined in: - lib/puma/rack_default.rb,
    lib/rack/handler/puma.rb
    + lib/puma/rack_default.rb,
    lib/rack/handler/puma.rb
    @@ -98,7 +98,7 @@

    Class Method Details

    .default(options = {})

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Rack/Handler/Puma.html b/puma/Rack/Handler/Puma.html index e387b10..048bf35 100644 --- a/puma/Rack/Handler/Puma.html +++ b/puma/Rack/Handler/Puma.html @@ -8,7 +8,7 @@ -Module: Rack::Handler::Puma — Puma-6.4.3 +Module: Rack::Handler::Puma — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (P) » Rack » Handler » @@ -82,7 +82,7 @@

    Module: Rack::Handler::Puma

    Defined in: - lib/rack/handler/puma.rb + lib/rack/handler/puma.rb diff --git a/puma/Rackup.html b/puma/Rackup.html index 6a2ec99..cb8c9e6 100644 --- a/puma/Rackup.html +++ b/puma/Rackup.html @@ -8,7 +8,7 @@ -Module: Rackup — Puma-6.4.3 +Module: Rackup — Puma-6.5.0 @@ -50,7 +50,7 @@
    @@ -76,7 +76,7 @@

    Module: Rackup

    Defined in: - lib/puma/rack_default.rb,
    lib/rack/handler/puma.rb
    + lib/puma/rack_default.rb,
    lib/rack/handler/puma.rb
    diff --git a/puma/Rackup/Handler.html b/puma/Rackup/Handler.html index 6fe5133..e451d99 100644 --- a/puma/Rackup/Handler.html +++ b/puma/Rackup/Handler.html @@ -8,7 +8,7 @@ -Module: Rackup::Handler — Puma-6.4.3 +Module: Rackup::Handler — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (H) » Rackup » Handler ▲ @@ -77,7 +77,7 @@

    Module: Rackup::Handler

    Defined in: - lib/puma/rack_default.rb,
    lib/rack/handler/puma.rb
    + lib/puma/rack_default.rb,
    lib/rack/handler/puma.rb
    @@ -98,7 +98,7 @@

    Class Method Details

    .default(options = {})

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/Rackup/Handler/Puma.html b/puma/Rackup/Handler/Puma.html index 52c9d7d..2319991 100644 --- a/puma/Rackup/Handler/Puma.html +++ b/puma/Rackup/Handler/Puma.html @@ -8,7 +8,7 @@ -Module: Rackup::Handler::Puma — Puma-6.4.3 +Module: Rackup::Handler::Puma — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (P) » Rackup » Handler » @@ -82,7 +82,7 @@

    Module: Rackup::Handler::Puma

    Defined in: - lib/rack/handler/puma.rb + lib/rack/handler/puma.rb diff --git a/puma/StandardError.html b/puma/StandardError.html index 740b768..d9a8a87 100644 --- a/puma/StandardError.html +++ b/puma/StandardError.html @@ -8,7 +8,7 @@ -Exception: StandardError — Puma-6.4.3 +Exception: StandardError — Puma-6.5.0 @@ -50,7 +50,7 @@
    diff --git a/puma/TestPuma.html b/puma/TestPuma.html index 89d3fa9..744279a 100644 --- a/puma/TestPuma.html +++ b/puma/TestPuma.html @@ -8,7 +8,7 @@ -Module: TestPuma — Puma-6.4.3 +Module: TestPuma — Puma-6.5.0 @@ -50,7 +50,7 @@
    @@ -72,7 +72,8 @@

    Module: TestPuma

    Modules:
    + Assertions, + PumaSocket
    Classes:
    @@ -81,7 +82,7 @@

    Module: TestPuma

    Defined in: - test/helpers/test_puma.rb,
    test/helpers/test_puma/puma_socket.rb,
    test/helpers/test_puma/response.rb
    + test/helpers/test_puma.rb,
    test/helpers/test_puma/assertions.rb,
    test/helpers/test_puma/puma_socket.rb,
    test/helpers/test_puma/response.rb
    @@ -93,22 +94,22 @@

    Constant Summary

  • ALT_HOST =
    - # File 'test/helpers/test_puma.rb', line 34
    HOST6
    + # File 'test/helpers/test_puma.rb', line 34
    HOST6
  • DARWIN =
    - # File 'test/helpers/test_puma.rb', line 40
    RUBY_PLATFORM.include? 'darwin'
    + # File 'test/helpers/test_puma.rb', line 40
    RUBY_PLATFORM.include? 'darwin'
  • HOST =
    - # File 'test/helpers/test_puma.rb', line 33
    HOST4
    + # File 'test/helpers/test_puma.rb', line 33
    HOST4
  • HOST4 =
    - # File 'test/helpers/test_puma.rb', line 12
    begin
    +    # File 'test/helpers/test_puma.rb', line 12    
    begin
       t = Socket.ip_address_list.select(&:ipv4_loopback?).map(&:ip_address)
         .uniq.sort_by(&:length)
       # puts "IPv4 Loopback #{t}"
    @@ -120,7 +121,7 @@ 

    Constant Summary

  • HOST6 =
    - # File 'test/helpers/test_puma.rb', line 21
    begin
    +    # File 'test/helpers/test_puma.rb', line 21    
    begin
       t = Socket.ip_address_list.select(&:ipv6_loopback?).map(&:ip_address)
         .uniq.sort_by(&:length)
       # puts "IPv6 Loopback #{t}"
    @@ -132,27 +133,27 @@ 

    Constant Summary

  • LINE_SPLIT =
    - # File 'test/helpers/test_puma.rb', line 8
    "\r\n"
    + # File 'test/helpers/test_puma.rb', line 8
    "\r\n"
  • LOCALHOST =
    - # File 'test/helpers/test_puma.rb', line 30
    ENV.fetch 'PUMA_CI_DFLT_HOST', 'localhost'
    + # File 'test/helpers/test_puma.rb', line 30
    ENV.fetch 'PUMA_CI_DFLT_HOST', 'localhost'
  • RESP_SPLIT =
    - # File 'test/helpers/test_puma.rb', line 7
    "\r\n\r\n"
    + # File 'test/helpers/test_puma.rb', line 7
    "\r\n\r\n"
  • RE_HOST_TO_IP =
    - # File 'test/helpers/test_puma.rb', line 10
    /\A\[|\]\z/o
    + # File 'test/helpers/test_puma.rb', line 10
    /\A\[|\]\z/o
  • TOKEN =
    - # File 'test/helpers/test_puma.rb', line 42
    "xxyyzz"
    + # File 'test/helpers/test_puma.rb', line 42
    "xxyyzz"
  • @@ -185,7 +186,7 @@

    Instance Method Details

    #bind_uri_str

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -208,7 +209,7 @@

    #control_uri_str

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -238,7 +239,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/TestPuma/Assertions.html b/puma/TestPuma/Assertions.html new file mode 100644 index 0000000..efa9922 --- /dev/null +++ b/puma/TestPuma/Assertions.html @@ -0,0 +1,194 @@ + + + + + + + + + + +Module: TestPuma::Assertions — Puma-6.5.0 + + + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    + + + +
    +
    + 123456789_123456789_123456789_123456789_123456789_ +
    +
    +

    Module: TestPuma::Assertions

    +
    + + + + + + + + + + + + +
    Relationships & Source Files
    Extension / Inclusion / Inheritance Descendants
    +
    Included In:
    + +
    Defined in:test/helpers/test_puma/assertions.rb
    +
    +

    Instance Method Summary

    +
    + +
    +

    Instance Method Details

    +
    +

    + #assert_end_with(obj, str, msg = nil) +

    + [ GitHub ] +
    +
    
    +  
    +
    # File 'test/helpers/test_puma/assertions.rb', line 13
    +
    +
    +def assert_end_with(obj, str, msg = nil)
    +  msg = message(msg) {
    +    "Expected\n#{obj}\nto end with #{str}"
    +  }
    +  assert_respond_to obj, :end_with?
    +  assert obj.end_with?(str), msg
    +end
    +
    +
    +
    +
    + +
    +

    + #assert_match(matcher, obj, msg = nil) +

    +
    +
    + +

    if obj is longer than 80 characters, show as string, not inspected

    + +
    +
    + [ GitHub ] +
    +
    
    +  
    +
    # File 'test/helpers/test_puma/assertions.rb', line 22
    +
    +
    +def assert_match(matcher, obj, msg = nil)
    +  msg = if obj.length < 80
    +    message(msg) { "Expected #{mu_pp matcher} to match #{mu_pp obj}" }
    +  else
    +    message(msg) { "Expected #{mu_pp matcher} to match:\n#{obj}\n" }
    +  end
    +  assert_respond_to matcher, :"=~"
    +  matcher = Regexp.new Regexp.escape matcher if String === matcher
    +  assert matcher =~ obj, msg
    +end
    +
    +
    +
    +
    + +
    +

    + #assert_start_with(obj, str, msg = nil) +

    + [ GitHub ] +
    +
    
    +  
    +
    # File 'test/helpers/test_puma/assertions.rb', line 5
    +
    +
    +def assert_start_with(obj, str, msg = nil)
    +  msg = message(msg) {
    +    "Expected\n#{obj}\nto start with #{str}"
    +  }
    +  assert_respond_to obj, :start_with?
    +  assert obj.start_with?(str), msg
    +end
    +
    +
    +
    +
    + + + +
    +
    + + \ No newline at end of file diff --git a/puma/TestPuma/PumaSocket.html b/puma/TestPuma/PumaSocket.html index 908a984..023c8ce 100644 --- a/puma/TestPuma/PumaSocket.html +++ b/puma/TestPuma/PumaSocket.html @@ -8,7 +8,7 @@ -Module: TestPuma::PumaSocket — Puma-6.4.3 +Module: TestPuma::PumaSocket — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (P) » TestPuma » PumaSocket ▲ @@ -71,7 +71,7 @@

    Module: TestPuma::PumaSocket

    Defined in: - test/helpers/test_puma/puma_socket.rb + test/helpers/test_puma/puma_socket.rb @@ -141,33 +141,33 @@

    Constant Summary

  • EMPTY_200 =
    - # File 'test/helpers/test_puma/puma_socket.rb', line 69
    [200, {}, ['']]
    + # File 'test/helpers/test_puma/puma_socket.rb', line 69
    [200, {}, ['']]
  • GET_10 =
    - # File 'test/helpers/test_puma/puma_socket.rb', line 60
    "GET / HTTP/1.0\r\n\r\n"
    + # File 'test/helpers/test_puma/puma_socket.rb', line 60
    "GET / HTTP/1.0\r\n\r\n"
  • GET_11 =
    - # File 'test/helpers/test_puma/puma_socket.rb', line 61
    "GET / HTTP/1.1\r\n\r\n"
    + # File 'test/helpers/test_puma/puma_socket.rb', line 61
    "GET / HTTP/1.1\r\n\r\n"
  • HELLO_11 =
    - # File 'test/helpers/test_puma/puma_socket.rb', line 63
    "HTTP/1.1 200 OK\r\ncontent-type: text/plain\r\n" \
    +    # File 'test/helpers/test_puma/puma_socket.rb', line 63    
    "HTTP/1.1 200 OK\r\ncontent-type: text/plain\r\n" \
     "Content-Length: 11\r\n\r\nHello World"
  • NO_ENTITY_BODY =
    - # File 'test/helpers/test_puma/puma_socket.rb', line 68
    Puma::STATUS_WITH_NO_ENTITY_BODY
    + # File 'test/helpers/test_puma/puma_socket.rb', line 68
    Puma::STATUS_WITH_NO_ENTITY_BODY
  • READ_BODY =
    - # File 'test/helpers/test_puma/puma_socket.rb', line 206
    #=> (timeout: nil, len: nil) {
    +    # File 'test/helpers/test_puma/puma_socket.rb', line 206    
    #=> (timeout: nil, len: nil) {
       self.read_response(timeout: nil, len: nil)
         .split(RESP_SPLIT, 2).last
     }
    @@ -175,7 +175,7 @@

    Constant Summary

  • READ_RESPONSE =
    - # File 'test/helpers/test_puma/puma_socket.rb', line 211
    #=> (timeout: nil, len: nil) do
    +    # File 'test/helpers/test_puma/puma_socket.rb', line 211    
    #=> (timeout: nil, len: nil) do
       content_length = nil
       chunked = nil
       status = nil
    @@ -264,27 +264,27 @@ 

    Constant Summary

  • - # File 'test/helpers/test_puma/puma_socket.rb', line 286
    #=> (str) { self.syswrite str; self }
    + # File 'test/helpers/test_puma/puma_socket.rb', line 286
    #=> (str) { self.syswrite str; self }

  • RESP_READ_LEN =
    - # File 'test/helpers/test_puma/puma_socket.rb', line 66
    65_536
    + # File 'test/helpers/test_puma/puma_socket.rb', line 66
    65_536
  • RESP_READ_TIMEOUT =
    - # File 'test/helpers/test_puma/puma_socket.rb', line 67
    10
    + # File 'test/helpers/test_puma/puma_socket.rb', line 67
    10
  • SET_TCP_NODELAY =
    - # File 'test/helpers/test_puma/puma_socket.rb', line 73
    Socket.const_defined?(:IPPROTO_TCP) && ::Socket.const_defined?(:TCP_NODELAY)
    + # File 'test/helpers/test_puma/puma_socket.rb', line 73
    Socket.const_defined?(:IPPROTO_TCP) && ::Socket.const_defined?(:TCP_NODELAY)
  • UTF8 =
    - # File 'test/helpers/test_puma/puma_socket.rb', line 71
    ::Encoding::UTF_8
    + # File 'test/helpers/test_puma/puma_socket.rb', line 71
    ::Encoding::UTF_8
  • @@ -399,7 +399,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -439,7 +439,7 @@

    #before_setup

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -498,7 +498,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -552,9 +552,9 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    # File 'test/helpers/test_puma/puma_socket.rb', line 306
    @@ -582,7 +582,8 @@ 

    skt.define_singleton_method :read_response, READ_RESPONSE skt.define_singleton_method :read_body, READ_BODY skt.define_singleton_method :<<, REQ_WRITE - @ios_to_close << skt + skt.define_singleton_method :req_write, REQ_WRITE # used for chaining + @ios_to_close << skt if ctx @ios_to_close << tcp skt.session = session if session @@ -629,11 +630,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'test/helpers/test_puma/puma_socket.rb', line 368
    +
    # File 'test/helpers/test_puma/puma_socket.rb', line 369
     
     def read_response_array(skts, resp_count: nil, body_only: nil)
    @@ -663,12 +664,12 @@ 

    results[idx] = body_only ? skt.read_body : skt.read_response end rescue StandardError => e - results[idx] = e.class.to_s + results[idx] = e.class end begin skt.close unless skt.closed? # skt.close may return Errno::EBADF rescue StandardError => e - results[idx] ||= e.class.to_s + results[idx] ||= e.class end skts[idx] = nil end @@ -763,7 +764,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -812,11 +813,11 @@

    - [ GitHub ] + [ GitHub ]
    -
    
    +  
    
       
    -
    # File 'test/helpers/test_puma/puma_socket.rb', line 344
    +
    # File 'test/helpers/test_puma/puma_socket.rb', line 345
     
     def send_http_array(req = GET_11, len, dly: 0.000_1, max_retries: 5)
    @@ -915,7 +916,7 @@ 

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1038,7 +1039,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1145,7 +1146,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1253,7 +1254,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -1300,7 +1301,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/TestPuma/Response.html b/puma/TestPuma/Response.html index 4e96923..ce62d92 100644 --- a/puma/TestPuma/Response.html +++ b/puma/TestPuma/Response.html @@ -8,7 +8,7 @@ -Class: TestPuma::Response — Puma-6.4.3 +Class: TestPuma::Response — Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 » Index (R) » TestPuma » Response ▲ @@ -101,7 +101,7 @@

    Class: TestPuma::Response

    Defined in: - test/helpers/test_puma/response.rb + test/helpers/test_puma/response.rb @@ -172,7 +172,7 @@

    Instance Attribute Details

    #times (rw)

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -190,7 +190,7 @@

    Instance Method Details

    #body

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -228,7 +228,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -270,7 +270,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -303,7 +303,7 @@

    - [ GitHub ] + [ GitHub ]
    
       
    @@ -322,7 +322,7 @@

    #status

    - [ GitHub ] + [ GitHub ]
    
       
    diff --git a/puma/_index.html b/puma/_index.html index 89a8ad5..6aae175 100644 --- a/puma/_index.html +++ b/puma/_index.html @@ -8,7 +8,7 @@ -Puma-6.4.3 +Puma-6.5.0 @@ -50,7 +50,7 @@
    Home » - Puma-6.4.3 » + Puma-6.5.0 »
    @@ -59,7 +59,7 @@ 123456789_123456789_123456789_123456789_123456789_
    -

    Puma-6.4.3

    +

    Puma-6.5.0

    File Listing

    + +
    • H
        @@ -219,8 +228,6 @@

        Namespace Listing A-Z

    - - @@ -299,6 +309,9 @@

    Namespace Listing A-Z

  • PidFormatter (Puma::LogWriter)
  • +
  • + PipeRequest (Puma::Const) +
  • Plugin (Puma)
  • diff --git a/puma/class_list.html b/puma/class_list.html index 0dcd95c..8cd731e 100644 --- a/puma/class_list.html +++ b/puma/class_list.html @@ -26,7 +26,7 @@
    • + Assertions + TestPuma +
    • +
    • PumaSocket TestPuma
    • diff --git a/puma/constant_list.html b/puma/constant_list.html index fdfb235..d4d33af 100644 --- a/puma/constant_list.html +++ b/puma/constant_list.html @@ -26,7 +26,7 @@
    diff --git a/puma/file.java_options.html b/puma/file.java_options.html new file mode 100644 index 0000000..8bad8df --- /dev/null +++ b/puma/file.java_options.html @@ -0,0 +1,129 @@ + + + + + + + + + + +File: Java Options — Puma-6.5.0 + + + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    + +
    +
    +
    + + + +
    +
    + 123456789_123456789_123456789_123456789_123456789_ +
    +
    +

    Java Options

    + +

    System Properties or Environment Variables can be used to change Puma's +default configuration for its Java extension. The provided values are evaluated +during initialization, and changes while running the app have no effect. +Moreover, default values may be used in case of invalid inputs.

    + +

    Supported Options

    + + + + + + + + + + + + + + + + + + + + + + + +
    ENV NameDefault ValueValidation
    PUMA_QUERY_STRING_MAX_LENGTH1024 * 10Positive natural number
    PUMA_REQUEST_PATH_MAX_LENGTH8192Positive natural number
    PUMA_REQUEST_URI_MAX_LENGTH1024 * 12Positive natural number
    + +

    Examples

    + +

    Invalid inputs

    + +

    An empty string will be handled as missing, and the default value will be used instead. +Puma will print an error message for other invalid values.

    + +
    foo@bar:~/puma$ PUMA_QUERY_STRING_MAX_LENGTH=abc PUMA_REQUEST_PATH_MAX_LENGTH='' PUMA_REQUEST_URI_MAX_LENGTH=0 bundle exec bin/puma test/rackup/hello.ru
    +
    +The value 0 for PUMA_REQUEST_URI_MAX_LENGTH is invalid. Using default value 12288 instead.
    +The value abc for PUMA_QUERY_STRING_MAX_LENGTH is invalid. Using default value 10240 instead.
    +Puma starting in single mode...
    + +

    Valid inputs

    + +
    foo@bar:~/puma$ PUMA_REQUEST_PATH_MAX_LENGTH=9 bundle exec bin/puma test/rackup/hello.ru
    +
    +Puma starting in single mode...
    + +
    foo@bar:~ export path=/123456789 # 10 chars
    +foo@bar:~ curl "http://localhost:9292${path}"
    +
    +Puma caught this error: HTTP element REQUEST_PATH is longer than the 9 allowed length. (Puma::HttpParserError)
    +
    +foo@bar:~ export path=/12345678 # 9 chars
    +foo@bar:~ curl "http://localhost:9292${path}"
    +Hello World
    + + +
    +
    + + \ No newline at end of file diff --git a/puma/file.kubernetes.html b/puma/file.kubernetes.html index 4f7900b..08aefcd 100644 --- a/puma/file.kubernetes.html +++ b/puma/file.kubernetes.html @@ -8,7 +8,7 @@ -File: Kubernetes — Puma-6.4.3 +File: Kubernetes — Puma-6.5.0 @@ -50,7 +50,7 @@
    diff --git a/puma/file.nginx.html b/puma/file.nginx.html index 196967b..61b64d7 100644 --- a/puma/file.nginx.html +++ b/puma/file.nginx.html @@ -8,7 +8,7 @@ -File: Nginx configuration example file — Puma-6.4.3 +File: Nginx configuration example file — Puma-6.5.0 @@ -50,7 +50,7 @@
    diff --git a/puma/file.plugins.html b/puma/file.plugins.html index a9d2cbd..fc720e4 100644 --- a/puma/file.plugins.html +++ b/puma/file.plugins.html @@ -8,7 +8,7 @@ -File: Plugins — Puma-6.4.3 +File: Plugins — Puma-6.5.0 @@ -50,7 +50,7 @@
    diff --git a/puma/file.rails_dev_mode.html b/puma/file.rails_dev_mode.html index 5906ee8..a9e04ac 100644 --- a/puma/file.rails_dev_mode.html +++ b/puma/file.rails_dev_mode.html @@ -8,7 +8,7 @@ -File: Running Puma in Rails Development Mode — Puma-6.4.3 +File: Running Puma in Rails Development Mode — Puma-6.5.0 @@ -50,7 +50,7 @@
    diff --git a/puma/file.restart.html b/puma/file.restart.html index 06b6094..3c189ee 100644 --- a/puma/file.restart.html +++ b/puma/file.restart.html @@ -8,7 +8,7 @@ -File: Restart — Puma-6.4.3 +File: Restart — Puma-6.5.0 @@ -50,7 +50,7 @@
    diff --git a/puma/file.signals.html b/puma/file.signals.html index 37cec9c..223855a 100644 --- a/puma/file.signals.html +++ b/puma/file.signals.html @@ -8,7 +8,7 @@ -File: Signals — Puma-6.4.3 +File: Signals — Puma-6.5.0 @@ -50,7 +50,7 @@
    @@ -78,12 +78,12 @@

    Sending Signals

    schneems 87152 0.0 0.0 2432772 492 s032 S+ 12:46PM 0:00.00 tail -f my.log

    -

    You can send a signal in Ruby using the Process module:

    +

    You can send a signal in Ruby using the Process module:

    $ irb
     > puts pid
     #=> 87152
    -Process.detach(pid) # https://ruby-doc.org/core-2.1.1/Process.html#method-c-detach
    +Process.detach(pid) # https://ruby-doc.org/3.2.2/Process.html#method-c-detach
     Process.kill("TERM", pid)

    Now you will see via ps that there is no more tail process. Sometimes when referring to signals, the SIG prefix will be used. For example, SIGTERM is equivalent to sending TERM via Process.kill.

    diff --git a/puma/file.stats.html b/puma/file.stats.html index 8873cfd..598a08c 100644 --- a/puma/file.stats.html +++ b/puma/file.stats.html @@ -8,7 +8,7 @@ -File: Stats — Puma-6.4.3 +File: Stats — Puma-6.5.0 @@ -50,7 +50,7 @@
    @@ -117,7 +117,8 @@

    single mode and individual workers in cluster mode

    • backlog: requests that are waiting for an available thread to be available. if this is above 0, you need more capacity [always true?]
    • -
    • running: how many threads are running
    • +
    • running: how many threads are spawned. A spawned thread may be busy processing a request or waiting for a new request. If min_threads and max_threads are set to the same number, +this will be a never-changing number (other than rare cases when a thread dies, etc).
    • pool_capacity: the number of requests that the server is capable of taking right now. For example, if the number is 5, then it means there are 5 threads sitting idle ready to take a request. If one request comes in, then the value would be 4 until it finishes processing. If the minimum threads allowed is zero, this number will still have a maximum value of the maximum threads allowed.
    • max_threads: the maximum number of threads Puma is configured to spool per worker
    • requests_count: the number of requests this worker has served since starting
    • diff --git a/puma/file.systemd.html b/puma/file.systemd.html index e6853db..c703c73 100644 --- a/puma/file.systemd.html +++ b/puma/file.systemd.html @@ -8,7 +8,7 @@ -File: systemd — Puma-6.4.3 +File: systemd — Puma-6.5.0 @@ -50,7 +50,7 @@
      @@ -160,9 +160,11 @@

      Socket Activation

      # ListenStream=/run/puma.sock # Socket options matching {Puma} defaults -NoDelay=true ReusePort=true Backlog=1024 +# Enable this if you're using {Puma} with the "low_latency" option, read more in {Puma} DSL docs and systemd docs: +# https://www.freedesktop.org/software/systemd/man/latest/systemd.socket.html#NoDelay= +# NoDelay=true [Install] WantedBy=sockets.target @@ -295,6 +297,11 @@

      capistrano3-puma

      cap $stage puma:stop --dry-run
    +

    Disabling Puma Systemd Integration

    + +

    If you would like to disable Puma's systemd integration, for example if you handle it elsewhere +in your code yourself, simply set the the environment variable PUMA_SKIP_SYSTEMD to any value.

    +
    diff --git a/puma/file.testing_benchmarks_local_files.html b/puma/file.testing_benchmarks_local_files.html index 6851983..db64454 100644 --- a/puma/file.testing_benchmarks_local_files.html +++ b/puma/file.testing_benchmarks_local_files.html @@ -8,7 +8,7 @@ -File: Testing - benchmark/local files — Puma-6.4.3 +File: Testing - benchmark/local files — Puma-6.5.0 @@ -50,7 +50,7 @@
    diff --git a/puma/file.testing_test_rackup_ci_files.html b/puma/file.testing_test_rackup_ci_files.html index b0a1bdd..45e4018 100644 --- a/puma/file.testing_test_rackup_ci_files.html +++ b/puma/file.testing_test_rackup_ci_files.html @@ -8,7 +8,7 @@ -File: Testing - test/rackup/ci-*.ru files — Puma-6.4.3 +File: Testing - test/rackup/ci-*.ru files — Puma-6.5.0 @@ -50,7 +50,7 @@
    diff --git a/puma/file_list.html b/puma/file_list.html index d89a9fa..69771ea 100644 --- a/puma/file_list.html +++ b/puma/file_list.html @@ -26,7 +26,7 @@