GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ring-clojure/ring: Clojure HTTP server abstraction

BranchesTags
Open more actions menu

Latest commit

 

History

1,305 Commits
1,305 Commits

Folders and files

NameName
Last commit message
Last commit date
.clj-kondo
.clj-kondo
 
 
.github/workflows
.github/workflows
 
 
checkouts
checkouts
 
 
ring-bench
ring-bench
 
 
ring-core-protocols
ring-core-protocols
 
 
ring-core
ring-core
 
 
ring-devel
ring-devel
 
 
ring-jakarta-servlet
ring-jakarta-servlet
 
 
ring-jetty-adapter
ring-jetty-adapter
 
 
ring-servlet
ring-servlet
 
 
ring-websocket-protocols
ring-websocket-protocols
 
 
.gitignore
.gitignore
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
SPEC.md
SPEC.md
 
 
project.clj
project.clj
 
 
update_versions.bb
update_versions.bb
 
 

Repository files navigation

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.15.6"}

Or to your Leiningen project file:

[ring/ring-core "1.15.6"]

Documentation

  • Changelog
  • Wiki
  • API docs

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

Released under the MIT license.

About

Clojure HTTP server abstraction

Topics

clojurehttpringweb

Resources

Readme
MIT license

Contributing

Contributing
Activity
Custom properties

Stars

3.9k stars

Watchers

104 watching

Forks

528 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.