0

次のように設定して、バージョン 2 の twitter gem を 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 に答える