From 8a81429f0eb8aa5041d47557d0c5b5359bb959e6 Mon Sep 17 00:00:00 2001 From: Azul Date: Wed, 25 May 2016 13:13:30 +0200 Subject: copy over all files from rewritten attempt I started a nickserver from scratch to implement the things that are independent of our choice of stack (eventmachine or other). This commit copies them over and tests both things in parallel. --- lib/nickserver/hkp/fetch_key_info.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/nickserver/hkp/fetch_key_info.rb') diff --git a/lib/nickserver/hkp/fetch_key_info.rb b/lib/nickserver/hkp/fetch_key_info.rb index 2448bb1..b7481d0 100644 --- a/lib/nickserver/hkp/fetch_key_info.rb +++ b/lib/nickserver/hkp/fetch_key_info.rb @@ -4,7 +4,7 @@ require 'em-http' # used to fetch an array of KeyInfo objects that match the given uid. # -module Nickserver; module HKP +module Nickserver; module Hkp class FetchKeyInfo include EM::Deferrable -- cgit v1.2.3 From f567ed80427d43019ceb1aaf77d4bc6c01e62729 Mon Sep 17 00:00:00 2001 From: Azul Date: Sat, 11 Jun 2016 15:19:50 +0200 Subject: use adapter for FetchKeyInfo --- lib/nickserver/hkp/fetch_key_info.rb | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) (limited to 'lib/nickserver/hkp/fetch_key_info.rb') diff --git a/lib/nickserver/hkp/fetch_key_info.rb b/lib/nickserver/hkp/fetch_key_info.rb index b7481d0..b23af15 100644 --- a/lib/nickserver/hkp/fetch_key_info.rb +++ b/lib/nickserver/hkp/fetch_key_info.rb @@ -1,30 +1,26 @@ -require 'em-http' - # # used to fetch an array of KeyInfo objects that match the given uid. # module Nickserver; module Hkp class FetchKeyInfo - include EM::Deferrable - def search(uid) + def initialize(adapter) + @adapter = adapter + end + + def search(uid, &block) # in practice, exact=on seems to have no effect params = {op: 'vindex', search: uid, exact: 'on', options: 'mr', fingerprint: 'on'} - EventMachine::HttpRequest.new(Config.hkp_url).get(query: params).callback {|http| - parser = ParseKeyInfo.new http.response_header, http.response - keys = parser.keys(uid) - if keys.any? - self.succeed keys - else - self.fail parser.status(uid), parser.msg(uid) - end - }.errback {|http| - self.fail 500, http.error - } - self + adapter.get(Config.hkp_url, query: params) do |status, response| + parser = ParseKeyInfo.new status, response + yield parser.status_for(uid), parser.response_for(uid) + end end + protected + attr_reader :adapter + end end; end -- cgit v1.2.3 From 48502085e5aa7a1d8d430fc1dd4913f34e818afa Mon Sep 17 00:00:00 2001 From: Azul Date: Tue, 14 Jun 2016 09:36:29 +0200 Subject: introduce Hkp::Client wraps the hkp protocol --- lib/nickserver/hkp/fetch_key_info.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'lib/nickserver/hkp/fetch_key_info.rb') diff --git a/lib/nickserver/hkp/fetch_key_info.rb b/lib/nickserver/hkp/fetch_key_info.rb index b23af15..b8685bc 100644 --- a/lib/nickserver/hkp/fetch_key_info.rb +++ b/lib/nickserver/hkp/fetch_key_info.rb @@ -1,3 +1,5 @@ +require 'nickserver/hkp/client' + # # used to fetch an array of KeyInfo objects that match the given uid. # @@ -10,9 +12,7 @@ module Nickserver; module Hkp end def search(uid, &block) - # in practice, exact=on seems to have no effect - params = {op: 'vindex', search: uid, exact: 'on', options: 'mr', fingerprint: 'on'} - adapter.get(Config.hkp_url, query: params) do |status, response| + client.get_key_infos_by_email(uid) do |status, response| parser = ParseKeyInfo.new status, response yield parser.status_for(uid), parser.response_for(uid) end @@ -21,6 +21,10 @@ module Nickserver; module Hkp protected attr_reader :adapter + def client + @client ||= Client.new(adapter) + end + end end; end -- cgit v1.2.3 From 93258bd6fe6247e7af67f423243eba9808e920ee Mon Sep 17 00:00:00 2001 From: Azul Date: Wed, 15 Jun 2016 10:36:25 +0200 Subject: we don't need FetchKeyInfo anymore including in Source --- lib/nickserver/hkp/fetch_key_info.rb | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 lib/nickserver/hkp/fetch_key_info.rb (limited to 'lib/nickserver/hkp/fetch_key_info.rb') diff --git a/lib/nickserver/hkp/fetch_key_info.rb b/lib/nickserver/hkp/fetch_key_info.rb deleted file mode 100644 index b8685bc..0000000 --- a/lib/nickserver/hkp/fetch_key_info.rb +++ /dev/null @@ -1,30 +0,0 @@ -require 'nickserver/hkp/client' - -# -# used to fetch an array of KeyInfo objects that match the given uid. -# - -module Nickserver; module Hkp - class FetchKeyInfo - - def initialize(adapter) - @adapter = adapter - end - - def search(uid, &block) - client.get_key_infos_by_email(uid) do |status, response| - parser = ParseKeyInfo.new status, response - yield parser.status_for(uid), parser.response_for(uid) - end - end - - protected - attr_reader :adapter - - def client - @client ||= Client.new(adapter) - end - - end - -end; end -- cgit v1.2.3