使用apigee配置twitter gem版本3

时间:2012-07-06 20:01:39

标签: ruby twitter twitter-gem faraday-oauth

我通过设置:

使用twitter gem的第2版与apigee的组合

Twitter.gateway ='myapp-myapigee.apiggeee.com'

在版本3中,删除了通过网关配置支持API网关。正如在更新版本中指出的那样,任何有关实现自定义法拉第中间件的指示都表示赞赏。

1 个答案:

答案 0 :(得分:2)

removed the code允许在版本3中进行自定义网关配置,因为它未经测试。如果您查看我删除的代码,它所做的只是在发送请求之前立即将URL的host部分设置为网关。如果此中间件在版本2中为您工作,您应该能够将其复制到您的应用程序中:

require 'faraday'

class ApigeeGatewayMiddleware < Faraday::Middleware

  def call(env)
    url = env[:url].dup
    url.host = 'myapp-myapigee.apiggeee.com'
    env[:url] = url
    @app.call(env)
  end

end

然后运行:

Twitter.middleware.insert_after Faraday::Request::UrlEncoded, ApigeeGatewayMiddleware

所有后续请求都应通过网关。

如果您提交了包含测试的拉取请求但我不愿意在代码库中包含未经测试的代码,我会考虑将网关配置添加回库中。