about summary refs log tree commit homepage
path: root/lib/raindrops/middleware.rb
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-02-26 21:02:57 +0000
committerEric Wong <normalperson@yhbt.net>2011-02-26 21:02:57 +0000
commit012d2fe51afd46fdddbf62f7ebba5102c7f3361a (patch)
tree985fd39b4d11acfd6c8f6b2cfc3c29e060cefb74 /lib/raindrops/middleware.rb
parentac6b83ea1c277cd798e2f627fa5eee605efab4fe (diff)
downloadraindrops-012d2fe51afd46fdddbf62f7ebba5102c7f3361a.tar.gz
It's easier to find this way.
Diffstat (limited to 'lib/raindrops/middleware.rb')
-rw-r--r--lib/raindrops/middleware.rb27
1 files changed, 1 insertions, 26 deletions
diff --git a/lib/raindrops/middleware.rb b/lib/raindrops/middleware.rb
index af3442c..1ea4863 100644
--- a/lib/raindrops/middleware.rb
+++ b/lib/raindrops/middleware.rb
@@ -9,6 +9,7 @@ class Raindrops::Middleware
   # :stopdoc:
   Stats = Raindrops::Struct.new(:calling, :writing)
   PATH_INFO = "PATH_INFO"
+  require "raindrops/middleware/proxy"
   # :startdoc:
 
   def initialize(app, opts = {})
@@ -46,32 +47,6 @@ class Raindrops::Middleware
     end
   end
 
-  class Proxy
-    def initialize(body, stats)
-      @body, @stats = body, stats
-    end
-
-    # yield to the Rack server here for writing
-    def each
-      @body.each { |x| yield x }
-    end
-
-    # the Rack server should call this after #each (usually ensure-d)
-    def close
-      @stats.decr_writing
-      @body.close if @body.respond_to?(:close)
-    end
-
-    def to_path
-      @body.to_path
-    end
-
-    def respond_to?(m)
-      m = m.to_sym
-      :close == m || @body.respond_to?(m)
-    end
-  end
-
   def stats_response
     body = "calling: #{@stats.calling}\n" \
            "writing: #{@stats.writing}\n"