The HTTP toolkit for Ruby

Build Status

HTTPkit is a Ruby library for HTTP networking and processing. It provides:

  • Server and client classes based on EventMachine and Fibers
  • Modular implementations of protocol semantics
  • Data structures for messages and entity bodies
  • Serializer and parser classes
  • Streaming of message bodies

It also offers:

  • Integration with other HTTP-related libraries like Webmachine and Rack
  • High-quality code with consistent APIs, aiming for 100% mutation coverage
  • Compatibility with MRI and Rubinius (MRuby is planned)
  • 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.

Is it any good?

Yes.

Installation

Add the gem to your project's bundle

$ echo "gem 'httpkit'" >> Gemfile
$ bundle

Or install it using RubyGems:

$ gem install httpkit

Usage

The website is in a sorry state at the moment. Please consult the code examples in examples/.

Code examples

API reference

To do

Here: https://trello.com/b/OoxEq1ze/httpkit

License

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

Contributing

  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