是否可以为会话中打开的所有连接设置默认值,而不是为每个请求设置超时?
任何可以按请求编辑的选项也可以在可用于发出所有请求的 Connection 实例上设置。
conn = Faraday.new("https://api.example.com", request: {
open_timeout: 2, # opening a connection
timeout: 5 # waiting for response
})
conn.get(...)
很好,谢谢!
由于我在其他地方很少看到正确的提及,因此 0.9.2 中的构建器版本是这样的,options 属性是请求选项默认值:
Faraday::Connection.new('https://api.example.com') do |builder|
builder.options[:open_timeout] = 2
builder.options[:timeout] = 5
builder.adapter Faraday.default_adapter
end
两个示例都解释了如何设置每个请求,如何全局设置?
@neohunter上面的示例将为从该连接完成的每个请求设置它。 Faraday 目前并不支持所有连接的全局设置,但这真的不是必需的,因为您管理的连接数量应该只有几个(实际上,在大多数情况下只有一个)。
最有用的评论
由于我在其他地方很少看到正确的提及,因此 0.9.2 中的构建器版本是这样的,options 属性是请求选项默认值: