Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Netty Support for Ring
Clojure
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
example
src/ring/adapter
README.md make README reflect latest version, 0.0.3
project.clj

README.md

Ring-Netty-Adapter

This repo adds (experimental/alpha) Netty support to Ring

(use 'ring.adapter.netty)

(defn app [req]
  {:status  200
   :headers {"Content-Type" "text/html"}
   :body    "Hello World from Ring-Netty"})

(run-netty app {:port 8080})

You can try out the demos; they are the same as the ones in the Ring repository, except here they use netty as the backend server instead of jetty.

$ lein jar

$ java -cp "lib/*:*" clojure.main example/hello_world.clj

$ java -cp "lib/*:*" clojure.main example/wrapping.clj

$ java -cp "lib/*:*" clojure.main example/linted.clj

Currently there are 2 branches: master (clojure 1.1) and compat-1.2 for clojure 1.2 support. The only difference is proxy vs reify (reify performs better).

I'm getting roughly 7k req/s with 1.1 and 9.5k req/s with 1.2 using an unscientific benchmark on my not-quite-so-new machine.

Leiningen

To use the netty backend, include ring-netty-adapter in your project.clj's :dependencies

[ring-netty-adapter "0.0.3"]

Next steps:

  • squash any bugs that pop up
  • ssl support
  • websockets, comet
Something went wrong with that request. Please try again.