about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2010-05-04 17:01:37 -0700
committerEric Wong <normalperson@yhbt.net>2010-05-04 17:01:37 -0700
commit7664144957b4916c76ec52132eaaa552a348de28 (patch)
treef12dc2202c100a344e03314747bd95aa182943c6
parentc48b2ce337bddd5f0e7f0a6a21dfd7fc925f1e42 (diff)
downloadraindrops-7664144957b4916c76ec52132eaaa552a348de28.tar.gz
This allows easier configuration when used with Unicorn and
derived servers (Rainbows! and Zbatery).
-rw-r--r--lib/raindrops/middleware.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/raindrops/middleware.rb b/lib/raindrops/middleware.rb
index 4ef6368..a1503bd 100644
--- a/lib/raindrops/middleware.rb
+++ b/lib/raindrops/middleware.rb
@@ -13,7 +13,12 @@ class Middleware < ::Struct.new(:app, :stats, :path, :tcp, :unix)
 
   def initialize(app, opts = {})
     super(app, opts[:stats] || Stats.new, opts[:path] || "/_raindrops")
-    if tmp = opts[:listeners]
+    tmp = opts[:listeners]
+    if tmp.nil? && defined?(Unicorn) && Unicorn.respond_to?(:listener_names)
+      tmp = Unicorn.listener_names
+    end
+
+    if tmp
       self.tcp = tmp.grep(/\A[^:]+:\d+\z/)
       self.unix = tmp.grep(%r{\A/})
       self.tcp = nil if tcp.empty?