From 72cbecfe01b8c4b2c7bb7e362401805374036dc2 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 20 Jan 2011 02:28:12 -0800 Subject: merge rack_input into process_client It turns out to be less-used than previous anticipated, so there's no point in having yet another module. --- lib/rainbows/process_client.rb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'lib/rainbows/process_client.rb') diff --git a/lib/rainbows/process_client.rb b/lib/rainbows/process_client.rb index d840778..2ddc368 100644 --- a/lib/rainbows/process_client.rb +++ b/lib/rainbows/process_client.rb @@ -1,9 +1,14 @@ # -*- encoding: binary -*- +# :enddoc: module Rainbows::ProcessClient include Rainbows::Response - include Rainbows::RackInput include Rainbows::Const + NULL_IO = Unicorn::HttpRequest::NULL_IO + RACK_INPUT = Unicorn::HttpRequest::RACK_INPUT + CLIENT_IO = "hack.io".freeze + IC = Unicorn::HttpRequest.input_class + def process_loop @hp = hp = Rainbows::HttpParser.new kgio_read!(16384, buf = hp.buf) or return @@ -38,4 +43,9 @@ module Rainbows::ProcessClient def handle_error(e) Rainbows::Error.write(self, e) end + + def set_input(env, hp) + env[RACK_INPUT] = 0 == hp.content_length ? NULL_IO : IC.new(self, hp) + env[CLIENT_IO] = self + end end -- cgit v1.2.3-24-ge0c7