mirror of
https://github.com/metosin/reitit.git
synced 2026-02-15 23:55:15 +00:00
interceptors, wip
This commit is contained in:
parent
9f324606ff
commit
2092682d6a
1 changed files with 17 additions and 16 deletions
|
|
@ -116,21 +116,22 @@
|
||||||
:interceptors))
|
:interceptors))
|
||||||
{::router router}))
|
{::router router}))
|
||||||
|
|
||||||
(defn execute [r {{:keys [uri]} :request :as ctx}]
|
(comment
|
||||||
(if-let [interceptors (-> (r/match-by-path r uri)
|
(defn execute [r {{:keys [uri]} :request :as ctx}]
|
||||||
:result
|
(if-let [interceptors (-> (r/match-by-path r uri)
|
||||||
:interceptors)]
|
:result
|
||||||
(as-> ctx $
|
:interceptors)]
|
||||||
(reduce #(%2 %1) $ (keep :enter interceptors))
|
(as-> ctx $
|
||||||
(reduce #(%2 %1) $ (keep :leave interceptors)))))
|
(reduce #(%2 %1) $ (keep :enter interceptors))
|
||||||
|
(reduce #(%2 %1) $ (keep :leave interceptors)))))
|
||||||
|
|
||||||
(def r
|
(def r
|
||||||
(router
|
(router
|
||||||
["/api" {:interceptors [{:name ::add
|
["/api" {:interceptors [{:name ::add
|
||||||
:enter (fn [ctx]
|
:enter (fn [ctx]
|
||||||
(assoc ctx :enter true))
|
(assoc ctx :enter true))
|
||||||
:leave (fn [ctx]
|
:leave (fn [ctx]
|
||||||
(assoc ctx :leave true))}]}
|
(assoc ctx :leave true))}]}
|
||||||
["/ping" (fn [ctx] (assoc ctx :response "ok"))]]))
|
["/ping" (fn [ctx] (assoc ctx :response "ok"))]]))
|
||||||
|
|
||||||
(execute r {:request {:uri "/api/ping"}})
|
(execute r {:request {:uri "/api/ping"}}))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue