File tree Expand file tree Collapse file tree 1 file changed +10
-9
lines changed
ring-core/src/ring/middleware Expand file tree Collapse file tree 1 file changed +10
-9
lines changed Original file line number Diff line number Diff line change 72
72
(when-let [charset (some-> params (find-param " _charset_" ) :value :bytes )]
73
73
(String. ^bytes charset " US-ASCII" )))
74
74
75
- (defn- decode-form- field
75
+ (defn- decode-field
76
76
[{:keys [bytes encoding]} forced-encoding fallback-encoding]
77
77
(String. ^bytes bytes (str (or forced-encoding encoding fallback-encoding))))
78
78
79
- (defn- decode-string-values [fallback-encoding forced-encoding params]
80
- (let [forced-encoding (or forced-encoding (parse-html5-charset params))]
81
- (for [{:keys [name value field?]} params]
82
- [name (if field?
83
- (decode-form-field value forced-encoding fallback-encoding)
84
- value)])))
79
+ (defn- build-param-map [encoding fallback-encoding params]
80
+ (let [enc (or encoding (parse-html5-charset params))]
81
+ (reduce (fn [m {:keys [name value field?]}]
82
+ (assoc-conj m name (if field?
83
+ (decode-field value enc fallback-encoding)
84
+ value)))
85
+ {}
86
+ params)))
85
87
86
88
(def ^:private default-store (delay (tf/temp-file-store )))
87
89
95
97
(->> (request-context request fallback-encoding)
96
98
(file-item-seq (file-upload request options))
97
99
(map #(parse-file-item % store))
98
- (decode-string-values fallback-encoding encoding)
99
- (reduce (fn [m [k v]] (assoc-conj m k v)) {}))))
100
+ (build-param-map encoding fallback-encoding))))
100
101
101
102
(defn multipart-params-request
102
103
" Adds :multipart-params and :params keys to request.
You can’t perform that action at this time.
0 commit comments