Class: EventMachine::Protocols::HttpClient2 Deprecated
- Inherits:
-
Connection
- Object
- Connection
- EventMachine::Protocols::HttpClient2
- Includes:
- LineText2
- Defined in:
- lib/em/protocols/httpclient2.rb
Overview
Please use EM-HTTP-Request instead.
Usage
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)
}
}
Constant Summary
Constants included from LineText2
Class Method Summary collapse
-
.connect(*args) ⇒ Object
Make a connection to a remote HTTP server.
Instance Method Summary collapse
-
#get(args) ⇒ Object
Get a url.
-
#initialize ⇒ HttpClient2
constructor
A new instance of HttpClient2.
-
#post(args) ⇒ Object
Post to a url.
Methods included from LineText2
#receive_data, #receive_end_of_binary_data, #set_binary_mode, #set_delimiter, #set_line_mode, #set_text_mode
Methods inherited from Connection
#close_connection, #close_connection_after_writing, #comm_inactivity_timeout, #comm_inactivity_timeout=, #detach, #error?, #get_cipher_bits, #get_cipher_name, #get_cipher_protocol, #get_idle_time, #get_peer_cert, #get_peername, #get_pid, #get_proxied_bytes, #get_sni_hostname, #get_sock_opt, #get_sockname, #get_status, #notify_readable=, #notify_readable?, #notify_writable=, #notify_writable?, #pause, #paused?, #pending_connect_timeout, #pending_connect_timeout=, #proxy_completed, #proxy_incoming_to, #proxy_target_unbound, #receive_data, #reconnect, #resume, #send_data, #send_datagram, #send_file_data, #set_sock_opt, #ssl_handshake_completed, #ssl_verify_peer, #start_tls, #stop_proxying, #stream_file_data, #watch_only?
Constructor Details
#initialize ⇒ HttpClient2
Returns a new instance of HttpClient2.
49 50 51 52 53 54 55 |
# File 'lib/em/protocols/httpclient2.rb', line 49 def initialize warn "HttpClient2 is deprecated and will be removed. EM-Http-Request should be used instead." @authorization = nil @closed = nil @requests = nil end |
Class Method Details
.connect(*args) ⇒ Object
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
248 249 250 251 252 253 254 255 256 257 258 259 260 |
# File 'lib/em/protocols/httpclient2.rb', line 248 def self.connect *args if args.length == 2 args = {:host=>args[0], :port=>args[1]} else args = args.first end h,prt,ssl = args[:host], Integer(args[:port]), (args[:tls] || args[:ssl]) conn = EM.connect( h, prt, self ) conn.start_tls if ssl conn.set_default_host_header( h, prt, ssl ) conn end |
Instance Method Details
#get(args) ⇒ Object
Get a url
req = conn.get(:uri => '/') req.callback{|response| puts response.content }
267 268 269 270 271 272 273 |
# File 'lib/em/protocols/httpclient2.rb', line 267 def get args if args.is_a?(String) args = {:uri=>args} end args[:verb] = "GET" request args end |
#post(args) ⇒ Object
Post to a url
req = conn.post('/data')
req.callback{|response| puts response.content }
XXX there's no way to supply a POST body.. wtf?
281 282 283 284 285 286 287 |
# File 'lib/em/protocols/httpclient2.rb', line 281 def post args if args.is_a?(String) args = {:uri=>args} end args[:verb] = "POST" request args end |