lib/httpkit.rb in httpkit-0.6.0.pre.5 vs lib/httpkit.rb in httpkit-0.6.0

- old
+ new

@@ -29,10 +29,11 @@ require 'httpkit/server' require 'httpkit/server/body_handler' require 'httpkit/server/mandatory_handler' require 'httpkit/server/keep_alive_handler' require 'httpkit/server/timeouts_handler' +require 'httpkit/server/block_handler' module HTTPkit def self.run start do yield @@ -53,7 +54,28 @@ def self.sleep(duration) promise = Promise.new EM.add_timer(duration) { promise.fulfill } promise.sync + end + + def self.random_port(address) + server = TCPServer.new(address, 0) + server.addr[1] + ensure + server.shutdown if server + end + + def self.server(uri, &block) + uri = URI(uri) + Server.start(address: uri.host, port: uri.port, + handlers: [Server::KeepAliveHandler.new, + Server::TimeoutsHandler.new, + Server::BlockHandler.new(block)]) + end + + def self.request(*args) + uri = URI(args[1]) + client = Client.start(address: uri.host, port: uri.port) + client.request(*args) end end