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"
}