diff --git a/Source/SocketIO/Engine/SocketEngine.swift b/Source/SocketIO/Engine/SocketEngine.swift index b4af5f48..a78cb10f 100644 --- a/Source/SocketIO/Engine/SocketEngine.swift +++ b/Source/SocketIO/Engine/SocketEngine.swift @@ -250,6 +250,20 @@ open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, So if client == nil { return (URL(string: "http://localhost/")!, URL(string: "http://localhost/")!) } + + if let scheme = URLComponents(string: url.absoluteString)?.scheme { + switch scheme { + case let httpSheme where httpSheme.hasPrefix("http"): + forcePolling = true + secure = httpSheme.hasSuffix("s") + + case let webSocketSheme where webSocketSheme.hasPrefix("ws"): + forceWebsockets = true + secure = webSocketSheme.hasSuffix("ss") + + default: break + } + } var urlPolling = URLComponents(string: url.absoluteString)! var urlWebSocket = URLComponents(string: url.absoluteString)!