1
我正在開發Sinatra Web應用程序,並且希望規範化和絕對化一些URL。對於這一點,我使用的是機架:: Request對象:確定機架請求中的HTTP端口
before do
@cached_request = Rack::Request.new(env)
end
def absolutize(path)
u = URI.parse('/%s' % path) # Ensure leading slash is there
u.scheme = @cached_request.scheme
u.host = @cached_request.host
u.port = @cached_request.port
u.to_s
end
然而,即使我的應用程序在端口9393上運行的SERVER_PORT變量80.我已經檢查了相關信息的ENV對象,但它似乎它沒有得到有關請求端口的任何信息。
我該如何從應用程序中找出這個問題?我沒有看到機架規格中的變量的參考...
到目前爲止,我已經嘗試在Puma和Webrick上運行rackup文件。
您是否嘗試過從Sinatra內部的'request' helper例如調用'request.port'?請參閱http://www.sinatrarb.com/intro#Accessing%20the%20Request%20Object – iain 2012-07-15 13:58:16