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