lib/saorin/server/rack.rb in saorin-0.3.0 vs lib/saorin/server/rack.rb in saorin-0.3.1

- old
+ new

@@ -8,17 +8,28 @@ DEFAULT_HEADERS = { 'Content-Type' => 'application/json' }.freeze - def initialize(handler, options = {}, &block) - super handler, options + attr_reader :server - ::Rack::Server.start({ + def initialize(handler, options = {}) + super + @server = ::Rack::Server.new({ :app => self, :Host => options[:host], :Port => options[:port], - }.merge(options)) + }.merge(@options)) + end + + def start(&block) + @server.start &block + end + + def shutdown + if @server.server.respond_to?(:shutdown) + @server.server.shutdonw + end end def call(env) request = ::Rack::Request.new(env) response = ::Rack::Response.new([], 200, DEFAULT_HEADERS.dup)