Skip to content

em-http-request

1,219 4 13 MIT
1.1.7 (31 Aug 2020) Oct 25 2009 249.6 thousand (month)

em-http-request is a Ruby gem for making asynchronous HTTP requests using EventMachine. It allows you to perform multiple requests simultaneously and handle the responses as they come in, rather than waiting for each request to complete before making the next one.

In short it supports: - Asynchronous HTTP API for single & parallel request execution - Keep-Alive and HTTP pipelining support - Auto-follow 3xx redirects with max depth - Automatic gzip & deflate decoding - Streaming response processing - Streaming file uploads - HTTP proxy and SOCKS5 support - Basic Auth & OAuth - Connection-level & global middleware support - HTTP parser via http_parser.rb - Works wherever EventMachine runs: Rubinius, JRuby, MRI

Example Use


EventMachine.run {
  http = EventMachine::HttpRequest.new('http://google.com/').get :query => {'keyname' => 'value'}

  # add callback for errors:
  http.errback { p 'Uh oh'; EM.stop }

  # add callback for successful requests
  http.callback {
    p http.response_header.status
    p http.response_header
    p http.response

    EventMachine.stop
  }
}

Alternatives / Similar


5,665 2.9.0 (4 months ago) Dec 19 2009 compare
698 2.8.3 (7 years ago) Jul 25 2009 compare
1,154 0.110.0 (a month ago) Oct 31 2009 compare
5,761 0.22.0 (12 days ago) Jul 25 2009 compare
4,063 1.4.1 (5 months ago) Oct 06 2009 compare
877 0.11.0 (3 years ago) Sep 25 2013 compare
506 1.1.4 (4 years ago) Apr 20 2010 compare
2,988 0.12.0 (6 years ago) Mar 20 2015 compare

Other Languages

51,415 2.31.0 (11 months ago) Feb 14 2011 compare
8,650 3.3.2 (5 months ago) Dec 28 2012 compare
104,139 1.6.8 (4 days ago) Aug 29 2014 compare
14,607 3.9.5 (25 days ago) Jul 26 2019 compare
got
13,956 14.2.1 (2 months ago) Mar 27 2014 compare
12,422 0.27.0 (2 months ago) Jul 26 2019 compare
16,538 9.0.2 (12 days ago) Aug 22 2011 compare
1,617 3.3.1 (4 months ago) Dec 11 2011 compare
1,041 7.45.3 (2 months ago) Feb 25 2003 compare
981 1.4.7 (1 year, 4 days ago) May 06 2012 compare
1,476 1.0.4 (1 year, 8 months ago) Nov 22 2014 compare
22,795 7.8.0 (8 months ago) Nov 14 2011 compare
383 18.1.0 (4 months ago) Aug 06 2011 compare
1,885 v7.1.0-BETA1 (9 days ago) Apr 28 2019 compare
583 23.11.0 (6 months ago) Dec 28 2012 compare
101 1.4.2 (11 months ago) Nov 09 2016 compare
req
4,023 v3.43.4 (4 days ago) Jun 16 2023 compare
9,408 v2.13.1 (a day ago) Oct 28 2018 compare
3,560 v2.0.11 (a month ago) Oct 06 2013 compare
1,921 1.2.1 (2 years ago) Nov 11 2011 compare
1,736 1.0.0 (10 days ago) Apr 14 2012 compare
152 2.2.4 (3 years ago) Dec 22 2019 compare