diff options
-rw-r--r-- | lib/nickserver/adapters/celluloid_http.rb | 6 | ||||
-rw-r--r-- | test/unit/adapters/celluloid_http_test.rb | 9 |
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/nickserver/adapters/celluloid_http.rb b/lib/nickserver/adapters/celluloid_http.rb index 5ded702..9e5fa3b 100644 --- a/lib/nickserver/adapters/celluloid_http.rb +++ b/lib/nickserver/adapters/celluloid_http.rb @@ -9,9 +9,15 @@ module Nickserver::Adapters def get(url, options = {}) response = HTTP.get url, params: options[:query], + ssl_context: ctx, ssl_socket_class: Celluloid::IO::SSLSocket yield response.code, response.to_s end + def ctx + OpenSSL::SSL::SSLContext.new.tap do |ctx| + ctx.ca_file = Nickserver::Config.hkp_ca_file + end + end end end diff --git a/test/unit/adapters/celluloid_http_test.rb b/test/unit/adapters/celluloid_http_test.rb index c3c58b1..c9ea411 100644 --- a/test/unit/adapters/celluloid_http_test.rb +++ b/test/unit/adapters/celluloid_http_test.rb @@ -25,6 +25,15 @@ class Nickserver::Adapters::CelluloidHttpTest < Minitest::Test end end + def test_https_for_hkp + url = Nickserver::Config.hkp_url + real_network do + adapter.get url do |status, _body| + assert_equal 404, status + end + end + end + protected def adapter |