Ring
Clojure HTTP server abstraction
Install / Use
/learn @ring-clojure/RingREADME
Ring 
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.md file at the root of this distribution provides a complete description of the Ring interface. The Wiki contains more in-depth documentation on how to use Ring.
Libraries
ring/ring- meta-package containing all relevant dependenciesring/ring-core- core functions and middleware for Ring handlers, requests and responsesorg.ring-clojure/ring-core-protocols- contains only the protocols necessary for building Ring responsesorg.ring-clojure/ring-websocket-protocols- contains only the protocols necessary for WebSocketsring/ring-devel- functions for developing and debugging Ring applicationsring/ring-servlet- construct legacy Java Servlets (≤ 4.0) from Ring handlersorg.ring-clojure/ring-jakarta-servletconstruct Jakarta Servlets (≥ 5.0) from Ring handlersring/ring-jetty-adapter- a Ring adapter that uses an embedded Jetty web server
Installation
To include one of the above libraries, for instance ring-core, add
the following dependency to your deps.edn file:
ring/ring-core {:mvn/version "1.15.3"}
Or to your Leiningen project file:
[ring/ring-core "1.15.3"]
Documentation
Contributing
Please read CONTRIBUTING.md before submitting a pull request.
Thanks
This project borrows heavily from Ruby's Rack and Python's WSGI; thanks to those communities for their work. Thanks also go to the many individuals who have contributed to Ring's code and documentation over the years.
License
Copyright © 2009-2025 Mark McGranaghan, James Reeves & contributors.
Released under the MIT license.
Related Skills
node-connect
329.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
81.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
329.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
81.1kCommit, push, and open a PR
