Ruby on rails 使用HTTParty捕获特定请求

Ruby on rails 使用HTTParty捕获特定请求,ruby-on-rails,httparty,Ruby On Rails,Httparty,我想在不使用代理的情况下捕获给定操作的完整请求(raw_request——通过网络传输的内容) 我知道类上的debug_输出方法,这可能是解决方案的一部分。但不清楚如何根据每个请求进行设置 考虑以下几点 @response = HTTParty.post(@job.callback_url, body: @job.to_json) notification = Notification.new notification.response_body = @response.body notific

我想在不使用代理的情况下捕获给定操作的完整请求(raw_request——通过网络传输的内容)


我知道类上的debug_输出方法,这可能是解决方案的一部分。但不清楚如何根据每个请求进行设置

考虑以下几点

@response = HTTParty.post(@job.callback_url, body: @job.to_json)
notification = Notification.new
notification.response_body = @response.body
notification.response_code = @response.code
notification.request_body = ????
谢谢


Jonathan

@response。请求将包含请求对象。

在您的
include HTTParty
行下添加以下内容:

debug_output $stdout

这将设置一个用于调试的输出流,并将输出流传递到Net::HTTP#set#u debug_output

如何获取原始请求?@Jonathan除了调试代码外,我不建议这样做,但要回答您的问题并获取原始请求,您可以使用ruby的
实例变量\u get
方法:
@response.request.instance变量\u get(:@raw\u request)
“我知道类上的debug_输出方法,这可能是解决方案的一部分。但不清楚如何在每个请求的基础上设置它。“我已经添加了这个,但是如何查看输出?我在日志中没有看到它。我一直在到处寻找它!
      HTTParty.post(url, :body => body, :debug_output => $stdout)