Skip to content

ghazel/em-http-request

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EventMachine based HTTP Request interface. Supports streaming response processing / based on Zed Shaw's Ragel HTTP parser. 
 - Borrows a lot of good concepts from Rev's HttpClient, Curb, and other libraries.
 - Offers support for single or parallel request queries & via deferred callbacks

Simple client example: 
--------

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
  }
}

Multi request example:
----------

EventMachine.run {
  multi = EventMachine::MultiRequest.new
      
  # add multiple requests to the multi-handler
  multi.add(EventMachine::HttpRequest.new('http://www.google.com/').get)
  multi.add(EventMachine::HttpRequest.new('http://www.yahoo.com/').get)
      
  multi.callback  {
    p multi.responses[:succeeded]
    p multi.responses[:failed]
       
    EventMachine.stop
  }
}

About

EventMachine based HTTP Request interface

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 59.1%
  • Ruby 40.9%