diff options
Diffstat (limited to 'lib/rainbows/http_parser.rb')
-rw-r--r-- | lib/rainbows/http_parser.rb | 15 |
1 files changed, 15 insertions, 0 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 |