EM.run{ conn = EM::Protocols::HttpClient2.connect 'google.com', 80 req = conn.get('/') req.callback{ |response| p(response.status) p(response.headers) p(response.content) } }
Make a connection to a remote HTTP server. Can take either a pair of arguments (which will be interpreted as a hostname/ip-address and a port), or a hash. If the arguments are a hash, then supported values include:
:host => a hostname or ip-address :port => a port number :ssl => true to enable ssl
# File lib/em/protocols/httpclient2.rb, line 241 241: def self.connect *args 242: if args.length == 2 243: args = {:host=>args[0], :port=>args[1]} 244: else 245: args = args.first 246: end 247: 248: h,prt,ssl = args[:host], Integer(args[:port]), (args[:tls] || args[:ssl]) 249: conn = EM.connect( h, prt, self ) 250: conn.start_tls if ssl 251: conn.set_default_host_header( h, prt, ssl ) 252: conn 253: end
Get a url
req = conn.get(:uri => '/') req.callback{|response| puts response.content }
# File lib/em/protocols/httpclient2.rb, line 260 260: def get args 261: if args.is_a?(String) 262: args = {:uri=>args} 263: end 264: args[:verb] = "GET" 265: request args 266: end
Post to a url
req = conn.post('/data') req.callback{|response| puts response.content }
# File lib/em/protocols/httpclient2.rb, line 274 274: def post args 275: if args.is_a?(String) 276: args = {:uri=>args} 277: end 278: args[:verb] = "POST" 279: request args 280: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.