File tree Expand file tree Collapse file tree 2 files changed +3
-2
lines changed Expand file tree Collapse file tree 2 files changed +3
-2
lines changed Original file line number Diff line number Diff line change 3737 (str/join )))
3838
3939(defn- parse-bytes [encoded-bytes]
40- (->> (re-seq #"%.. " encoded-bytes)
40+ (->> (re-seq #"%[A-Za-z0-9]{2} " encoded-bytes)
4141 (map #(subs % 1 ))
4242 (map #(.byteValue (Integer/valueOf % 16 )))
4343 (byte-array )))
4747 specified encoding, or UTF-8 by default."
4848 [^String encoded & [^String encoding]]
4949 (str/replace encoded
50- #"(?:%.. )+"
50+ #"(?:%[A-Za-z0-9]{2} )+"
5151 (fn [chars]
5252 (-> ^bytes (parse-bytes chars)
5353 (String. (or encoding " UTF-8" ))
Original file line number Diff line number Diff line change 99 (is (= (percent-encode " foo" ) " %66%6F%6F" )))
1010
1111(deftest test-percent-decode
12+ (is (= (percent-decode " %s/" ) " %s/" ))
1213 (is (= (percent-decode " %20" ) " " ))
1314 (is (= (percent-decode " foo%20bar" ) " foo bar" ))
1415 (is (= (percent-decode " foo%FE%FF%00%2Fbar" " UTF-16" ) " foo/bar" ))
You can’t perform that action at this time.
0 commit comments