我在通过API调用与Facebook交互的应用程序中使用Koala。我想记录Koala生成的原始HTTP请求以及Facebook发送回数据库的响应。我该如何捕获这些绳子以便保存它们?
最佳答案
这是一个古老的问题,但我找不到自己如何调试Koala请求的简单示例。
考拉使用法拉第(Faraday),它具有极高的可扩展性。它基于Rack中间件,Koala为此设置了默认中间件。这是向法拉第中间件添加STDOUT
日志的方法:
# 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
您可以在这里阅读更多有关如何使用Faraday以及我从何处获得记录器的信息:
https://mislav.net/2011/07/faraday-advanced-http/
希望这可以帮助其他人寻找一种简单的方法来调试对Facebook Graph API的Koala HTTP请求!