• Stars
    star
    3,707
  • Rank 11,406 (Top 0.3 %)
  • Language
    Clojure
  • License
    MIT License
  • Created about 12 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Clojure HTTP server abstraction

Ring 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.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:

ring/ring-core {:mvn/version "1.12.1"}

Or to your Leiningen project file:

[ring/ring-core "1.12.1"]

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-2024 Mark McGranaghan, James Reeves & contributors.

Released under the MIT license.