diff options
author | Eric Wong <normalperson@yhbt.net> | 2011-01-20 02:28:12 -0800 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2011-01-20 02:28:12 -0800 |
commit | 72cbecfe01b8c4b2c7bb7e362401805374036dc2 (patch) | |
tree | 54997f0023c98a8a4fc0296079cf990ca8d5ec0d /lib/rainbows/process_client.rb | |
parent | ed33b9c0d060806b41e952a50e0ab65a0f5fe21a (diff) | |
download | rainbows-72cbecfe01b8c4b2c7bb7e362401805374036dc2.tar.gz |
It turns out to be less-used than previous anticipated, so there's no point in having yet another module.
Diffstat (limited to 'lib/rainbows/process_client.rb')
-rw-r--r-- | lib/rainbows/process_client.rb | 12 |
1 files changed, 11 insertions, 1 deletions
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 |