Multipart-params revisited

This commit is contained in:
Tommi Reiman 2018-07-28 12:14:46 +03:00
parent 2ab54a1b99
commit 2c476177be

View file

@ -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)))))})))}))