diff options
author | Azul <azul@riseup.net> | 2016-06-08 12:44:38 +0200 |
---|---|---|
committer | Azul <azul@riseup.net> | 2016-06-08 12:54:23 +0200 |
commit | a89e2ba55399e6bddd9e052cf2064ed0056c958a (patch) | |
tree | c28ec332f9763f395a88db991defcae59fa46806 /lib/nickserver/server.rb | |
parent | 712c1d062c08a58ca8772aafcdc39d0281959b4a (diff) |
refactor: use new couch_db classes from fetch_key
This moves all the em_http related stuff into a single adapter.
We're also not using callback and errback inside fetch_key or
server for couch requests anymore.
Changing the interface for hkp to do the same will follow.
Diffstat (limited to 'lib/nickserver/server.rb')
-rw-r--r-- | lib/nickserver/server.rb | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/lib/nickserver/server.rb b/lib/nickserver/server.rb index cc6e3dd..9e1551b 100644 --- a/lib/nickserver/server.rb +++ b/lib/nickserver/server.rb @@ -92,20 +92,23 @@ module Nickserver end def get_key_from_uid(uid) - fetcher = if local_address?(uid) - Nickserver::Couch::FetchKey.new + if local_address?(uid) + @fetcher = Nickserver::Couch::FetchKey.new + @fetcher.get(uid) do |response| + send_response(status: response.status, content: response.content) + end else - Nickserver::Hkp::FetchKey.new + @fetcher = Nickserver::Hkp::FetchKey.new + @fetcher.get(uid).callback {|key| + yield key + }.errback {|status, msg| + if status == 404 + send_not_found + else + send_response(status: status, content: msg) + end + } end - fetcher.get(uid).callback {|key| - yield key - }.errback {|status, msg| - if status == 404 - send_not_found - else - send_response(status: status, content: msg) - end - } end def format_response(map) |