Skip to content

ring-clojure/ring

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

Explicitly state that the output stream may be written to
asynchronously in the write-body-to-stream docstring. This allows for
asynchronous channels or streams to be returned as a response body.
Previously it may not have been obvious that this was possible
behavior.
736c5e6

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
April 3, 2023 16:10
April 3, 2023 16:10
April 3, 2023 16:10
May 24, 2016 22:51
April 3, 2023 16:10
March 8, 2018 15:37
May 2, 2017 17:16
April 3, 2023 16:10

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

Libraries

  • 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

Installation

To include one of the above libraries, for example ring-core, add the following to your :dependencies:

[ring/ring-core "1.10.0"]

To include all of them:

[ring "1.10.0"]

Documentation

Community

Contributing

Please see CONTRIBUTING.md.

Thanks

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

License

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

Released under the MIT license.