I'm creating a fork/variant of ring-clojure/ring-json that uses org.clojure/data.json instead of Cheshire, to get away from the dependency hell of Jackson. I'll publish it under com.github.seancorfield/ring-data-json, in line with several of my other projects (and, note, it'll be ring-data-json rather than ring-json).
Question: what is the etiquette around nses for non-`ring-clojure` middleware? I was going to use ring.middleware.data-json to distinguish it from ring.middleware.json but then realized ring.middleware.* might be conventionally "reserved" for Ring itself...?
ring-cors is widely used and uses ring.middleware.cors: https://github.com/r0man/ring-cors/blob/master/src/ring/middleware/cors.cljc
Looking across GitHub for Ring Middleware, the majority seem to use ring.middleware.* although I'm also finding quite a few that use something else...
I looked through my project: reitit provides some ring middleware under the ns reitit.ring.middleware.
while it is hard to argue against what everyone is already doing (using ring.middleware.*) I think that kind of thing is really bad. namespace names should reflect a name you have some ownership of
Yeah, I was surprised so many third party libs used ring.middleware.* -- by the time I actually release this new data.json-based version, I'll switch to something else.