summaryrefslogtreecommitdiff
path: root/lib/nickserver/hkp/source.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/nickserver/hkp/source.rb')
-rw-r--r--lib/nickserver/hkp/source.rb12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/nickserver/hkp/source.rb b/lib/nickserver/hkp/source.rb
index cbff91a..cae3e01 100644
--- a/lib/nickserver/hkp/source.rb
+++ b/lib/nickserver/hkp/source.rb
@@ -1,6 +1,9 @@
require 'nickserver/response'
require 'nickserver/hkp/response'
require 'nickserver/hkp/client'
+require "nickserver/hkp/parse_key_info"
+require "nickserver/hkp/key_info"
+
#
# Fetch keys via HKP
@@ -15,7 +18,7 @@ module Nickserver; module Hkp
end
def query(nick, &block)
- FetchKeyInfo.new(adapter).search(nick) do |status, response|
+ search(nick) do |status, response|
if status == 200
best = pick_best_key(response)
get_key_by_fingerprint(nick, best.keyid, &block)
@@ -25,6 +28,13 @@ module Nickserver; module Hkp
end
end
+ def search(nick, &block)
+ client.get_key_infos_by_email(nick) do |status, response|
+ parser = ParseKeyInfo.new status, response
+ yield parser.status_for(nick), parser.response_for(nick)
+ end
+ end
+
protected
attr_reader :adapter