मैं किसी प्रकार का प्रॉक्सी बना रहा हूं।
जब मैं रैक एप्लिकेशन में कुछ यूआरएल कॉल करता हूं, तो मैं उस अनुरोध को किसी अन्य यूआरएल पर अग्रेषित करता हूं।body_stream और पैरामीटर के साथ पोस्ट अनुरोध
मैं जो अनुरोध अग्रेषित करता हूं वह एक फ़ाइल और कुछ पैरामीटर के साथ एक पोस्ट है।
मैं और पैरामीटर जोड़ना चाहता हूं।
लेकिन फ़ाइल काफी बड़ी हो सकती है। तो मैं इसे Net::HTTP#body
के बजाय Net::HTTP#body_stream
के साथ भेजता हूं।
मुझे Rack::Request
ऑब्जेक्ट के रूप में मेरा अनुरोध मिलता है और मैं इसके साथ अपना नेट :: 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)
मैंने प्रॉक्सी के पैरामीटर जोड़ने के कई तरीकों की कोशिश की है। लेकिन ऐसा लगता है कि नेट :: HTTP में कुछ भी बॉडी_स्ट्रीम अनुरोध में पैरामीटर जोड़ने की अनुमति देता है, केवल एक शरीर के लिए।
क्या इस तरह के रैक अनुरोध को प्रॉक्सी करने का कोई आसान तरीका है? या मेरे अनुरोध में मेरे पैरामीटर जोड़ने का एक साफ तरीका?
'req.set_form_data (: कुछ => 'डेटा') क्यों काम नहीं करेगा? – mikezter
क्योंकि यह '# body' को परिभाषित करता है और' body_stream' रीसेट करता है, इसलिए मैं पहले से परिभाषित डेटा खो देता हूं। –