5

我在一个通过 API 调用与 Facebook 交互的应用程序中使用Koala。我想记录 Koala 生成的原始 HTTP 请求以及 Facebook 在数据库中发回的响应。我怎样才能抓住这些字符串以便我可以保存它们?

4

1 回答 1

14

这是一个老问题,但我找不到一个直接的例子来说明如何自己调试考拉请求。

考拉使用法拉第,扩展性极强。它基于 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

Koala 关于 HTTP 请求的文档:

https://github.com/arsduo/koala/wiki/HTTP-Services

您可以阅读更多关于如何使用法拉第以及我从这里获得记录器的信息:

https://mislav.net/2011/07/faraday-advanced-http/

希望这可以帮助其他正在寻找一种简单方法来调试 Koala HTTP 请求到 Facebook Graph API 的人!

于 2012-11-12T09:07:50.077 回答