【发布时间】:2011-12-13 01:29:50
【问题描述】:
我在一个通过 API 调用与 Facebook 交互的应用程序中使用Koala。我想记录 Koala 生成的原始 HTTP 请求以及 Facebook 在数据库中发回的响应。如何获取这些字符串以便保存?
【问题讨论】:
我在一个通过 API 调用与 Facebook 交互的应用程序中使用Koala。我想记录 Koala 生成的原始 HTTP 请求以及 Facebook 在数据库中发回的响应。如何获取这些字符串以便保存?
【问题讨论】:
这是一个老问题,但我自己找不到如何调试 Koala 请求的直接示例。
考拉使用法拉第,可扩展性极强。它基于 Rack 中间件,Koala 为其设置了默认中间件。以下是将日志记录添加到 STDOUT 到 Faraday 中间件的方法:
# Overwrite the default middleware Proc (evaluated for each request)
Koala.http_service.faraday_middleware = Proc.new do |builder|
# Add Faraday's logger (which outputs to your console)
builder.use Faraday::Response::Logger
# Add the default middleware by calling the default Proc that we just replaced
# SOURCE CODE: https://github.com/arsduo/koala/blob/master/lib/koala/http_service.rb#L20
Koala::HTTPService::DEFAULT_MIDDLEWARE.call(builder)
end
关于 HTTP 请求的 Koala 文档:
https://github.com/arsduo/koala/wiki/HTTP-Services
您可以在此处阅读有关如何使用法拉第以及我从何处获得记录器的更多信息:
https://mislav.net/2011/07/faraday-advanced-http/
希望这可以帮助其他正在寻找一种简单方法来调试 Koala HTTP 请求到 Facebook Graph API 的人!
【讨论】: