summaryrefslogtreecommitdiff
path: root/lib/nickserver/adapters/celluloid_http.rb
diff options
context:
space:
mode:
authorazul <azul@riseup.net>2016-07-12 10:39:58 +0200
committerGitHub <noreply@github.com>2016-07-12 10:39:58 +0200
commitd7599715c6d24534dcccbe29cfc058e534039053 (patch)
tree14824b08c4d0889e9767171ac5bafe3316a607f9 /lib/nickserver/adapters/celluloid_http.rb
parent27196b87e8d0ce5325381ea96ccd68ced8ee2e4d (diff)
parent6732fef4df156a02ed83f006f19f66cf567b5340 (diff)
Merge pull request #5 from azul/celluloid
Use Celluloid, Reel and Celluloid I/O based http requests
Diffstat (limited to 'lib/nickserver/adapters/celluloid_http.rb')
-rw-r--r--lib/nickserver/adapters/celluloid_http.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/nickserver/adapters/celluloid_http.rb b/lib/nickserver/adapters/celluloid_http.rb
new file mode 100644
index 0000000..d326b8a
--- /dev/null
+++ b/lib/nickserver/adapters/celluloid_http.rb
@@ -0,0 +1,25 @@
+require 'nickserver/adapters'
+silence_warnings do
+ require 'celluloid/io'
+end
+require 'http'
+
+module Nickserver::Adapters
+ class CelluloidHttp
+ include Celluloid::IO
+
+ def get(url, options = {})
+ response = HTTP.get url,
+ params: options[:query],
+ ssl_context: ctx,
+ ssl_socket_class: Celluloid::IO::SSLSocket
+ return 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