全局配置法拉第用户代理

时间:2017-08-10 20:21:53

标签: ruby cas faraday

我继承了一个从CASinoApp派生的Ruby项目,该项目依赖于CASino,后者使用Faraday进行HTTP请求。我确实不想分叉CASino来修改how it invokes Faraday.post

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

3 个答案:

答案 0 :(得分:4)

在法拉第的现代版本中,您应该可以使用Faraday.default_connection_options。在我们的例子中,我们使用0.9.2并且必须实际配置连接对象并在addressed中设置Faraday.default_connection {...}}。

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

这是在法拉第1.1.0版中对我有用的内容。

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