Liking cljdoc? Tell your friends :D

http-kit

Simple, high-performance event-driven HTTP client+server for Clojure

Latest releases

github actions

Resources

  1. Wiki - community docs (new!) 👈
  2. Release info - releases and changes
  3. API docs - auto-generated API docs
  4. GitHub issues - for support requests and contributions

Status

http-kit was created by @shenfeng, but is currently being maintained by its community.

A big thank-you to the current contributors for keeping the project going! Additional contributors very welcome: please ping me if you'd be interested in lending a hand.

- Peter Taoussanis

Features

Links below point to the legacy website, which is currently unmaintained and may be outdated. A community effort is now underway to slowly transition away from the legacy website.

  • Ring compliant: http-kit is an (almost) drop-in replacement for the standard Ring Jetty adapter. So you can use it with all your current libraries (e.g. Compojure) and middleware.

  • High performance: Using an event-driven architecture like Nginx, HTTP-kit is very, very fast. It comfortably handles tens of thousands of requests/sec on even midrange hardware. Here is another test about how it stacks up with others.

  • High concurrency: It's not only fast, but efficient! Each connection costs nothing but a few kB of memory. RAM usage grows O(n) with connections.

  • Clean, simple, small: Written from the ground-up to be lean, the entire client/server is available as a single ~90kB JAR with zero dependencies and ~3k lines of (mostly Java) code.

  • Sync or async: Synchronous is simple. Asynchronous is fast & flexible. With http-kit you get the best of both with a simple API that lets you mix & match to best fit your use case.

  • WebSockets and Comet: With great out-the-box support for both WebSockets and efficient handling of long-held HTTP requests, realtime web applications are a breeze to write.


Copyright © 2012-2023 @shenfeng and contributors. Distributed under the Apache License Version 2.0.

Can you improve this documentation? These fine people already did:
feng, Peter Taoussanis, James Carnegie, Ben Sless, iacopo, Philip Aston, Dmitri Sotnikov, Samy Dindane, Alexander Oloo, Michiel Borkent & Francesco Pischedda
Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close