mirror of
https://github.com/metosin/reitit.git
synced 2025-12-17 00:11:11 +00:00
Dev-middleware works with async + polished code
This commit is contained in:
parent
48961c9ed4
commit
7f4aa1bdcc
3 changed files with 20 additions and 14 deletions
|
|
@ -61,7 +61,7 @@
|
|||
{:status 200
|
||||
:body {:total (+ x y)}})}}]]]
|
||||
|
||||
{:reitit.middleware/transform dev/print-request-diffs
|
||||
{;;:reitit.middleware/transform dev/print-request-diffs
|
||||
:data {:coercion reitit.coercion.spec/coercion
|
||||
:muuntaja m/instance
|
||||
:middleware [;; query-params & form-params
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@
|
|||
|
||||
(defn linear-router
|
||||
"Creates a linear-router from resolved routes and optional
|
||||
expanded options. See [[router]] for available options"
|
||||
expanded options. See [[router]] for available options."
|
||||
([compiled-routes]
|
||||
(linear-router compiled-routes {}))
|
||||
([compiled-routes opts]
|
||||
|
|
@ -218,7 +218,7 @@
|
|||
|
||||
(defn lookup-router
|
||||
"Creates a lookup-router from resolved routes and optional
|
||||
expanded options. See [[router]] for available options"
|
||||
expanded options. See [[router]] for available options."
|
||||
([compiled-routes]
|
||||
(lookup-router compiled-routes {}))
|
||||
([compiled-routes opts]
|
||||
|
|
@ -263,7 +263,7 @@
|
|||
|
||||
(defn segment-router
|
||||
"Creates a special prefix-tree style segment router from resolved routes and optional
|
||||
expanded options. See [[router]] for available options"
|
||||
expanded options. See [[router]] for available options."
|
||||
([compiled-routes]
|
||||
(segment-router compiled-routes {}))
|
||||
([compiled-routes opts]
|
||||
|
|
@ -307,7 +307,7 @@
|
|||
|
||||
(defn single-static-path-router
|
||||
"Creates a fast router of 1 static route(s) and optional
|
||||
expanded options. See [[router]] for available options"
|
||||
expanded options. See [[router]] for available options."
|
||||
([compiled-routes]
|
||||
(single-static-path-router compiled-routes {}))
|
||||
([compiled-routes opts]
|
||||
|
|
|
|||
|
|
@ -9,26 +9,32 @@
|
|||
(assoc :width 70)
|
||||
(update :color-scheme merge {:middleware [:blue]})))
|
||||
|
||||
(defn diff-doc [x y z]
|
||||
(defn diff-doc [name previous current]
|
||||
[:group
|
||||
[:span "--- Middleware " (if z (color/document printer :middleware (str z " "))) "---" :break :break]
|
||||
[:nest (printer/format-doc (if x (ddiff/diff x y) y) printer)]
|
||||
[:span "--- Middleware " (if name (color/document printer :middleware (str name " "))) "---" :break :break]
|
||||
[:nest (printer/format-doc (if previous (ddiff/diff previous current) current) printer)]
|
||||
:break])
|
||||
|
||||
(defn polish [request]
|
||||
(dissoc request ::r/match ::r/router ::original ::previous))
|
||||
|
||||
(defn printed-request [name {:keys [::original ::previous] :as request}]
|
||||
(printer/print-doc (diff-doc name (polish previous) (polish request)) printer)
|
||||
(-> request
|
||||
(update ::original (fnil identity request))
|
||||
(assoc ::previous request)))
|
||||
|
||||
(defn print-diff-middleware
|
||||
([]
|
||||
(print-diff-middleware nil))
|
||||
([{:keys [name]}]
|
||||
{:name ::debug
|
||||
{:name ::diff
|
||||
:wrap (fn [handler]
|
||||
(fn [{:keys [::original ::previous] :as request}]
|
||||
(printer/print-doc (diff-doc (polish previous) (polish request) name) printer)
|
||||
(handler (-> request
|
||||
(update ::original (fnil identity request))
|
||||
(assoc ::previous request)))))}))
|
||||
(fn
|
||||
([request]
|
||||
(handler (printed-request name request)))
|
||||
([request respond raise]
|
||||
(handler (printed-request name request) respond raise))))}))
|
||||
|
||||
(defn print-request-diffs
|
||||
"A middleware chain transformer that adds a request-diff printer between all middleware"
|
||||
|
|
|
|||
Loading…
Reference in a new issue