Захват определенного запроса с помощью HTTParty

Я хотел бы захватить полный запрос (raw_request — то, что было передано по сети) для данного действия без использования прокси.

Я знаю о методе debug_output в классе, и это может быть частью решения. Но неясно, как установить его для каждого запроса.

Рассмотрим следующее...

@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 = ????

Спасибо!

Джонатан


person Jonathan    schedule 02.08.2011    source источник


Ответы (3)


@response.request будет содержать объект запроса.

person Sohan    schedule 02.08.2011
comment
как мне получить raw_request? - person Jonathan; 02.08.2011
comment
@Jonathan Я бы не рекомендовал это, кроме как для отладки вашего кода, но чтобы ответить на ваш вопрос и получить необработанный запрос, вы можете использовать метод ruby ​​instance_variable_get: @response.request.instance_variable_get(:@raw_request) - person philtr; 23.09.2013

Добавьте следующее под строкой include HTTParty:

debug_output $stdout

Это устанавливает поток вывода для отладки, и поток вывода передается в Net::HTTP#set_debug_output.

person Simpleton    schedule 03.09.2011
comment
Я знаю о методе debug_output в классе, и это может быть частью решения. Но неясно, как установить его для каждого запроса. - person Jonathan; 06.09.2011
comment
Я добавил это, но как мне просмотреть вывод? Я не вижу его в своих журналах. - person doremi; 07.08.2012

person    schedule
comment
Я искал это везде! - person derekv; 13.03.2015