diff --git a/lib/puma/client.rb b/lib/puma/client.rb index 0e12c316..f0dc872e 100644 --- a/lib/puma/client.rb +++ b/lib/puma/client.rb @@ -284,6 +284,14 @@ module Puma raise ConnectionError, "Connection error detected during read" end + # No data means a closed socket + unless data + @buffer = nil + @requests_served += 1 + @ready = true + raise EOFError + end + if @buffer @buffer << data else @@ -313,6 +321,14 @@ module Puma raise e end + # No data means a closed socket + unless data + @buffer = nil + @requests_served += 1 + @ready = true + raise EOFError + end + if @buffer @buffer << data else