@@ -14,27 +14,29 @@ public class SwiftFlutterSystemProxyPlugin: NSObject, FlutterPlugin {
1414 public func handle( _ call: FlutterMethodCall , result: @escaping FlutterResult ) {
1515 switch call. method {
1616 case " getDeviceProxy " :
17- do {
18- let args = call. arguments as! NSDictionary
19- let url = args. value ( forKey: " url " ) as! String
20- var dict : [ String : Any ] = [ : ]
21- if ( SwiftFlutterSystemProxyPlugin . proxyCache [ url] != nil ) {
17+ do {
18+ let args = call. arguments as! NSDictionary
19+ let url = args. value ( forKey: " url " ) as! String
20+ var dict : [ String : Any ] = [ : ]
21+ if ( SwiftFlutterSystemProxyPlugin . proxyCache [ url] != nil ) {
2222 let res = SwiftFlutterSystemProxyPlugin . proxyCache [ url]
2323 if ( res != nil ) {
2424 dict = res as! [ String : Any ]
2525 }
26- } else {
27- let res = try SwiftFlutterSystemProxyPlugin . resolve ( url: url)
28- if ( res != nil ) {
26+ }
27+ else
28+ {
29+ let res = try SwiftFlutterSystemProxyPlugin . resolve ( url: url)
30+ if ( res != nil ) {
2931 dict = res as! [ String : Any ]
32+ }
3033 }
31- }
32- result ( dict)
34+ result ( dict)
3335 } catch let error {
3436 print ( " Unexpected Proxy Error: \( error) . " )
3537 result ( error)
3638 }
37- break
39+ break
3840 default :
3941 result ( FlutterMethodNotImplemented)
4042 }
@@ -67,7 +69,7 @@ public class SwiftFlutterSystemProxyPlugin: NSObject, FlutterPlugin {
6769 SwiftFlutterSystemProxyPlugin . proxyCache [ url] = dict
6870 }
6971 }
70- return proxyCache [ url]
72+ return SwiftFlutterSystemProxyPlugin . proxyCache [ url]
7173 }
7274
7375 static func handlePacContent( pacContent: String , url: String ) {
@@ -88,8 +90,9 @@ public class SwiftFlutterSystemProxyPlugin: NSObject, FlutterPlugin {
8890 static func handlePacUrl( pacUrl: String , url: String ) {
8991 var _pacUrl = CFURLCreateWithString ( kCFAllocatorDefault, pacUrl as CFString ? , nil )
9092 var targetUrl = CFURLCreateWithString ( kCFAllocatorDefault, url as CFString ? , nil )
93+ var info = url;
9194 if ( pacUrl != nil && targetUrl != nil ) {
92- var context : CFStreamClientContext = CFStreamClientContext . init ( version: 0 , info: & targetUrl , retain: nil , release: nil , copyDescription: nil )
95+ var context : CFStreamClientContext = CFStreamClientContext . init ( version: 0 , info: & info , retain: nil , release: nil , copyDescription: nil )
9396 let runLoopSource = CFNetworkExecuteProxyAutoConfigurationURL ( _pacUrl!, targetUrl!, { client, proxies, error in
9497 let _proxies = proxies as? [ [ CFString : Any ] ] ?? [ ] ;
9598 if ( _proxies != nil ) {
@@ -101,15 +104,8 @@ public class SwiftFlutterSystemProxyPlugin: NSObject, FlutterPlugin {
101104 var dict : [ String : Any ] = [ : ]
102105 dict [ " host " ] = host
103106 dict [ " port " ] = port
104- let context = client. assumingMemoryBound ( to: CFStreamClientContext . self) . pointee
105- let url = context. info. assumingMemoryBound ( to: CFURL . self) . pointee
106- do {
107- let urlString = CFURLGetString ( url) ;
108- SwiftFlutterSystemProxyPlugin . proxyCache [ urlString as! String ] = dict
109- print ( url)
110- } catch error {
111- print ( error)
112- }
107+ let url = client. assumingMemoryBound ( to: String . self) . pointee
108+ SwiftFlutterSystemProxyPlugin . proxyCache [ url] = dict
113109 }
114110 }
115111 }
0 commit comments