次のように設定して、バージョン 2 の twitter gem を apigee と組み合わせて使用していました。
Twitter.gateway = 'myapp-myapigee.apiggeee.com'
バージョン 3 では、ゲートウェイ構成による API ゲートウェイのサポートが削除されました。更新されたリリースで指摘されているように、カスタム ファラデー ミドルウェアを実装する方法に沿ったポインタは高く評価されます。
次のように設定して、バージョン 2 の twitter gem を 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
後続のすべてのリクエストは、ゲートウェイを通過する必要があります。
テストを含むプル リクエストを送信した場合は、ゲートウェイ構成をライブラリに追加し直すことを検討しますが、コードベースに未テストのコードを含めることは望んでいません。