Configure SDK to use the global/OS proxy (#2493)

This commit is contained in:
Mauro
2024-02-21 15:17:23 +01:00
committed by GitHub
parent d380c2de56
commit 9b949ce84e
10 changed files with 117 additions and 37 deletions
@@ -67,4 +67,17 @@ extension URL: ExpressibleByStringLiteral {
return url
}
var globalProxy: String? {
if let proxySettingsUnmanaged = CFNetworkCopySystemProxySettings() {
let proxySettings = proxySettingsUnmanaged.takeRetainedValue()
let proxiesUnmanaged = CFNetworkCopyProxiesForURL(self as CFURL, proxySettings)
if let proxy = (proxiesUnmanaged.takeRetainedValue() as? [[AnyHashable: Any]])?.first,
let hostname = proxy[kCFProxyHostNameKey] as? String,
let port = proxy[kCFProxyPortNumberKey] as? Int {
return "\(hostname):\(port)"
}
}
return nil
}
}