将请求标头信息传递给app.get

Ger*_*emy 5 ruby-on-rails

有没有办法将请求信息(如HOST标头值)传递给app.get?

我的应用程序需要一个特定的主机,所以当我正常调用它时:

app.get( "foo" 的)

具体来说,我想覆盖

request.env["HTTP_HOST"]
Run Code Online (Sandbox Code Playgroud)

值.

TIA

Wil*_*iss 7

根据这个答案:

.get的方法文档在这里:http://api.rubyonrails.org/classes/ActionDispatch/Integration/RequestHelpers.html#method-i-get

你可以这样做:

  app.get('/foo', nil, {'HTTP_HOST' => "bar.com"})
Run Code Online (Sandbox Code Playgroud)


Rob*_*bin 0

我不确定这有帮助...我见过如下代码:

app.call({
  "HTTP_HOST"=>"...",
  "SCRIPT_NAME" => "",
  "PATH_INFO"=>"/lala/#{lala_id}/",
  "QUERY_STRING" => "",
  "SERVER_NAME" => "",
  "SERVER_PORT" => "80",
  "REQUEST_METHOD"=>"GET",
  "rack.input" => StringIO.new
})
Run Code Online (Sandbox Code Playgroud)

您也许仍然可以使用.getHTTP_HOST 作为选项传递,就像上面那样?