소스 검색

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

Mattt Thompson 11 년 전
부모
커밋
28df82ec9c
1개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      Source/Alamofire.swift

+ 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)
     }
 }