Sha256: a58b7aaf469f824385aa6b074e64747eb0a4e23b520d4e204e723e37347d0224

Contents?: true

Size: 950 Bytes

Versions: 2

Compression:

Stored size: 950 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
               torquebox trinidad
               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

2 entries across 2 versions & 1 rubygems

Version Path
rack-handlers-0.7.3 lib/rack-handlers.rb
rack-handlers-0.7.2 lib/rack-handlers.rb