mirror of
https://github.com/metosin/reitit.git
synced 2025-12-19 09:21:10 +00:00
19 lines
707 B
Clojure
19 lines
707 B
Clojure
|
|
(ns example.middleware
|
||
|
|
(:require [muuntaja.middleware]
|
||
|
|
[ring.middleware.params]
|
||
|
|
[reitit.middleware :as middleware]
|
||
|
|
[reitit.ring.coercion :as rrc]))
|
||
|
|
|
||
|
|
;; unlift Middleware Record into vanilla Ring middlewareL
|
||
|
|
;; NOTE: to support format-based body coercion, an options map needs
|
||
|
|
;; to be set with :extract-request-format and extract-response-format
|
||
|
|
(defn wrap-coercion [handler resource]
|
||
|
|
(middleware/chain
|
||
|
|
[rrc/coerce-exceptions-middleware
|
||
|
|
rrc/coerce-request-middleware
|
||
|
|
rrc/coerce-response-middleware]
|
||
|
|
handler
|
||
|
|
resource
|
||
|
|
{:extract-request-format (comp :format :muuntaja/request)
|
||
|
|
:extract-response-format (comp :format :muuntaja/response)}))
|