I created an adapter for Twitter's Finagle RPC system. I'm new to clojure and I used this as a learning experience so some of the code may be a little rough. I'd love to hear any feedback ...
Don't close Outputstream (when using InputStream :body)
Also don't flush the OutputStream. The Servlet Container will flush and close the response OutputStream. The current implementation closes the response OutputStream even though a client requests "keep-alive". ...
resource-response excepts on directories
If the ring.util.response/resource-response function is given a path to a directory, it will except instead of returning nil.
wrap-multipart-params only includes the last value in the vector
As of Ring 0.3.11, parameters with the same name are no longer being vectorized correctly. The following code will contain only the last value: (defn nested-test [_] (html [:head [:title "test"]] ...
File middleware should take options map
The wrap-file middleware currently takes a string argument, but it should take an option map in order to be consistent with the other core middleware. In order to maintain backward compatibility, and ...
Allow headers map/function for wrap-file?
Setting headers, particularly cache-control, can be very important when serving static files. This is especially true in an environment like Heroku, where you're relying on a server-side HTTP cache ...
NPE when attempting to use cookie session store
In trying to use the CookieStore session store using non-default attributes, I encountered the following stack trace: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: ...
wrap-keyword-params doesn't work with wrap-multipart-params
It seems that the keyword-params middleware doesn't accept a map with keys that are keywords instead of strings. Multipart-params produces such a map on file upload. The input's name is passed ...
Simple README update for Clojure newbies like me : )
I just added a little extra information to the README file showing which dependency to add to your project.clj file to get started.