Настройка twitter gem версии 3 с помощью Apigee

Я использовал версию 2 в твиттере в сочетании с apigee, установив:

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

В версии 3 удалена поддержка шлюзов API через конфигурацию шлюзов. Любые указатели по реализации пользовательского промежуточного программного обеспечения Фарадея, как указано в обновленном выпуске, приветствуются.

1 ответ

Решение

Я удалил код, который позволял настраивать пользовательский шлюз в версии 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

Все последующие запросы должны проходить через шлюз.

Я хотел бы рассмотреть возможность добавления конфигурации шлюза обратно в библиотеку, если вы отправили запросы на извлечение, которые включали тесты, но я не хотел бы иметь непроверенный код в базе кода.

Другие вопросы по тегам