Introduction
This library enables you to make evented HTTP calls if an EventMachine reactor is running.
If not, it falls back to a regular synchronous HTTP call. In both cases, you specify a proc which will be used as a callback with the HTTP code and the HTTP body being passed as parameters.
The aim of this library is to make a consistent API for both synchronous and evented HTTP calls.
Sample Code which uses EventedNet::HTTP POST call
require 'rubygems'
require 'evented_net'
require 'evma_httpserver'
require 'cgi'
class Handler < EventMachine::Connection
include EventMachine::HttpServer
def process_evented_http_req(code, body)
puts "Code: #{code} Body: #{body}"
end
def process_http_request
uri = URI.parse('http://www.cs.tut.fi/cgi-bin/run/~jkorpela/echo.cgi')
EventedNet::HTTP.post(uri, :callback => method(:process_evented_http_req), :params => {:Comments => 'Testing Attention Please'})
end
end
EventMachine::run {
# When running on Mac OS X, use EventMachine.kqueue
# When running on Linux 2.6.x kernels, use EventMachine.epoll
EventMachine.kqueue
EventMachine::start_server("0.0.0.0", 8082, Handler)
puts "Listening"
}