我希望能夠從我的config.ru
機架初始化代碼中檢索我的網絡應用的基本URL。沿着線的東西:我可以在請求處理程序之外獲取我的Rack服務的基本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']}"
...
因爲請求是在那個點定義的。但在我的配置文件開始時,這些變量都沒有被定義。
有沒有可用於訪問此信息的Rack方法?在Rack啓動完成之前,這些情況還沒有最終確定?我似乎記得其他框架有辦法將一個proc傳遞給一個將在環境「準備就緒」時執行它的方法。 Rack有類似的東西嗎?
你想在需要此信息的config.ru中設置什麼? – nictrix 2012-03-11 05:33:23
我不想*設置任何東西,我只是覺得日誌很好地顯示服務的位置 - 當新開發人員第一次嘗試測試時,它特別有用。 – Coderer 2012-05-17 08:30:44