加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 从Sinatra访问标题

发布时间:2020-12-17 01:18:33 所属栏目:百科 来源:网络整理
导读:我试图访问sinatra过滤器中的标头.我的请求包括标题“HTTP_AUTH”,但我无法访问它.我的过滤器是 before do halt 403 unless request['HTTP_AUTH'] == 'test'end 它在我的机架测试中正常工作. browser.get '/mypath',"CONTENT_TYPE" = "application/json","HT
我试图访问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只是哈希

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读