Permalink
Browse files

form-encode implemented

  • Loading branch information...
1 parent 58e5860 commit 638c1e3dc9bcb192881ccfdeb4a3f1794ba333c1 Giacomo Ritucci committed Jan 15, 2012
Showing with 20 additions and 0 deletions.
  1. +20 −0 ring-core/src/ring/util/codec.clj
View
20 ring-core/src/ring/util/codec.clj
@@ -52,3 +52,23 @@
param-map))
{}
(string/split param-string #"&")))
+
+(defn form-encode
+ "Encode parameters from a map into a string."
+ ([param-map]
+ (form-encode param-map "UTF-8"))
+ ([param-map encoding]
+ (form-encode (keys param-map)
+ (vals param-map)
+ encoding))
+ ([params values encoding]
+ (string/join #"&"
+ (map (fn [param value]
+ (if (vector? value)
+ (form-encode (repeat (count value) param)
+ value
+ encoding)
+ (str (url-encode param)
+ "="
+ (url-encode value))))
+ params values))))

0 comments on commit 638c1e3

Please sign in to comment.