Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
The HTTP toolkit for Ruby
Ruby
Failed to load latest commit information.
doc Add documentation start page
examples examples: tidy up streaming example
lib request: fix sequence numbering across clones
spec
.gitignore Add task for updating HTML docs
.rspec
.travis.yml Update CI config
.yardopts Include UNLICENSE in documentation
Gemfile Remove Devtools
README.md
Rakefile Remove Devtools
UNLICENSE
httpkit.gemspec Remove Devtools

README.md

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
Something went wrong with that request. Please try again.