我试图将一个使用Excon
适配器的项目从Faraday
转换为Excon
,但我没有任何运气。
问题是,我需要传递一些任意连接选项到Excon
,因为我正在连接的api使用客户端ssl证书进行身份验证。
为了与StraightExcon
建立连接,我使用了这个:
@connection = Excon.new("some_url", client_cert: File.expand_path(@some_cert), client_key: File.expand_path(@some_key))
根据法拉第的记录,我应该可以做这样的事情:S
@connection = Faraday::Connection.new(url: "some_url", client_cert: File.expand_path(@some_cert), client_key: File.expand_path(@some_key)) do |faraday|
faraday.adapter :excon
end
当我尝试这样做(使用来自github的0.9rc5)时,我得到一个
undefined method client_cert=
错误,这导致我认为文档已经过时。有人知道如何将任意连接选项传递给适配器吗? 最佳答案
必须将ssl选项作为散列传递。这应该有效:
ssl_opts = {
client_cert: File.expand_path(@some_cert),
client_key: File.expand_path(@some_key)
}
@connection = Faraday::Connection.new(url: "some_url", ssl: ssl_opts) do |faraday|
faraday.adapter :excon
end
This gist还有一些将ssl与faraday一起使用的示例。