Skip to content
Clojure HTTP server abstraction
Branch: master
Clone or download
weavejester Merge pull request #334 from ikitommi/ByteArrayResponse
Add support for byte array response bodies
Latest commit 6a1c7a1 Feb 13, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
checkouts Add checkout links to subprojects May 12, 2017
ring-core Merge pull request #334 from ikitommi/ByteArrayResponse Feb 13, 2019
ring-devel Release 1.7.1 Oct 27, 2018
ring-jetty-adapter Release 1.7.1 Oct 27, 2018
ring-servlet Release 1.7.1 Oct 27, 2018
.gitignore Update Codox plugin May 24, 2016
.travis.yml Add test-all aliases to subprojects May 12, 2017 Release 1.7.1 Oct 27, 2018
LICENSE Add 'James Reeves' copyright to LICENSE Mar 8, 2018 Release 1.7.1 Oct 27, 2018
SPEC Release 1.6.0 May 2, 2017
project.clj Release 1.7.1 Oct 27, 2018


Build Status

Ring is a Clojure web applications library inspired by Python's WSGI and Ruby's Rack. By abstracting the details of HTTP into a simple, unified API, Ring allows web applications to be constructed of modular components that can be shared among a variety of applications, web servers, and web frameworks.

The SPEC file at the root of this distribution provides a complete description of the Ring interface.

Upgrade Notice

From version 1.2.1 onward, the ring/ring-core package no longer comes with the javax.servlet/servlet-api package as a dependency (see issue #89).

If you are using the ring/ring-core namespace on its own, you may run into errors when executing tests or running alternative adapters. To resolve this, include the following dependency in your dev profile:

[javax.servlet/servlet-api "2.5"]


  • ring-core - essential functions for handling parameters, cookies and more
  • ring-devel - functions for developing and debugging Ring applications
  • ring-servlet - construct Java servlets from Ring handlers
  • ring-jetty-adapter - a Ring adapter that uses the Jetty webserver


To include one of the above libraries, for example ring-core, add the following to your :dependencies:

[ring/ring-core "1.7.1"]

To include all of them:

[ring "1.7.1"]




Please see


This project borrows heavily from Ruby's Rack and Python's WSGI; thanks to those communities for their work.


Copyright © 2009-2018 Mark McGranaghan, James Reeves & contributors.

Released under the MIT license.

You can’t perform that action at this time.