Sha256: 7d24f9b23784ccfb922c2d331414b8c5099b17243afb4b6da2b72db564aa5730

Contents?: true

Size: 795 Bytes

Versions: 12

Compression:

Stored size: 795 Bytes

Contents

$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)

require 'rubygems'
require 'cool.io'

class MyHttpClient < Coolio::HttpClient
  def on_connect
    super
    STDERR.puts "Connected to #{remote_host}:#{remote_port}"
  end

  def on_connect_failed
    super
    STDERR.puts "Connection failed"
  end

  def on_response_header(header)
    STDERR.puts "Response: #{header.http_version} #{header.status} #{header.http_reason}"
  end

  def on_body_data(data)
    STDOUT.write data
    STDOUT.flush
  end

  def on_request_complete
    STDERR.puts "Request complete!"
  end

  def on_error(reason)
    STDERR.puts "Error: #{reason}"
  end
end

l = Coolio::Loop.default
c = MyHttpClient.connect("www.google.com", 80).attach(l)
c.request('GET', '/search', :query => { :q => 'foobar' })
l.run

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
cool.io-1.2.4 examples/httpclient.rb
cool.io-1.2.3-x86-mingw32 examples/httpclient.rb
cool.io-1.2.3 examples/httpclient.rb
cool.io-1.2.2 examples/httpclient.rb
cool.io-1.2.1 examples/httpclient.rb
cool.io-1.1.1 examples/httpclient.rb
cool.io-1.2.0-x86-mswin32-60 examples/httpclient.rb
cool.io-1.2.0-x86-mingw32 examples/httpclient.rb
cool.io-1.2.0 examples/httpclient.rb
cool.io-1.1.0 examples/httpclient.rb
cool.io-1.0.0 examples/httpclient.rb
cool.io-0.9.0 examples/httpclient.rb