ある種のプロキシを構築しています。
ラックアプリケーションでURLを呼び出すと、そのリクエストを別のURLに転送します。
私が転送するリクエストは、ファイルといくつかのパラメーターを含むPOSTです。
パラメータを追加したい。
ただし、ファイルはかなり大きくなる可能性があります。だから私はNet::HTTP#body_stream
の代わりにそれを送りますNet::HTTP#body
。
リクエストをオブジェクトとして取得し、Rack::Request
それを使用してNet::HTTPオブジェクトを作成します。
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)
プロキシのパラメータを追加するいくつかの方法を試しました。しかし、Net :: HTTPでは、body_streamリクエストにパラメータを追加することはできず、本文のリクエストにのみ追加できるようです。
そのようなラックリクエストをプロキシする簡単な方法はありますか?または、リクエストにパラメータを追加するクリーンな方法はありますか?