Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Clojure HTTP server abstraction

This branch is 323 commits ahead, 1 commit behind mmcgrana:master

Merge pull request #179 from dluksza/master

Fix reflection warning in ring.util.request/content-length
latest commit ead617ee33
James Reeves weavejester authored


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.3.2"]

To include all of them:

[ring "1.3.2"]




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


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

Released under the MIT license.

Something went wrong with that request. Please try again.