Skip to content

Commit b3467ee

Browse files
committed
Add support for bypass_domain and match_domain platform HTTP proxy options
1 parent 799f4ed commit b3467ee

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

Library/Network/ExtensionPlatformInterface.swift

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,28 @@ public class ExtensionPlatformInterface: NSObject, LibboxPlatformInterfaceProtoc
148148
proxySettings.httpEnabled = true
149149
proxySettings.httpsEnabled = true
150150
}
151+
var bypassDomains: [String] = []
152+
let bypassDomainIterator = options.getHTTPProxyBypassDomain()!
153+
while bypassDomainIterator.hasNext() {
154+
bypassDomains.append(bypassDomainIterator.next())
155+
}
151156
if excludeAPNs {
152-
proxySettings.exceptionList = ["push.apple.com"]
157+
if !bypassDomains.contains(where: { it in
158+
it == "push.apple.com"
159+
}) {
160+
bypassDomains.append("push.apple.com")
161+
}
162+
}
163+
if !bypassDomains.isEmpty {
164+
proxySettings.exceptionList = bypassDomains
165+
}
166+
var matchDomains: [String] = []
167+
let matchDomainIterator = options.getHTTPProxyMatchDomain()!
168+
while matchDomainIterator.hasNext() {
169+
matchDomains.append(matchDomainIterator.next())
170+
}
171+
if !matchDomains.isEmpty {
172+
proxySettings.matchDomains = matchDomains
153173
}
154174
settings.proxySettings = proxySettings
155175
}

0 commit comments

Comments
 (0)