Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (ns org.jtornadoweb.cljhttputils
- (:use [clojure.contrib.monads :only (domonad maybe-m)]
- [clojure.contrib.str-utils2 :only (split)])
- (:gen-class
- :name org.jtornadoweb.CljHttpUtils
- :methods [[parseQueryString [String] java.util.HashMap]]
- :main false))
- (defn- parse-qs
- [uri]
- ;; Arguable use of the maybe monad.
- (domonad maybe-m
- [query-string (last (re-find #"\?(.*)$" uri))
- pairs (split query-string #"&")
- params (mapcat #(split % #"=") pairs)]
- (when (even? (count params))
- (apply hash-map params)))
- (defn #^:static -parseQueryString
- [uri]
- (if-let [params (parse-qs uri)]
- (java.util.HashMap. params)
- (java.util.HashMap.)))
Add Comment
Please, Sign In to add comment