From 00381dc4657df83b5fb0fbc4ebc3c698cb418c6b Mon Sep 17 00:00:00 2001 From: Joseph Ross Date: Thu, 11 May 2017 15:45:58 -0700 Subject: [PATCH] Fix `readyState` in the deferred open case. Fixes #91. --- Source/WebSocket.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Source/WebSocket.swift b/Source/WebSocket.swift index 3759966..7c22283 100644 --- a/Source/WebSocket.swift +++ b/Source/WebSocket.swift @@ -538,7 +538,7 @@ private class InnerWebSocket: Hashable { var _event = WebSocketEvents() var _eventDelegate: WebSocketDelegate? var _binaryType = WebSocketBinaryType.uInt8Array - var _readyState = WebSocketReadyState.connecting + var _readyState = WebSocketReadyState.closed var _networkTimeout = TimeInterval(-1) @@ -1672,6 +1672,9 @@ open class WebSocket: NSObject { let hasURL = request.url != nil opened = hasURL ws = InnerWebSocket(request: request, subProtocols: subProtocols, stub: !hasURL) + if opened { + ws.privateReadyState = .connecting + } super.init() // weak/strong pattern from: // http://stackoverflow.com/a/17105368/424124 @@ -1749,6 +1752,7 @@ open class WebSocket: NSObject { } opened = true ws = ws.copyOpen(request, subProtocols: subProtocols) + ws.privateReadyState = .connecting } /// Opens a closed WebSocket connection from an NSURLRequest; Uses the same request and protocols as previously closed WebSocket open func open(){