Httparty请求卷曲



有没有办法将httparty请求转换为curl请求?我希望能够以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……"

我在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

最新更新