【问题标题】:Globally Configure Faraday User-Agent全局配置 Faraday User-Agent
【发布时间】:2017-08-10 20:21:53
【问题描述】:

我继承了一个从 CASinoApp 派生的 Ruby 项目,它依赖于 CASino,它使用 Faraday 进行 HTTP 请求。我真的不想fork CASino修改how it invokes Faraday.post

有没有办法全局配置 Faraday 以设置它的 User-Agent 来处理随后的所有请求?具体来说,我无法运行 Faraday 的构造函数来获取连接并对其进行配置 - 因为 CASino 不会将我配置的连接用于它的请求。我需要以某种方式改变法拉第的内部“默认”配置。

【问题讨论】:

标签: ruby cas faraday


【解决方案1】:

在法拉第的现代版本中,您应该可以使用Faraday.default_connection_options。在我们的例子中,我们被困在使用 0.9.2 并且不得不实际配置一个连接对象并设置 Faraday.default_connection,原因是 addressed0.12.2 中。

Faraday.default_connection = Faraday.new(options = {:headers=>{:user_agent=>"My Custom UA Here"}})

【讨论】:

  • options= 部分在这里是多余的,但这是正确的想法。
  • 快速提问,我们如何在 Rails 上应用它?也许创建一个新的初始化器?
【解决方案2】:

对于像我们一样专门尝试设置默认超时选项的任何人,这在现代法拉第实现中对我们有用:

Faraday.default_connection_options = Faraday::ConnectionOptions.new({timeout: 5, open_timeout: 5})

您还可以在该哈希中设置任何其他请求选项。

【讨论】:

    【解决方案3】:

    这在法拉第 1.1.0 版中对我有用。

    Faraday.default_connection_options.headers = { "User-Agent" => 'Mozilla/5.0' }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-29
      • 1970-01-01
      • 1970-01-01
      • 2014-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多