Object
EventMachine based HTTP request class with support for streaming consumption of the response. Response is parsed with a Ragel-generated whitelist parser which supports chunked HTTP encoding.
EventMachine.run { http = EventMachine::HttpRequest.new('http://127.0.0.1/').get :query => {'keyname' => 'value'} http.callback { p http.response_header.status p http.response_header p http.response EventMachine.stop } }
# File lib/em-http/request.rb, line 51 51: def delete options = {}, &blk; setup_request(:delete,options, &blk); end
Send an HTTP request and consume the response. Supported options:
head: {Key: Value} Specify an HTTP header, e.g. {'Connection': 'close'} query: {Key: Value} Specify query string parameters (auto-escaped) body: String Specify the request body (you must encode it for now) on_response: Proc Called for each response body chunk (you may assume HTTP 200 OK then)
# File lib/em-http/request.rb, line 49 49: def get options = {}, &blk; setup_request(:get, options, &blk); end
# File lib/em-http/request.rb, line 50 50: def head options = {}, &blk; setup_request(:head, options, &blk); end
# File lib/em-http/request.rb, line 62 62: def send_request(&blk) 63: begin 64: EventMachine.connect(@req.host, @req.port, EventMachine::HttpClient) { |c| 65: c.uri = @req.uri 66: c.method = @req.method 67: c.options = @req.options 68: c.comm_inactivity_timeout = @req.options[:timeout] 69: c.pending_connect_timeout = @req.options[:timeout] 70: blk.call(c) unless blk.nil? 71: } 72: rescue EventMachine::ConnectionError => e 73: conn = EventMachine::HttpClient.new("") 74: conn.on_error(e.message, true) 75: conn 76: end 77: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.