Third-Party-Libraries
Adapters
- http-kit: Written from scratch for Ring
- ring-undertow-adapter: Undertow adapter
- aleph: Netty adapter
- ring-httpcore-adapter: Apache HttpCore adapter
- ring-simpleweb-adapter: SimpleWeb adapter
- ring-netty-adapter: Netty adapter
- ring-mongrel2-adapter: Mongrel2 adapter
- ring-finagle-adapter: Finagle adapter
Frameworks
- Compojure: A concise DSL to generate Ring handler functions
- Luminus: A batteries included micro-framework
- Moustache: A micro DSL to wire Ring handlers and middlewares
- clocks: Clojure Web DSL build on top of compojure, ring and scripture
- Noir: A micro-framework that allows you to rapidly develop websites in Clojure. Deprecated in favor of lib-noir
- Octohipster: A REST API framework that supports Hypermedia and Swagger
Middleware
- ring-basic-authentication: Middleware for enforcing basic auth
- ring-json-params: Middleware for parsing JSON into params
- ring-gzip-middleware: Middleware for gzip'ing response bodies
- ring-etag-middleware: Middleware for handling etag'ing and sending appropriate 304 responses
- ring-upload-progress: Middleware for parsing multipart uploads and proving progress feedback
- hoptoad: Middleware for sending exceptions to Hoptoad
- clj-hoptoad: Another library for sending exceptions to Hoptoad
- permacookie: Set a permanent cookie in users' browsers to identify visitors
- ring-persistent-cookies: Set persistent cookies with specified expiration date.
- session-expiry: Middleware for setting session timeout
- ring-partial-content: Middleware for handling partial content requests
- ring-middleware-format: Middleware for parsing parameters and emitting responses in JSON or other formats
- ring-ostrich: Expose Ostrich stats
- dieter: Asset pipeline middleware, inspired by Ruby Sprockets
- ring-request-headers: Parse request headers
- ring.middleware.logger: Log all requests that go through Ring
- ring-ratelimit: Rate limiting
- ring-rewrite: Define and apply rewrite rules
- lib-noir: A set of utilities and helpers for building ring apps
- ring-logger: Log ring requests and responses, using tools.loggging, timbre, or just anything.
- ring-range-middleware: Handles HTTP Range requests
Session Stores
- mongodb-session: Http sessions into mongodb
- ring-session-riak: Http sessions stored in riak
- rrss: Redis session store
- ring-session-memcached: Http sessions stored in memcached
- enduro-session: A durable Ring session store based on enduro's file-atom
- jdbc-ring-session: A JDBC backed Ring session store
Leiningen Plugins
- lein-ring: Leiningen plugin for Ring
Testing
- ring-mock: Generate mock request maps for testing Ring applications
Utilities
- Sandbar: Higher level abstractions for Compojure and Ring
- graft: Translate URIs to functions for Ring
- Clout: HTTP route matching for Ring request maps
- ring-serve: Library for running a development web server in the REPL
- ring-java-servlet: Generic servlet for using ring without AOT (only declare servlets in web.xml)
- necessary-evil: A library for XML-RPC servers and client requests.
- atompub: A library for Atom syndication (feeds) and the Atom Publishing Protocol for weblog editing and similar.
- ring.velocity: A Clojure library designed to render velocity templates for ring in clojure.