मैं अपने config.ru
में रैक प्रारंभिक कोड के भीतर से अपने वेब ऐप का मूल URL पुनर्प्राप्त करने में सक्षम होना चाहता हूं। की तर्ज पर कुछ:क्या मुझे एक अनुरोध हैंडलर के बाहर मेरी रैक सेवा का मूल URL मिल सकता है?
puts "Starting up on http://#{ENV['SERVER_NAME']}:#{ENV['SERVER_PORT']}/#{ENV['MOUNT_POINT']}..."
लेकिन मुझे लगता है कि एक अनुरोध हैंडलर के बाहर से उपलब्ध है इस तरह कुछ भी नहीं मिला है। जाहिर है, मैं कुछ ऐसा कर सकता हूं:
...
def get
puts "Got a request for #{ENV['rack.url_scheme']}://#{ENV['HTTP_HOST']}#{ENV['REQUEST_PATH']}"
...
क्योंकि अनुरोध उस बिंदु पर परिभाषित किया गया है। लेकिन मेरी कॉन्फ़िगरेशन फ़ाइल की शुरुआत में, इनमें से कोई भी चर परिभाषित नहीं किया गया है।
क्या कोई रैक विधि है जिसका उपयोग मैं इस जानकारी तक पहुंचने के लिए कर सकता हूं? क्या यह उन मामलों में से एक है जहां रैक स्टार्टअप समाप्त होने तक उन चीजों को अंतिम रूप दिया नहीं जाता है? मुझे लगता है कि अन्य ढांचे को एक विधि को एक प्रक्रिया को पास करने का तरीका है जो पर्यावरण को "तैयार" होने के बाद निष्पादित करेगा। क्या रैक के पास ऐसा कुछ है?
आप config.ru में सेट करने का प्रयास कर रहे हैं, जिसे इस जानकारी की आवश्यकता है? – nictrix
मैं * सेट * सेट करने की कोशिश नहीं कर रहा हूं, मुझे लगता है कि यह दिखाने के लिए लॉग के लिए अच्छा है कि सेवा कहां है - यह विशेष रूप से तब उपयोगी होता है जब कोई नया देव पहली बार परीक्षण करने की कोशिश करता है। – Coderer