有没有办法将httparty请求转换为curl请求?我希望能够以卷曲格式向另一位开发人员发送我失败的请求。
我在想这样的事情:
web_caller = HTTPartyClass.new
web_caller.hit_api
web_caller.last_request_as_curl
last_request_as_curl将上一个请求转换为curl字符串,我可以在调试时将其提供给API的所有者。
理想情况下,last_request_as_curl
会返回类似:“curl -X POST .....”
答案 0 :(得分:1)
我在HTTParty基类中编写了一个方法:
def capture_curl(request)
options = request.options
method = request.http_method.to_s.split(':').last.upcase
curl_str = "curl -k -X #{method} "
if(options[:basic_auth].present?)
curl_str += "-u #{options[:basic_auth].values.join(':')} "
end
curl_str +=
"-d " +
options[:body]
.merge(options[:default_params])
.map{|a,k| "#{a}=#{k}"}
.join('&') + " "
curl_str += "#{options[:base_uri]}#{request.path.path}"
@curl_str = curl_str
end
def last_curl
@curl_str
end
我有一个总是处理响应对象的方法,在那个方法中我将response.request
传递给capture_curl
。