I have a Clojure service that I'm exposing via REST. I have a page defined as:
(defpage "/package_versions/:id" {:keys [id]}
(do
(println "ID: " id)
(if-let [pv (pv/fetch-one (db/keyspace) id)]
(response/json pv)
(response/status 404 nil))))
What characters are allowed for id? The slugs 1-2-3, 1|2|3, 1_2_3 all work, but 1.2.3 doesn't. Is there a way to make slugs which contain . work? What are the allowed characters in noir routes? Which code is responsible for this behavior: noir, ring, compojure?