You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 dependencies
ring/ring-core - core functions and middleware for Ring handlers,
requests and responses
org.ring-clojure/ring-core-protocols - contains only the protocols
necessary for building Ring responses
org.ring-clojure/ring-websocket-protocols - contains only the protocols
necessary for WebSockets
ring/ring-devel - functions for developing and debugging Ring
applications
ring/ring-servlet - construct legacy Java Servlets (≤ 4.0) from Ring
handlers
org.ring-clojure/ring-jakarta-servlet construct
Jakarta Servlets (≥ 5.0) from Ring handlers
ring/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:
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.