about summary refs log tree commit homepage
path: root/lib/unicorn.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/unicorn.rb')
-rw-r--r--lib/unicorn.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/unicorn.rb b/lib/unicorn.rb
index b185b25..1bd88d3 100644
--- a/lib/unicorn.rb
+++ b/lib/unicorn.rb
@@ -12,6 +12,7 @@ module Unicorn
   autoload :Configurator, 'unicorn/configurator'
   autoload :TeeInput, 'unicorn/tee_input'
   autoload :Util, 'unicorn/util'
+  autoload :Rainbows, 'unicorn/rainbows'
 
   Z = '' # the stock empty string we use everywhere...
   Z.force_encoding(Encoding::BINARY) if Z.respond_to?(:force_encoding)
@@ -19,7 +20,8 @@ module Unicorn
 
   class << self
     def run(app, options = {})
-      HttpServer.new(app, options).start.join
+      klass = options.delete(:rainbows) ? Rainbows : HttpServer
+      klass.new(app, options).start.join
     end
   end