Skip to content

Commit

Permalink
Remove FCGI, LSWS, SCGI, Thin handlers. Fixes #1584.
Browse files Browse the repository at this point in the history
  • Loading branch information
ioquatix committed May 24, 2020
1 parent 0dae9a7 commit d14a319
Show file tree
Hide file tree
Showing 8 changed files with 11 additions and 300 deletions.
26 changes: 6 additions & 20 deletions lib/rack/handler.rb
Expand Up @@ -31,7 +31,7 @@ def self.get(server)
# Select first available Rack handler given an `Array` of server names.
# Raises `LoadError` if no handler was found.
#
# > pick ['thin', 'webrick']
# > pick ['puma', 'webrick']
# => Rack::Handler::WEBrick
def self.pick(server_names)
server_names = Array(server_names)
Expand All @@ -45,17 +45,14 @@ def self.pick(server_names)
raise LoadError, "Couldn't find handler for: #{server_names.join(', ')}."
end

SERVER_NAMES = %w(puma thin falcon webrick).freeze
RACK_HANDLER = 'RACK_HANDLER'

SERVER_NAMES = %w(puma falcon webrick).freeze
private_constant :SERVER_NAMES

def self.default
# Guess.
if ENV.include?("PHP_FCGI_CHILDREN")
Rack::Handler::FastCGI
elsif ENV.include?(REQUEST_METHOD)
Rack::Handler::CGI
elsif ENV.include?("RACK_HANDLER")
self.get(ENV["RACK_HANDLER"])
if rack_handler = ENV[RACK_HANDLER]
self.get(rack_handler)
else
pick SERVER_NAMES
end
Expand Down Expand Up @@ -87,18 +84,7 @@ def self.register(server, klass)
@handlers[server.to_s] = klass.to_s
end

autoload :CGI, "rack/handler/cgi"
autoload :FastCGI, "rack/handler/fastcgi"
autoload :WEBrick, "rack/handler/webrick"
autoload :LSWS, "rack/handler/lsws"
autoload :SCGI, "rack/handler/scgi"
autoload :Thin, "rack/handler/thin"

register 'cgi', 'Rack::Handler::CGI'
register 'fastcgi', 'Rack::Handler::FastCGI'
register 'webrick', 'Rack::Handler::WEBrick'
register 'lsws', 'Rack::Handler::LSWS'
register 'scgi', 'Rack::Handler::SCGI'
register 'thin', 'Rack::Handler::Thin'
end
end
2 changes: 2 additions & 0 deletions lib/rack/handler/cgi.rb
Expand Up @@ -55,5 +55,7 @@ def self.send_body(body)
}
end
end

register 'cgi', 'Rack::Handler::CGI'
end
end
100 changes: 0 additions & 100 deletions lib/rack/handler/fastcgi.rb

This file was deleted.

61 changes: 0 additions & 61 deletions lib/rack/handler/lsws.rb

This file was deleted.

71 changes: 0 additions & 71 deletions lib/rack/handler/scgi.rb

This file was deleted.

36 changes: 0 additions & 36 deletions lib/rack/handler/thin.rb

This file was deleted.

2 changes: 1 addition & 1 deletion lib/rack/handler/webrick.rb
Expand Up @@ -37,7 +37,7 @@ def self.run(app, **options)

@server = ::WEBrick::HTTPServer.new(options)
@server.mount "/", Rack::Handler::WEBrick, app
yield @server if block_given?
yield @server if block_given?
@server.start
end

Expand Down
13 changes: 2 additions & 11 deletions test/spec_server.rb
Expand Up @@ -8,6 +8,8 @@
require 'net/http'
require 'net/https'

require 'rack/handler/cgi'

module Minitest::Spec::DSL
alias :should :it
end
Expand Down Expand Up @@ -75,17 +77,6 @@ def with_stderr
server.middleware['deployment'].flatten.must_include Rack::TempfileReaper
end

it "support CGI" do
begin
o, ENV["REQUEST_METHOD"] = ENV["REQUEST_METHOD"], 'foo'
server = Rack::Server.new(app: 'foo')
server.server.name =~ /CGI/
Rack::Server.logging_middleware.call(server).must_be_nil
ensure
ENV['REQUEST_METHOD'] = o
end
end

it "be quiet if said so" do
server = Rack::Server.new(app: "FOO", quiet: true)
Rack::Server.logging_middleware.call(server).must_be_nil
Expand Down

0 comments on commit d14a319

Please sign in to comment.