Sha256: 349403b33b8c2fbff0f2105d0eb196c9b704c59683166bee2be53fa484095bb0

Contents?: true

Size: 901 Bytes

Versions: 1

Compression:

Stored size: 901 Bytes

Contents

# Assume you want a more sensible default, or don't require this file

require 'rack/handler'

module Rack::Handler
  DEFAULT = %w[yahns zbatery rainbows unicorn puma thin webrick]

  def self.default(options = {})
    # Guess.
    if ENV.include?("PHP_FCGI_CHILDREN")
      # We already speak FastCGI
      options.delete :File
      options.delete :Port

      Rack::Handler::FastCGI
    elsif ENV.include?("REQUEST_METHOD")
      Rack::Handler::CGI
    else
      pick DEFAULT # We only change this line
    end
  end

  # Copied from rack 1.5.2 for backward compatibility
  def self.pick(server_names)
    server_names = Array(server_names)
    server_names.each do |server_name|
      begin
        return get(server_name.to_s)
      rescue LoadError, NameError
      end
    end

    raise LoadError, "Couldn't find handler for: #{server_names.join(', ')}."
  end unless respond_to?(:pick)
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rack-handlers-0.7.1 lib/rack-handlers.rb