diff options
Diffstat (limited to 'lib/nickserver/dispatcher.rb')
-rw-r--r-- | lib/nickserver/dispatcher.rb | 18 |
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 |