1
Sinatra 웹 앱을 개발 중입니다. 거기서 여러 URL을 표준화하고 절대화하려고합니다. 내가 관련 정보에 대한 ENV 오브젝트를 조사했지만 보인다랙 요청 내에서 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을했습니다이를 위해, 나는 랙 :: Request 객체를 사용하고 있습니다 요청 포트에 대한 정보가 없다는 것입니다.
응용 프로그램 내에서이 코드를 어떻게 알아 내야하나요? 랙 사양의 변수에 대한 참조가 보이지 않습니다 ...
지금까지 Puma와 Webrick에서 랙 업 파일을 실행 해 보았습니다.
Sinatra에서'request.port'를 호출하는 'request' 헬퍼를 사용해 보셨습니까? http://www.sinatrarb.com/intro#Accessing%20the%20Request%20Object를 참조하십시오. – iain