我继承了一个从CASinoApp派生的Ruby项目,该项目依赖于CASino,后者使用Faraday进行HTTP请求。我确实不想分叉CASino来修改how it invokes Faraday.post
。
有没有办法配置法拉第全球为其后的所有请求设置用户代理?具体来说,我无法运行Faraday的构造函数来获取连接并进行配置 - 因为CASino不会使用我配置的连接来处理它的请求。我需要以某种方式改变法拉第的内部“默认”配置。
答案 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' }