他们是一种在HTTParty中使用500代码创建虚拟响应的方法

时间:2014-08-01 14:48:48

标签: ruby httparty

这是我的HTTParty代码

      response = HTTParty.post(api_url,body: form_data,timeout: 5)
      rescue Timeout::Error
      ## create dummy response with 500 error code
      response = HTTParty::Response.new()
      ensure
       response

我尝试做的就是确保如果HTTParty无法连接给定的网站,请创建一个虚拟响应主体对象

但是当我尝试创建像这样的虚拟Response对象时

     ## response = HTTParty::Response.new(Rack::Request.new(api_url),Rack::Response.new('TimeOut Error',500),'TimeOutError')

但这不起作用,因为我的响应对象没有response_to to_hash

任何人都可以建议更好的方法来实现相同的

1 个答案:

答案 0 :(得分:4)

如果有人在4年后照看,可以尝试以下方法:

httparty_req = HTTParty::Request.new Net::HTTP::Get, '/'
nethttp_resp = Net::HTTPInternalServerError.new('1.1', 500, 'Internal Server Error')
response = HTTParty::Response.new(httparty_req, nethttp_resp, lambda {''}, body: '')