title: Post request with body_stream and parameters
body: <p>I'm building some kind of proxy.<br>
  When I call some url in a rack application, I forward that request to an other url.</p>
  
  <p>The request I forward is a POST with a file and some parameters.<br>
  I want to add more parameters.<br>
  But the file can be quite big. So I send it with <code>Net::HTTP#body_stream</code> instead of <code>Net::HTTP#body</code>.</p>
  
  <p>I get my request as a <code>Rack::Request</code> object and I create my Net::HTTP object with that.</p>
  
  <pre><code>req = Net::HTTP::Post.new(request.path_info)
  req.body_stream = request.body
  req.content_type = request.content_type
  req.content_length = request.content_length
  
  http = Net::HTTP.new(@host, @port)
  res = http.request(req)
  </code></pre>
  
  <p>I've tried several ways to add the proxy's parameters. But it seems nothing in Net::HTTP allows to add parameters to a body_stream request, only to a body one.</p>
  
  <p>Is there a simpler way to proxy a rack request like that ? Or a clean way to add my parameters to my request ?</p>