From 7bfd7995fd403f80940e3f6ac36f9ae58b7040cb Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 26 Dec 2010 03:30:36 +0000 Subject: avoid HttpParser#keepalive? and HttpParser#reset The HttpParser#next? method will come with keepalive protection for Rainbows!, which can prevent clients from monopolizing a server with excessive pipelining/keepalive requests. --- lib/rainbows/rev/client.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'lib/rainbows/rev/client.rb') diff --git a/lib/rainbows/rev/client.rb b/lib/rainbows/rev/client.rb index b212f5c..8c39792 100644 --- a/lib/rainbows/rev/client.rb +++ b/lib/rainbows/rev/client.rb @@ -125,9 +125,8 @@ class Rainbows::Rev::Client < ::Rev::IO @env[REMOTE_ADDR] = @_io.kgio_addr response = APP.call(@env.update(RACK_DEFAULTS)) - rev_write_response(response, alive = @hp.keepalive? && G.alive) + rev_write_response(response, alive = @hp.next? && G.alive) return quit unless alive && :close != @state - @hp.reset @state = :headers disable if enabled? end -- cgit v1.2.3-24-ge0c7