kill some unnecessary &block usage
[rainbows.git] / lib / rainbows / reverse_proxy / synchronous.rb
blobbbb9ec54124c361f7f8f029ea1b4acd46200ede0
1 # -*- encoding: binary -*-
2 # :enddoc:
3 module Rainbows::ReverseProxy::Synchronous
4   UpstreamSocket = Rainbows::ReverseProxy::UpstreamSocket
6   def each_block(input)
7     buf = ""
8     while input.read(16384, buf)
9       yield buf
10     end
11   end
13   def call(env)
14     input = prepare_input!(env)
15     req = build_headers(env, input)
16     sock = UpstreamSocket.new(pick_upstream(env))
17     sock.write(req)
18     each_block(input) { |buf| sock.kgio_write(buf) } if input
19     Kcar::Response.new(sock).rack
20   end
21 end