File tree Expand file tree Collapse file tree 1 file changed +13
-7
lines changed Expand file tree Collapse file tree 1 file changed +13
-7
lines changed Original file line number Diff line number Diff line change @@ -841,13 +841,16 @@ public class WebSocket : NSObject, NSStreamDelegate {
841
841
return
842
842
}
843
843
if receivedOpcode == . ConnectionClose {
844
- var code = CloseCode . Normal. rawValue
844
+ var error : CloseCode ?
845
+
845
846
if payloadLen == 1 {
846
- code = CloseCode . ProtocolError. rawValue
847
+ error = . ProtocolError
847
848
} else if payloadLen > 1 {
848
- code = WebSocket . readUint16 ( buffer, offset: offset)
849
+ let code = WebSocket . readUint16 ( buffer, offset: offset)
849
850
if code < 1000 || ( code > 1003 && code < 1007 ) || ( code > 1011 && code < 3000 ) {
850
- code = CloseCode . ProtocolError. rawValue
851
+ error = . ProtocolError
852
+ } else {
853
+ error = CloseCode ( rawValue: code)
851
854
}
852
855
offset += 2
853
856
}
@@ -857,12 +860,15 @@ public class WebSocket : NSObject, NSStreamDelegate {
857
860
let bytes = UnsafePointer < UInt8 > ( ( buffer+ offset) )
858
861
let str : NSString ? = NSString ( data: NSData ( bytes: bytes, length: len) , encoding: NSUTF8StringEncoding)
859
862
if str == nil {
860
- code = CloseCode . ProtocolError. rawValue
863
+ error = . ProtocolError
861
864
}
862
865
}
863
866
}
864
- doDisconnect ( errorWithDetail ( " connection closed by server " , code: code) )
865
- writeError ( code)
867
+
868
+ if let code = error? . rawValue where error != . Normal {
869
+ doDisconnect ( errorWithDetail ( " connection closed by server " , code: code) )
870
+ writeError ( code)
871
+ }
866
872
return
867
873
}
868
874
if isControlFrame && payloadLen > 125 {
You can’t perform that action at this time.
0 commit comments