diff --git a/SocketRocket/SRWebSocket.m b/SocketRocket/SRWebSocket.m index 0bfef6f46..42621d180 100644 --- a/SocketRocket/SRWebSocket.m +++ b/SocketRocket/SRWebSocket.m @@ -1488,8 +1488,12 @@ - (void)safeHandleEvent:(NSStreamEvent)eventCode stream:(NSStream *)aStream // If we get closed in this state it's probably not clean because we should be sending this when we send messages [self.delegateController performDelegateBlock:^(id _Nullable delegate, SRDelegateAvailableMethods availableMethods) { if (availableMethods.didCloseWithCode) { + NSInteger closeCode = SRStatusCodeGoingAway; + if (closeCodeIsValid(self->_closeCode)) { + closeCode = self->_closeCode; + } [delegate webSocket:self - didCloseWithCode:SRStatusCodeGoingAway + didCloseWithCode:closeCode reason:@"Stream end encountered" wasClean:NO]; }