mirror of
https://github.com/metosin/reitit.git
synced 2025-12-17 00:11:11 +00:00
Muuntaja is a def
This commit is contained in:
parent
805cb94d33
commit
5c0cf19ef1
3 changed files with 18 additions and 19 deletions
|
|
@ -10,7 +10,8 @@
|
|||
[schema.core :refer [Int]]
|
||||
|
||||
[ring.adapter.jetty :as jetty]
|
||||
[ring.middleware.params]))
|
||||
[ring.middleware.params]
|
||||
[muuntaja.core :as m]))
|
||||
|
||||
(def app
|
||||
(ring/ring-handler
|
||||
|
|
@ -58,8 +59,9 @@
|
|||
{:status 200
|
||||
:body {:total (+ x y)}})}}]]]
|
||||
|
||||
{:data {:middleware [ring.middleware.params/wrap-params
|
||||
(muuntaja/create-format-middleware)
|
||||
{:data {:muuntaja m/instance
|
||||
:middleware [ring.middleware.params/wrap-params
|
||||
muuntaja/format-middleware
|
||||
swagger/swagger-feature
|
||||
rrc/coerce-exceptions-middleware
|
||||
rrc/coerce-request-middleware
|
||||
|
|
|
|||
|
|
@ -5,17 +5,12 @@
|
|||
|
||||
(s/def ::muuntaja (partial instance? m/Muuntaja))
|
||||
|
||||
(defn create-format-middleware
|
||||
([]
|
||||
(create-format-middleware m/default-options))
|
||||
([options]
|
||||
(def format-middleware
|
||||
{:name ::formats
|
||||
:spec (s/keys :opt-un [::muuntaja])
|
||||
:compile (fn [{:keys [muuntaja]} _]
|
||||
(let [options (or muuntaja options)]
|
||||
(if options
|
||||
(let [m (m/create options)]
|
||||
{:data {:swagger {:produces (m/encodes m)
|
||||
:consumes (m/decodes m)}}
|
||||
(if muuntaja
|
||||
{:data {:swagger {:produces (m/encodes muuntaja)
|
||||
:consumes (m/decodes muuntaja)}}
|
||||
:wrap (fn [handler]
|
||||
(muuntaja.middleware/wrap-format handler m))}))))}))
|
||||
(muuntaja.middleware/wrap-format handler muuntaja))}))})
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@
|
|||
app (ring/ring-handler
|
||||
(ring/router
|
||||
["/ping" {:get (constantly {:status 200, :body data})}]
|
||||
{:data {:middleware [(muuntaja/create-format-middleware)]}}))]
|
||||
{:data {:muuntaja m/instance
|
||||
:middleware [muuntaja/format-middleware]}}))]
|
||||
(is (= data (->> {:request-method :get, :uri "/ping"}
|
||||
(app)
|
||||
:body
|
||||
|
|
@ -36,7 +37,8 @@
|
|||
["/swagger.json"
|
||||
{:get {:no-doc true
|
||||
:handler (swagger/create-swagger-handler)}}]]
|
||||
{:data {:middleware [(muuntaja/create-format-middleware)]}}))
|
||||
{:data {:muuntaja m/instance
|
||||
:middleware [muuntaja/format-middleware]}}))
|
||||
spec (fn [path]
|
||||
(let [path (keyword path)]
|
||||
(-> {:request-method :get :uri "/swagger.json"}
|
||||
|
|
|
|||
Loading…
Reference in a new issue