More docs

This commit is contained in:
Tommi Reiman 2017-12-03 21:00:34 +02:00
parent 653743a25f
commit 82e300a9aa
2 changed files with 33 additions and 10 deletions

View file

@ -60,17 +60,29 @@
(defn compile-result [[path data] opts] (defn compile-result [[path data] opts]
(let [[top childs] (group-keys data)] (let [[top childs] (group-keys data)]
(if-not (seq childs) (if-not (seq childs)
(let [middleware (middleware/compile-result [path top] opts)] (map->Methods {:any (middleware/compile-result [path top] opts)})
(map->Methods {:any (middleware/compile-result [path top] opts)}))
(let [any-handler (if (:handler top) (middleware/compile-result [path data] opts))]
(reduce-kv (reduce-kv
(fn [acc method data] (fn [acc method data]
(let [data (meta-merge top data)] (let [data (meta-merge top data)]
(assoc acc method (middleware/compile-result [path data] opts method)))) (assoc acc method (middleware/compile-result [path data] opts method))))
(map->Methods {:any any-handler}) (map->Methods {:any (if (:handler top) (middleware/compile-result [path data] opts))})
childs))))) childs))))
(defn router (defn router
"Creates a [[reitit.core/Router]] from raw route data and optionally an options map with
support for http-methods and Middleware. See [docs](https://metosin.github.io/reitit/)
for details.
Example:
(router
[\"/api\" {:middleware [wrap-format wrap-oauth2]}
[\"/users\" {:get get-user
:post update-user
:delete {:middleware [wrap-delete]
:handler delete-user}}]])
See router options from [[reitit.core/router]] and [[reitit.ring.middleware/router]]."
([data] ([data]
(router data nil)) (router data nil))
([data opts] ([data opts]

View file

@ -87,6 +87,17 @@
:data data})))) :data data}))))
(defn router (defn router
"Creates a [[reitit.core/Router]] from raw route data and optionally an options map with
support for Middleware. See [docs](https://metosin.github.io/reitit/) for details.
Example:
(router
[\"/api\" {:middleware [wrap-format wrap-oauth2]}
[\"/users\" {:middleware [wrap-delete]
:handler get-user}]])
See router options from [[reitit.core/router]]."
([data] ([data]
(router data nil)) (router data nil))
([data opts] ([data opts]