2
0
Эх сурвалжийг харах

[Issue #206] Replacing stringByAddingPercentEncodingWithAllowedCharacters with CFURLCreateStringByAddingPercentEscapes to prevent out-of-memory exception

Mattt Thompson 11 жил өмнө
parent
commit
28df82ec9c

+ 2 - 2
Source/Alamofire.swift

@@ -152,8 +152,8 @@ public enum ParameterEncoding {
     }
 
     func escape(string: String) -> String {
-        let allowedCharacters =  NSCharacterSet(charactersInString:" =\"#%/<>?@\\^`{}[]|&+").invertedSet
-        return string.stringByAddingPercentEncodingWithAllowedCharacters(allowedCharacters) ?? string
+        let legalURLCharactersToBeEscaped: CFStringRef = ":/?&=;+!@#$()',*"
+        return CFURLCreateStringByAddingPercentEscapes(nil, string, nil, legalURLCharactersToBeEscaped, CFStringBuiltInEncodings.UTF8.rawValue)
     }
 }