Skip to content

Commit f670113

Browse files
committed
Merge remote-tracking branch 'remotes/origin/pr/74' into merge/74
2 parents ebda901 + f04ab68 commit f670113

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

APIKit/URLEncodedSerialization.swift

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
import Foundation
22

33
private func escape(string: String) -> String {
4-
return CFURLCreateStringByAddingPercentEscapes(nil, string, nil, "!*'();:@&=+$,/?%#[]", CFStringBuiltInEncodings.UTF8.rawValue) as String
4+
//Reserved characters defined by RFC 3986
5+
let genDelims = ":/?#[]@"
6+
let subDelims = "!$&'()*+,;="
7+
let reservedCharacters = genDelims + subDelims
8+
let allowedCharacterSet = NSCharacterSet.URLQueryAllowedCharacterSet().mutableCopy() as! NSMutableCharacterSet
9+
allowedCharacterSet.removeCharactersInString(reservedCharacters)
10+
return string.stringByAddingPercentEncodingWithAllowedCharacters(allowedCharacterSet) ?? string
511
}
612

713
private func unescape(string: String) -> String {

0 commit comments

Comments
 (0)