summaryrefslogtreecommitdiff
path: root/lib/nickserver/hkp/parse_key_info.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/nickserver/hkp/parse_key_info.rb')
-rw-r--r--lib/nickserver/hkp/parse_key_info.rb22
1 files changed, 15 insertions, 7 deletions
diff --git a/lib/nickserver/hkp/parse_key_info.rb b/lib/nickserver/hkp/parse_key_info.rb
index d8abe4f..9d59d6b 100644
--- a/lib/nickserver/hkp/parse_key_info.rb
+++ b/lib/nickserver/hkp/parse_key_info.rb
@@ -12,18 +12,26 @@ module Nickserver; module Hkp
# which the output of sks does.
MATCH_PUB_KEY = /(^pub:.+?\n(^uid:.+?\n)+)/m
- # header -- header of the hkp response
+ # status -- http status of the hkp response
# vindex_result -- raw output from a vindex hkp query (machine readable)
- def initialize(header, vindex_result)
- @header = header
+ def initialize(status, vindex_result)
+ @status = status
@vindex_result = vindex_result
end
- def status(uid)
+ def status_for(uid)
if hkp_ok? && keys(uid).empty?
error_status(uid)
else
- header.status
+ status
+ end
+ end
+
+ def response_for(uid)
+ if keys(uid).any?
+ keys(uid)
+ else
+ msg(uid)
end
end
@@ -41,7 +49,7 @@ module Nickserver; module Hkp
protected
- attr_reader :header
+ attr_reader :status
attr_reader :vindex_result
def error_status(uid)
@@ -78,7 +86,7 @@ module Nickserver; module Hkp
end
def hkp_ok?
- header.status == 200
+ status == 200
end
def error_message(uid, key, err)