我正在尝试使用Excon
适配器将我的项目从Faraday
转换为Excon
,但我没有运气。
问题是我需要将一些任意连接选项传递给Excon
,因为我正在连接的API使用客户端SSL证书进行身份验证。
要与直线Excon
建立连接,我使用的是:
@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.9 RC5)时,我收到undefined method client_cert=
错误,这让我相信文档已过时。有人知道如何将任意连接选项传递给适配器吗?
答案 0 :(得分:3)
您必须将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的示例。