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.
From version 1.2.1 onward, the ring/ring-core package no longer comes
javax.servlet/servlet-api package as a dependency (see
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:
To include one of the above libraries, for example
the following to your
To include all of them:
Please see CONTRIBUTING.md.
This project borrows heavily from Ruby's Rack and Python's WSGI; thanks to those communities for their work.
Copyright © 2009-2022 Mark McGranaghan, James Reeves & contributors.
Released under the MIT license.
Can you improve this documentation? These fine people already did:
James Reeves, Mark McGranaghan, weavejester, Tero Paloheimo, Audrius & RainerWasserfuhrEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries× close