From 2c476177be3439b3e1f1e41c086d6ff2bdde1ef2 Mon Sep 17 00:00:00 2001 From: Tommi Reiman Date: Sat, 28 Jul 2018 12:14:46 +0300 Subject: [PATCH] Multipart-params revisited --- .../src/reitit/ring/middleware/multipart.clj | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/modules/reitit-middleware/src/reitit/ring/middleware/multipart.clj b/modules/reitit-middleware/src/reitit/ring/middleware/multipart.clj index ce61dbeb..64365bee 100644 --- a/modules/reitit-middleware/src/reitit/ring/middleware/multipart.clj +++ b/modules/reitit-middleware/src/reitit/ring/middleware/multipart.clj @@ -16,22 +16,23 @@ if endpoint has `[:parameters :multipart]` defined. Publishes coerced parameters into `[:parameters :multipart]` under request." ([] - (create-multipart-middleware nil)) + (create-multipart-middleware nil)) ([options] {:name ::multipart :compile (fn [{:keys [parameters coercion]} opts] (if-let [multipart (:multipart parameters)] (let [opts (assoc opts ::coercion/parameter-coercion parameter-coercion) coercers (if multipart (coercion/request-coercers coercion parameters opts))] - (fn [handler] - (fn - ([request] - (-> request - (multipart-params/multipart-params-request options) - (coerced-request coercers) - (handler))) - ([request respond raise] - (-> request - (multipart-params/multipart-params-request options) - (coerced-request coercers) - (handler respond raise))))))))})) + {:data {:swagger {:consumes #{"multipart/form-data"}}} + :wrap (fn [handler] + (fn + ([request] + (-> request + (multipart-params/multipart-params-request options) + (coerced-request coercers) + (handler))) + ([request respond raise] + (-> request + (multipart-params/multipart-params-request options) + (coerced-request coercers) + (handler respond raise)))))})))}))