0

我通过设置将 twitter gem 版本 2 与 apigee 结合使用:

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

在版本 3 中,删除了通过网关配置对 API 网关的支持。如更新版本中所指出的,任何与实现自定义法拉第中间件有关的指针都值得赞赏。

4

1 回答 1

2

删除了版本 3 中允许自定义网关配置的代码,因为它未经测试。如果您查看我删除的代码,它所做的只是host在发送请求之前立即将 URL 的一部分设置为网关。如果此中间件在版本 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

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

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

于 2012-07-07T03:46:19.163 回答