The HTTP toolkit for Ruby

HTTPkit is a Ruby toolkit for working with HTTP clients and servers.

Build Status

HTTPkit offers:

  • extendable, high-quality code with consistent APIs, and 57.68% mutation coverage (wip)
  • sophisticated request and response streaming
  • integration with Webmachine for Ruby, and Rack (wip)
  • compatibility with MRuby (todo), in addition to the usual: MRI, Rubinius, JRuby (todo)
  • free and unencumbered public domain software

Before v0.6.0, HTTPkit was called Hatetepe and then underwent a ground-up rewrite. Look at the 0.5.x branch for the old code.


Add this line to your application's Gemfile:

gem 'httpkit'

And then execute:

$ bundle

Or install it yourself as:

$ gem install httpkit


The documentation is in a sorry state at the moment. The code examples are executable, though, and can be found in examples/.

Code examples

API reference

To do



HTTPkit is free and unencumbered public domain software. For more information, see or the accompanying UNLICENSE file.


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request