 (def ^:private normalize-params-middleware
   {:name ::normalize-params-middleware
    :wrap (fn [handler]
-           (letfn [(transform-request [request]
-                     (if-let [data (get request :query-params)]
-                       (assoc request :query-params (normalize-attrs data))
-                       request))]
+           (letfn [(transform-request [request key]
+                     (if-let [data (get request key)]
+                       (assoc request key (normalize-attrs data))
+                       request))
+                   (transform [request]
+                     (-> request
+                         (transform-request :query-params)
+                         (transform-request :multipart-params)))]
              (fn
-               ([request] (handler (transform-request request)))
+               ([request] (handler (transform request)))
                ([request respond raise]
                 (try
                   (try
-                    (let [request (transform-request request)]
-                      (handler (transform-request request) respond raise))
+                    (handler (transform request) respond raise)
                     (catch Exception e
                       (raise e))))))))})
 
+(def ^:private multipart-params-middleware
+  {:name ::multipart-params-middleware
+   :wrap wrap-multipart-params})
 
 (def ^:private parameters-validation-middleware
   (letfn [(prepare [parameters]

                              :path :path-params
                              :query :query-params
                              :body :body-params
                              (throw (ex-info "Not supported key on :parameters" {})))]
                 (assoc acc newkey {:key key
                                    :fn #(st/validate % spec)})))

   :data {:muuntaja muuntaja-instance
          :middleware [session-middleware
                       parameters/parameters-middleware
                       muuntaja/format-negotiate-middleware
                       ;; encoding response body
                       muuntaja/format-response-middleware
