mirror of
https://github.com/metosin/reitit.git
synced 2025-12-30 05:08:25 +00:00
Multipart-params revisited
This commit is contained in:
parent
2ab54a1b99
commit
2c476177be
1 changed files with 14 additions and 13 deletions
|
|
@ -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)))))})))}))
|
||||
|
|
|
|||
Loading…
Reference in a new issue