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