mirror of
https://github.com/metosin/reitit.git
synced 2026-02-07 04:13:12 +00:00
More docs
This commit is contained in:
parent
653743a25f
commit
82e300a9aa
2 changed files with 33 additions and 10 deletions
|
|
@ -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)}))
|
(reduce-kv
|
||||||
(let [any-handler (if (:handler top) (middleware/compile-result [path data] opts))]
|
(fn [acc method data]
|
||||||
(reduce-kv
|
(let [data (meta-merge top data)]
|
||||||
(fn [acc method data]
|
(assoc acc method (middleware/compile-result [path data] opts method))))
|
||||||
(let [data (meta-merge top data)]
|
(map->Methods {:any (if (:handler top) (middleware/compile-result [path data] opts))})
|
||||||
(assoc acc method (middleware/compile-result [path data] opts method))))
|
childs))))
|
||||||
(map->Methods {:any any-handler})
|
|
||||||
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]
|
||||||
|
|
|
||||||
|
|
@ -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]
|
||||||
|
|
@ -106,6 +117,6 @@
|
||||||
"Creates a vanilla ring middleware chain out of sequence of
|
"Creates a vanilla ring middleware chain out of sequence of
|
||||||
IntoMiddleware thingies."
|
IntoMiddleware thingies."
|
||||||
([middleware handler data]
|
([middleware handler data]
|
||||||
(chain middleware handler data nil))
|
(chain middleware handler data nil))
|
||||||
([middleware handler data opts]
|
([middleware handler data opts]
|
||||||
(compile-handler (expand middleware data opts) handler)))
|
(compile-handler (expand middleware data opts) handler)))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue