summaryrefslogtreecommitdiff
path: root/lib/nickserver/dispatcher.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/nickserver/dispatcher.rb')
-rw-r--r--lib/nickserver/dispatcher.rb18
1 files changed, 7 insertions, 11 deletions
diff --git a/lib/nickserver/dispatcher.rb b/lib/nickserver/dispatcher.rb
index 71e71cf..dfd53e5 100644
--- a/lib/nickserver/dispatcher.rb
+++ b/lib/nickserver/dispatcher.rb
@@ -24,21 +24,23 @@ require 'nickserver/request_handlers/fingerprint_handler'
module Nickserver
class Dispatcher
-
- def initialize(responder)
+ def initialize(responder, adapter = nil)
@responder = responder
+ @adapter = adapter
end
def respond_to(params, headers)
request = Nickserver::Request.new params, headers
response = handle request
- send_response response
+ responder.respond response.status, response.content
end
protected
+ attr_reader :responder, :adapter
+
def handle(request)
- handler_chain.handle request
+ handler_chain.handle request, adapter
end
def handler_chain
@@ -51,7 +53,7 @@ module Nickserver
RequestHandlers::LeapEmailHandler,
RequestHandlers::HkpEmailHandler,
RequestHandlers::FingerprintHandler,
- Proc.new {|_req| proxy_error_response },
+ Proc.new { proxy_error_response },
Proc.new { Nickserver::Response.new(404, "404 Not Found\n") }
chain.continue_on HTTP::ConnectionError
return chain
@@ -65,11 +67,5 @@ module Nickserver
end
end
- def send_response(response)
- responder.respond response.status, response.content
- end
-
- attr_reader :responder
-
end
end