From 0491e79c4e5f16d38cf87e53290394e1eccfa2e9 Mon Sep 17 00:00:00 2001 From: Azul Date: Thu, 30 Jun 2016 11:23:45 +0200 Subject: Trying to replace EM base server with reel some tests are still broken. But at least they are running now. --- lib/nickserver/reel_server.rb | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'lib/nickserver/reel_server.rb') diff --git a/lib/nickserver/reel_server.rb b/lib/nickserver/reel_server.rb index c12c402..abda57f 100644 --- a/lib/nickserver/reel_server.rb +++ b/lib/nickserver/reel_server.rb @@ -4,25 +4,31 @@ require 'nickserver/adapters/celluloid_http' require 'nickserver/request_handler' module Nickserver - class ReelServer + class ReelServer < Reel::Server::HTTP def self.start(options = {}) - Reel::Server::HTTP.run(options[:host], options[:port]) do |connection| - # Support multiple keep-alive requests per connection - connection.each_request do |request| - handler = handler_for(request) - handler.respond_to params(request), request.headers - end + new(options[:host], options[:port]).run + end + + def initialize(host = "127.0.0.1", port = 3000) + super(host, port, &method(:on_connection)) + end + + def on_connection(connection) + connection.each_request do |request| + handler = handler_for(request) + handler.respond_to params(request), request.headers end end + protected - def self.handler_for(request) + def handler_for(request) RequestHandler.new(request, Nickserver::Adapters::CelluloidHttp.new) end - def self.params(request) + def params(request) if request.query_string CGI.parse request.query_string else -- cgit v1.2.3