ruby – 从Sinatra访问标题

前端之家收集整理的这篇文章主要介绍了ruby – 从Sinatra访问标题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图访问sinatra过滤器中的标头.我的请求包括标题“HTTP_AUTH”,但我无法访问它.我的过滤器是
before do
    halt 403 unless request['HTTP_AUTH'] == 'test'
end

它在我的机架测试中正常工作.

browser.get '/mypath',"CONTENT_TYPE" => "application/json","HTTP_AUTH" => 'test'

但是当我从其他来源尝试时,我无法访问它.如果我放置request.env我可以看到令牌在请求中,但我无法访问它.

"HTTP_CONNECTION"=>"close","HTTP_AUTH"=>"test","HTTP_ACCEPT"=>"application/json",

我究竟做错了什么?

解决方法

在使用headers方法的块之前尝试使用:
before do
  headers "HTTP_AUTH" => "test"
  headers "Content-Type" => "text/html; charset=utf-8"
end

或在请求中:

get '/' do
  headers['HTTP_AUTH'] = "test"
  headers['Cache-Control'] = 'public,max-age=600'
  puts headers # show headers on this request
end

使用headers只是哈希

猜你在找的Ruby相关文章