Hi,
I maintain a WebSocket client library based on Network.framework, which we use internally at my place of work for a WebSocket product.
We've had a customer report that iOS device HTTP proxy settings aren't respected when a WebSocket connection is established. Specifically, they were able to reproduce the issue by setting up an iPad to connect to Wi-Fi via a HTTP proxy then trying to start a connection using our product. This connection doesn't use the configured proxy, so if the device doesn't also have a direct internet connection the WebSocket connection fails.
When our Support team tested internally, they could replicate this issue using mitmproxy. In the mitmproxy logs we did see an initial request made, but didn't see any WebSocket traffic, or HTTP upgrade requests which are present when we do the same using our other libraries for other non-Apple platforms.
I am aware that in theory, Network.framework should respect device HTTP proxy settings (as set in the connection settings within Settings.app on iOS for example), so have I misconfigured something in my WebSocket client implementation based on NWConnection and NWListener or are there some additional steps required to get this behaviour?