Permalink
Browse files

wrap-params now tries to take character encoding from request before …

…defaulting to UTF-8
  • Loading branch information...
1 parent d685b93 commit 154f5fe43150f83000cefdea83d500e148fd1d0e @weavejester weavejester committed Feb 20, 2010
Showing with 11 additions and 7 deletions.
  1. +11 −7 src/ring/middleware/params.clj
View
18 src/ring/middleware/params.clj
@@ -63,11 +63,15 @@
:form-params - a map of parameters from the body
:params - a merged map of both query and form parameters
Takes an optional configuration map. Recognized keys are:
- :encoding - encoding to use for url-decoding (default: \"UTF-8\")"
+ :encoding - encoding to use for url-decoding. If not specified, uses
+ the request character encoding, or \"UTF-8\" if no request
+ character encoding is set."
[handler & [opts]]
- (let [encoding (get opts :encoding "UTF-8")]
- (fn [request]
- (-> request
- (assoc-form-params encoding)
- (assoc-query-params encoding)
- handler))))
+ (fn [request]
+ (let [encoding (or (:encoding opts)
+ (:character-encoding request)
+ "UTF-8")]
+ (-> request
+ (assoc-form-params encoding)
+ (assoc-query-params encoding)
+ handler))))

0 comments on commit 154f5fe

Please sign in to comment.