我通过设置将 twitter gem 版本 2 与 apigee 结合使用:
Twitter.gateway = 'myapp-myapigee.apiggeee.com'
在版本 3 中,删除了通过网关配置对 API 网关的支持。如更新版本中所指出的,任何与实现自定义法拉第中间件有关的指针都值得赞赏。
我通过设置将 twitter gem 版本 2 与 apigee 结合使用:
Twitter.gateway = 'myapp-myapigee.apiggeee.com'
在版本 3 中,删除了通过网关配置对 API 网关的支持。如更新版本中所指出的,任何与实现自定义法拉第中间件有关的指针都值得赞赏。
我删除了版本 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
所有后续请求都应通过网关。
如果您提交了包含测试的拉取请求,我会考虑将网关配置添加回库中,但我不愿意在代码库中包含未经测试的代码。