diff --git a/kidgloves.rb b/kidgloves.rb index 2330e47..4af59fa 100644 --- a/kidgloves.rb +++ b/kidgloves.rb @@ -49,8 +49,8 @@ class KidGloves 505 => 'HTTP Version Not Supported' } - def self.run(app, options=nil) - new(app).listen + def self.run(app, options=nil, &block) + new(app).listen(&block) end def initialize(app) @@ -61,6 +61,8 @@ def listen log 'Starting server on 0.0.0.0:8089' server = TCPServer.new('0.0.0.0', 8089) + yield server if block_given? + loop do socket = server.accept socket.sync = true @@ -136,7 +138,7 @@ def process_request(request, input_body, socket) vs.split("\n").each { |v| socket.write("#{k}: #{v}\r\n")} end socket.write("\r\n") - body.each {|s| socket.write(s)} + body.each { |s| socket.write(s) } ensure body.close if body.respond_to? :close end