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 37
37
(str/join )))
38
38
39
39
(defn- parse-bytes [encoded-bytes]
40
- (->> (re-seq #"%.. " encoded-bytes)
40
+ (->> (re-seq #"%[A-Za-z0-9]{2} " encoded-bytes)
41
41
(map #(subs % 1 ))
42
42
(map #(.byteValue (Integer/valueOf % 16 )))
43
43
(byte-array )))
47
47
specified encoding, or UTF-8 by default."
48
48
[^String encoded & [^String encoding]]
49
49
(str/replace encoded
50
- #"(?:%.. )+"
50
+ #"(?:%[A-Za-z0-9]{2} )+"
51
51
(fn [chars]
52
52
(-> ^bytes (parse-bytes chars)
53
53
(String. (or encoding " UTF-8" ))
Original file line number Diff line number Diff line change 9
9
(is (= (percent-encode " foo" ) " %66%6F%6F" )))
10
10
11
11
(deftest test-percent-decode
12
+ (is (= (percent-decode " %s/" ) " %s/" ))
12
13
(is (= (percent-decode " %20" ) " " ))
13
14
(is (= (percent-decode " foo%20bar" ) " foo bar" ))
14
15
(is (= (percent-decode " foo%FE%FF%00%2Fbar" " UTF-16" ) " foo/bar" ))
You can’t perform that action at this time.
0 commit comments