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/adapters/couch_db.rb | 12 ++++++++++++ lib/nickserver/adapters/local.rb | 8 ++++++++ lib/nickserver/adapters/remote.rb | 4 ++++ 3 files changed, 24 insertions(+) create mode 100644 lib/nickserver/adapters/couch_db.rb create mode 100644 lib/nickserver/adapters/local.rb create mode 100644 lib/nickserver/adapters/remote.rb (limited to 'lib/nickserver/adapters') diff --git a/lib/nickserver/adapters/couch_db.rb b/lib/nickserver/adapters/couch_db.rb new file mode 100644 index 0000000..e8a23ad --- /dev/null +++ b/lib/nickserver/adapters/couch_db.rb @@ -0,0 +1,12 @@ +require 'nickserver/adapters' + +class Nickserver::Adapters::CouchDB + + + protected + + def query_couch(nick) + yield 404, "{}" + end + +end diff --git a/lib/nickserver/adapters/local.rb b/lib/nickserver/adapters/local.rb new file mode 100644 index 0000000..d6210c3 --- /dev/null +++ b/lib/nickserver/adapters/local.rb @@ -0,0 +1,8 @@ +require 'nickserver/adapters' + +class Nickserver::Adapters::Local + + def query(nick) + end + +end diff --git a/lib/nickserver/adapters/remote.rb b/lib/nickserver/adapters/remote.rb new file mode 100644 index 0000000..e12bd26 --- /dev/null +++ b/lib/nickserver/adapters/remote.rb @@ -0,0 +1,4 @@ +require 'nickserver/adapters' + +class Nickserver::Adapters::Remote +end -- cgit v1.2.3 From a89e2ba55399e6bddd9e052cf2064ed0056c958a Mon Sep 17 00:00:00 2001 From: Azul Date: Wed, 8 Jun 2016 12:44:38 +0200 Subject: 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. --- lib/nickserver/adapters/couch_db.rb | 12 ------------ lib/nickserver/adapters/em_http.rb | 24 ++++++++++++++++++++++++ 2 files changed, 24 insertions(+), 12 deletions(-) delete mode 100644 lib/nickserver/adapters/couch_db.rb create mode 100644 lib/nickserver/adapters/em_http.rb (limited to 'lib/nickserver/adapters') diff --git a/lib/nickserver/adapters/couch_db.rb b/lib/nickserver/adapters/couch_db.rb deleted file mode 100644 index e8a23ad..0000000 --- a/lib/nickserver/adapters/couch_db.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'nickserver/adapters' - -class Nickserver::Adapters::CouchDB - - - protected - - def query_couch(nick) - yield 404, "{}" - end - -end diff --git a/lib/nickserver/adapters/em_http.rb b/lib/nickserver/adapters/em_http.rb new file mode 100644 index 0000000..16db5ae --- /dev/null +++ b/lib/nickserver/adapters/em_http.rb @@ -0,0 +1,24 @@ +require 'nickserver/adapters' +require 'em-http' + +module Nickserver::Adapters + class EmHttp + + def initialize + @timeout = 5 + end + + def get(url, options = {}) + get_request(url, options).callback {|http| + yield http.response_header.status, http.response + }.errback {|http| + yield 0, http.error + } + end + + def get_request(url, options = {}) + @request = EventMachine::HttpRequest.new(url) + @request.get timeout: @timeout, query: options[:query] + end + end +end -- cgit v1.2.3