如何确定范围错误处理程序中的http状态代码

时间:2013-11-16 16:19:39

标签: ruby sinatra rack

我想做的是:

error 400..510 do
    {:'400' => 'Bad Request', :'401' => ...}[<http-status-code>.to_s.to_sym]
end

其中<http-status-code>是某个表达式,计算为要返回的错误代码。触发处理程序的一种可能方式:

get '/test' do
    401
end

这可以实现吗?

1 个答案:

答案 0 :(得分:0)

您可以发送Net :: HTTP请求。该请求的输出将是Net :: HTTPResponse对象。例如,来自http://ruby-doc.org/stdlib-2.0.0/libdoc/net/http/rdoc/Net/HTTP.html的Ruby Net :: HTTP文档:

uri = URI('http://example.com/index.html')
res = Net::HTTP.get_response(uri)
res.code