diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/rainbows/http_parser.rb | 15 | ||||
-rw-r--r-- | lib/rainbows/http_server.rb | 4 |
2 files changed, 17 insertions, 2 deletions
diff --git a/lib/rainbows/http_parser.rb b/lib/rainbows/http_parser.rb index ec55fe9..30a67cb 100644 --- a/lib/rainbows/http_parser.rb +++ b/lib/rainbows/http_parser.rb @@ -2,6 +2,21 @@ # :enddoc: # avoid modifying Unicorn::HttpParser class Rainbows::HttpParser < Unicorn::HttpParser + @keepalive_requests = 100 + class << self + attr_accessor :keepalive_requests + end + + def initialize(*args) + @keepalive_requests = self.class.keepalive_requests + super + end + + def next? + return false if (@keepalive_requests -= 1) <= 0 + super + end + def self.quit alias_method :next?, :never! end diff --git a/lib/rainbows/http_server.rb b/lib/rainbows/http_server.rb index 637710d..09f2589 100644 --- a/lib/rainbows/http_server.rb +++ b/lib/rainbows/http_server.rb @@ -92,11 +92,11 @@ class Rainbows::HttpServer < Unicorn::HttpServer end def keepalive_requests=(nr) - Unicorn::HttpRequest.keepalive_requests = nr + Rainbows::HttpParser.keepalive_requests = nr end def keepalive_requests - Unicorn::HttpRequest.keepalive_requests + Rainbows::HttpParser.keepalive_requests end def client_max_header_size=(bytes) |