Синатра - как мне получить доменное имя сервера - PullRequest
25 голосов
/ 16 мая 2011

Я пытаюсь получить доменное имя в своем приложении Sinatra, но как новичок я действительно изо всех сил пытаюсь выяснить, как это сделать, и я знаю, что это должно быть возможно!

Rack::Request#host_with_port выглядит многообещающе, но я не знаю, как получить это из моего приложения - как мне получить материал от Rack в моем Ruby-коде?

Или есть другой способ - я думаю, что я не хочу делать это каждый раз, когда происходит запрос (хотя это не так уж плохо), но я подумал, что было бы лучше, если бы я мог сделать это один раз когда приложение загружается.

Есть подсказки?

Ответы [ 2 ]

47 голосов
/ 16 мая 2011

просто используйте request.host внутри вашего кода.

get  "/" do
  puts request.host #=> localhost
end
9 голосов
/ 16 мая 2011

Посмотрите на:

request.env.inspect

, чтобы вы могли видеть все переменные среды запроса.

Я думаю, что вы ищете

request.env["SERVER_NAME"]
...