From e7ff17d98c51c0e4914955d5107adbb54083106d Mon Sep 17 00:00:00 2001 From: MSP-Greg Date: Wed, 21 Sep 2022 01:00:30 -0500 Subject: [PATCH] require to require_relative (#2964) --- lib/puma.rb | 14 ++++++++------ lib/puma/app/status.rb | 2 +- lib/puma/binder.rb | 10 +++++----- lib/puma/cli.rb | 10 +++++----- lib/puma/client.rb | 2 +- lib/puma/cluster.rb | 10 +++++----- lib/puma/configuration.rb | 11 ++++++----- lib/puma/control_cli.rb | 2 +- lib/puma/dsl.rb | 4 ++-- lib/puma/error_logger.rb | 2 +- lib/puma/launcher.rb | 20 ++++++++++---------- lib/puma/log_writer.rb | 4 ++-- lib/puma/minissl.rb | 1 + lib/puma/plugin/tmp_restart.rb | 2 +- lib/puma/rack/builder.rb | 2 +- lib/puma/rack_default.rb | 2 +- lib/puma/reactor.rb | 2 +- lib/puma/runner.rb | 6 +++--- lib/puma/server.rb | 22 +++++++++++----------- lib/puma/single.rb | 6 +++--- lib/puma/thread_pool.rb | 2 +- lib/rack/handler/puma.rb | 8 ++++---- 22 files changed, 74 insertions(+), 70 deletions(-) diff --git a/lib/puma.rb b/lib/puma.rb index 8b138a40..60202c96 100644 --- a/lib/puma.rb +++ b/lib/puma.rb @@ -10,14 +10,16 @@ require 'stringio' require 'thread' +# use require, see https://github.com/puma/puma/pull/2381 require 'puma/puma_http11' -require 'puma/detect' -require 'puma/json_serialization' + +require_relative 'puma/detect' +require_relative 'puma/json_serialization' module Puma - autoload :Const, 'puma/const' - autoload :Server, 'puma/server' - autoload :Launcher, 'puma/launcher' + autoload :Const, "#{__dir__}/puma/const" + autoload :Server, "#{__dir__}/puma/server" + autoload :Launcher, "#{__dir__}/puma/launcher" # at present, MiniSSL::Engine is only defined in extension code (puma_http11), # not in minissl.rb @@ -26,7 +28,7 @@ module Puma HAS_UNIX_SOCKET = Object.const_defined? :UNIXSocket if HAS_SSL - require 'puma/minissl' + require_relative 'puma/minissl' else module MiniSSL # this class is defined so that it exists when Puma is compiled diff --git a/lib/puma/app/status.rb b/lib/puma/app/status.rb index 4df20b6a..69736e91 100644 --- a/lib/puma/app/status.rb +++ b/lib/puma/app/status.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true -require 'puma/json_serialization' +require_relative '../json_serialization' module Puma module App diff --git a/lib/puma/binder.rb b/lib/puma/binder.rb index 6b772a73..98140230 100644 --- a/lib/puma/binder.rb +++ b/lib/puma/binder.rb @@ -3,15 +3,15 @@ require 'uri' require 'socket' -require 'puma/const' -require 'puma/util' -require 'puma/configuration' +require_relative 'const' +require_relative 'util' +require_relative 'configuration' module Puma if HAS_SSL - require 'puma/minissl' - require 'puma/minissl/context_builder' + require_relative 'minissl' + require_relative 'minissl/context_builder' end class Binder diff --git a/lib/puma/cli.rb b/lib/puma/cli.rb index 39f98b06..784bd252 100644 --- a/lib/puma/cli.rb +++ b/lib/puma/cli.rb @@ -3,11 +3,11 @@ require 'optparse' require 'uri' -require 'puma' -require 'puma/configuration' -require 'puma/launcher' -require 'puma/const' -require 'puma/log_writer' +require_relative '../puma' +require_relative 'configuration' +require_relative 'launcher' +require_relative 'const' +require_relative 'log_writer' module Puma class << self diff --git a/lib/puma/client.rb b/lib/puma/client.rb index e63abc51..121c82c6 100644 --- a/lib/puma/client.rb +++ b/lib/puma/client.rb @@ -8,7 +8,7 @@ class IO end end -require 'puma/detect' +require_relative 'detect' require 'tempfile' require 'forwardable' diff --git a/lib/puma/cluster.rb b/lib/puma/cluster.rb index 99e134c1..ed0566e6 100644 --- a/lib/puma/cluster.rb +++ b/lib/puma/cluster.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true -require 'puma/runner' -require 'puma/util' -require 'puma/plugin' -require 'puma/cluster/worker_handle' -require 'puma/cluster/worker' +require_relative 'runner' +require_relative 'util' +require_relative 'plugin' +require_relative 'cluster/worker_handle' +require_relative 'cluster/worker' require 'time' diff --git a/lib/puma/configuration.rb b/lib/puma/configuration.rb index 035b3f57..cfb0bf91 100644 --- a/lib/puma/configuration.rb +++ b/lib/puma/configuration.rb @@ -1,8 +1,9 @@ # frozen_string_literal: true -require 'puma/rack/builder' -require 'puma/plugin' -require 'puma/const' +require_relative 'rack/builder' +require_relative 'plugin' +require_relative 'const' +# note that dsl is loaded at end of file, requires ConfigDefault constants module Puma # A class used for storing "leveled" configuration options. @@ -285,7 +286,7 @@ module Puma found = options[:app] || load_rackup if @options[:log_requests] - require 'puma/commonlogger' + require_relative 'commonlogger' logger = @options[:logger] found = CommonLogger.new(found, logger) end @@ -383,4 +384,4 @@ module Puma end end -require 'puma/dsl' +require_relative 'dsl' diff --git a/lib/puma/control_cli.rb b/lib/puma/control_cli.rb index 1779b173..1497fed0 100644 --- a/lib/puma/control_cli.rb +++ b/lib/puma/control_cli.rb @@ -284,7 +284,7 @@ module Puma private def start - require 'puma/cli' + require_relative 'cli' run_args = [] diff --git a/lib/puma/dsl.rb b/lib/puma/dsl.rb index 75d91c51..1b48cbbe 100644 --- a/lib/puma/dsl.rb +++ b/lib/puma/dsl.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -require 'puma/const' -require 'puma/util' +require_relative 'const' +require_relative 'util' module Puma # The methods that are available for use inside the configuration file. diff --git a/lib/puma/error_logger.rb b/lib/puma/error_logger.rb index 51610d2e..f3bfb8ad 100644 --- a/lib/puma/error_logger.rb +++ b/lib/puma/error_logger.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'puma/const' +require_relative 'const' module Puma # The implementation of a detailed error logging. diff --git a/lib/puma/launcher.rb b/lib/puma/launcher.rb index dd5ad09f..a214fe17 100644 --- a/lib/puma/launcher.rb +++ b/lib/puma/launcher.rb @@ -1,12 +1,12 @@ # frozen_string_literal: true -require 'puma/log_writer' -require 'puma/events' -require 'puma/detect' -require 'puma/cluster' -require 'puma/single' -require 'puma/const' -require 'puma/binder' +require_relative 'log_writer' +require_relative 'events' +require_relative 'detect' +require_relative 'cluster' +require_relative 'single' +require_relative 'const' +require_relative 'binder' module Puma # Puma::Launcher is the single entry point for starting a Puma server based on user @@ -115,7 +115,7 @@ module Puma permission = @options[:state_permission] return unless path - require 'puma/state_file' + require_relative 'state_file' sf = StateFile.new sf.pid = Process.pid @@ -278,7 +278,7 @@ module Puma if Puma.jruby? close_binder_listeners - require 'puma/jruby_restart' + require_relative 'jruby_restart' JRubyRestart.chdir_exec(@restart_dir, restart_args) elsif Puma.windows? close_binder_listeners @@ -319,7 +319,7 @@ module Puma return unless ENV["NOTIFY_SOCKET"] begin - require 'puma/systemd' + require_relative 'systemd' rescue LoadError log "Systemd integration failed. It looks like you're trying to use systemd notify but don't have sd_notify gem installed" return diff --git a/lib/puma/log_writer.rb b/lib/puma/log_writer.rb index 217c86b2..d670a3ab 100644 --- a/lib/puma/log_writer.rb +++ b/lib/puma/log_writer.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -require 'puma/null_io' -require 'puma/error_logger' +require_relative 'null_io' +require_relative 'error_logger' require 'stringio' require 'io/wait' unless Puma::HAS_NATIVE_IO_WAIT diff --git a/lib/puma/minissl.rb b/lib/puma/minissl.rb index bcff3d4b..7f219933 100644 --- a/lib/puma/minissl.rb +++ b/lib/puma/minissl.rb @@ -6,6 +6,7 @@ rescue LoadError end # need for Puma::MiniSSL::OPENSSL constants used in `HAS_TLS1_3` +# use require, see https://github.com/puma/puma/pull/2381 require 'puma/puma_http11' module Puma diff --git a/lib/puma/plugin/tmp_restart.rb b/lib/puma/plugin/tmp_restart.rb index 5e326bf3..5136023c 100644 --- a/lib/puma/plugin/tmp_restart.rb +++ b/lib/puma/plugin/tmp_restart.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'puma/plugin' +require_relative '../plugin' Puma::Plugin.create do def start(launcher) diff --git a/lib/puma/rack/builder.rb b/lib/puma/rack/builder.rb index 2c46cb1e..9693a6e9 100644 --- a/lib/puma/rack/builder.rb +++ b/lib/puma/rack/builder.rb @@ -287,7 +287,7 @@ module Puma::Rack private def generate_map(default_app, mapping) - require 'puma/rack/urlmap' + require_relative 'urlmap' mapped = default_app ? {'/' => default_app} : {} mapping.each { |r,b| mapped[r] = self.class.new(default_app, &b).to_app } diff --git a/lib/puma/rack_default.rb b/lib/puma/rack_default.rb index 016f54d4..0c17ee46 100644 --- a/lib/puma/rack_default.rb +++ b/lib/puma/rack_default.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'rack/handler/puma' +require_relative '../rack/handler/puma' module Rack::Handler def self.default(options = {}) diff --git a/lib/puma/reactor.rb b/lib/puma/reactor.rb index 463d3041..f75b6ffe 100644 --- a/lib/puma/reactor.rb +++ b/lib/puma/reactor.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'puma/queue_close' unless ::Queue.instance_methods.include? :close +require_relative 'queue_close' unless ::Queue.instance_methods.include? :close module Puma class UnsupportedBackend < StandardError; end diff --git a/lib/puma/runner.rb b/lib/puma/runner.rb index 5aca16b5..227473e4 100644 --- a/lib/puma/runner.rb +++ b/lib/puma/runner.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -require 'puma/server' -require 'puma/const' +require_relative 'server' +require_relative 'const' module Puma # Generic class that is used by `Puma::Cluster` and `Puma::Single` to @@ -61,7 +61,7 @@ module Puma str = @options[:control_url] return unless str - require 'puma/app/status' + require_relative 'app/status' if token = @options[:control_auth_token] token = nil if token.empty? || token == 'none' diff --git a/lib/puma/server.rb b/lib/puma/server.rb index a5de6ce9..77b88ad7 100644 --- a/lib/puma/server.rb +++ b/lib/puma/server.rb @@ -2,17 +2,17 @@ require 'stringio' -require 'puma/thread_pool' -require 'puma/const' -require 'puma/log_writer' -require 'puma/events' -require 'puma/null_io' -require 'puma/reactor' -require 'puma/client' -require 'puma/binder' -require 'puma/util' -require 'puma/io_buffer' -require 'puma/request' +require_relative 'thread_pool' +require_relative 'const' +require_relative 'log_writer' +require_relative 'events' +require_relative 'null_io' +require_relative 'reactor' +require_relative 'client' +require_relative 'binder' +require_relative 'util' +require_relative 'io_buffer' +require_relative 'request' require 'socket' require 'io/wait' unless Puma::HAS_NATIVE_IO_WAIT diff --git a/lib/puma/single.rb b/lib/puma/single.rb index 2629a766..5eaeee6d 100644 --- a/lib/puma/single.rb +++ b/lib/puma/single.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true -require 'puma/runner' -require 'puma/detect' -require 'puma/plugin' +require_relative 'runner' +require_relative 'detect' +require_relative 'plugin' module Puma # This class is instantiated by the `Puma::Launcher` and used diff --git a/lib/puma/thread_pool.rb b/lib/puma/thread_pool.rb index 9d7e839b..482ecedf 100644 --- a/lib/puma/thread_pool.rb +++ b/lib/puma/thread_pool.rb @@ -2,7 +2,7 @@ require 'thread' -require 'puma/io_buffer' +require_relative 'io_buffer' module Puma # Internal Docs for A simple thread pool management object. diff --git a/lib/rack/handler/puma.rb b/lib/rack/handler/puma.rb index 501a1555..81ab022e 100644 --- a/lib/rack/handler/puma.rb +++ b/lib/rack/handler/puma.rb @@ -11,10 +11,10 @@ module Rack } def self.config(app, options = {}) - require 'puma' - require 'puma/configuration' - require 'puma/log_writer' - require 'puma/launcher' + require_relative '../../puma' + require_relative '../../puma/configuration' + require_relative '../../puma/log_writer' + require_relative '../../puma/launcher' default_options = DEFAULT_OPTIONS.dup