From 298afc7ec1d7cb49f5f0b29e5a19f6bb72f179fa Mon Sep 17 00:00:00 2001 From: Azul Date: Fri, 24 Jun 2016 14:13:54 +0200 Subject: first attempt at using celluloid instead of em - broken Main problem right now is the outdated version of webmock. --- lib/nickserver/adapters/celluloid_http.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 lib/nickserver/adapters/celluloid_http.rb (limited to 'lib/nickserver/adapters/celluloid_http.rb') diff --git a/lib/nickserver/adapters/celluloid_http.rb b/lib/nickserver/adapters/celluloid_http.rb new file mode 100644 index 0000000..5772bd1 --- /dev/null +++ b/lib/nickserver/adapters/celluloid_http.rb @@ -0,0 +1,17 @@ +require 'nickserver/adapters' +# require 'celluloid/io' +require 'http' + +module Nickserver::Adapters + class CelluloidHttp + # include Celluloid::IO + + def get(url, options = {}) + response = HTTP.get url, + params: options[:query] + # ssl_socket_class: Celluloid::IO::SSLSocket + yield response.code, response.to_s + end + + end +end -- cgit v1.2.3 From fe9a23419f9a875a98fc05dc22e2ad6c5f6dbe3b Mon Sep 17 00:00:00 2001 From: Azul Date: Thu, 30 Jun 2016 13:47:40 +0200 Subject: actually use celluloid io for http requests --- lib/nickserver/adapters/celluloid_http.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/nickserver/adapters/celluloid_http.rb') diff --git a/lib/nickserver/adapters/celluloid_http.rb b/lib/nickserver/adapters/celluloid_http.rb index 5772bd1..5ded702 100644 --- a/lib/nickserver/adapters/celluloid_http.rb +++ b/lib/nickserver/adapters/celluloid_http.rb @@ -4,12 +4,12 @@ require 'http' module Nickserver::Adapters class CelluloidHttp - # include Celluloid::IO + include Celluloid::IO def get(url, options = {}) response = HTTP.get url, - params: options[:query] - # ssl_socket_class: Celluloid::IO::SSLSocket + params: options[:query], + ssl_socket_class: Celluloid::IO::SSLSocket yield response.code, response.to_s end -- cgit v1.2.3 From 39697391452a1306e4aef3a5126bd2b9639b5936 Mon Sep 17 00:00:00 2001 From: Azul Date: Thu, 30 Jun 2016 17:10:26 +0200 Subject: use proper ssl connection with ca_file - green! --- lib/nickserver/adapters/celluloid_http.rb | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/nickserver/adapters/celluloid_http.rb') 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 -- cgit v1.2.3 From 8a664a39bc3dd77a9c53fa5931f81c2b2b8b7295 Mon Sep 17 00:00:00 2001 From: Azul Date: Sat, 2 Jul 2016 10:49:48 +0200 Subject: minor: silence warnings and cleanup --- lib/nickserver/adapters/celluloid_http.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/nickserver/adapters/celluloid_http.rb') diff --git a/lib/nickserver/adapters/celluloid_http.rb b/lib/nickserver/adapters/celluloid_http.rb index 9e5fa3b..1adfaca 100644 --- a/lib/nickserver/adapters/celluloid_http.rb +++ b/lib/nickserver/adapters/celluloid_http.rb @@ -1,5 +1,7 @@ require 'nickserver/adapters' -# require 'celluloid/io' +silence_warnings do + require 'celluloid/io' +end require 'http' module Nickserver::Adapters -- cgit v1.2.3 From fb2d7e6f8f1fceefbc8964d34369a867eb8f25bb Mon Sep 17 00:00:00 2001 From: Azul Date: Sat, 2 Jul 2016 12:03:46 +0200 Subject: refactor: replace blocks/yields with returns This became possible because we now use celluloid. Celluloid handles asynchronity without the need for callbacks or blocks. --- lib/nickserver/adapters/celluloid_http.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/nickserver/adapters/celluloid_http.rb') diff --git a/lib/nickserver/adapters/celluloid_http.rb b/lib/nickserver/adapters/celluloid_http.rb index 1adfaca..d326b8a 100644 --- a/lib/nickserver/adapters/celluloid_http.rb +++ b/lib/nickserver/adapters/celluloid_http.rb @@ -13,7 +13,7 @@ module Nickserver::Adapters params: options[:query], ssl_context: ctx, ssl_socket_class: Celluloid::IO::SSLSocket - yield response.code, response.to_s + return response.code, response.to_s end def ctx -- cgit v1.2.3