Don't panic when dealing with disconnected websockets.

This commit is contained in:
Josh Matthews 2020-02-25 12:43:12 -05:00
parent 5a55ae1b13
commit ba83f0ffa6
7 changed files with 17 additions and 30 deletions

View file

@ -268,21 +268,31 @@ pub fn init(
let dom_action = message.to().expect("Ws dom_action message to deserialize");
match dom_action {
WebSocketDomAction::SendMessage(MessageData::Text(data)) => {
ws_sender.send(Message::text(data)).unwrap();
if let Err(e) = ws_sender.send(Message::text(data)) {
warn!("Error sending websocket message: {:?}", e);
}
},
WebSocketDomAction::SendMessage(MessageData::Binary(data)) => {
ws_sender.send(Message::binary(data)).unwrap();
if let Err(e) = ws_sender.send(Message::binary(data)) {
warn!("Error sending websocket message: {:?}", e);
}
},
WebSocketDomAction::Close(code, reason) => {
if !initiated_close.fetch_or(true, Ordering::SeqCst) {
match code {
Some(code) => ws_sender
.close_with_reason(
Some(code) => {
if let Err(e) = ws_sender.close_with_reason(
code.into(),
reason.unwrap_or("".to_owned()),
)
.unwrap(),
None => ws_sender.close(CloseCode::Status).unwrap(),
) {
warn!("Error closing websocket: {:?}", e);
}
},
None => {
if let Err(e) = ws_sender.close(CloseCode::Status) {
warn!("Error closing websocket: {:?}", e);
}
},
};
}
},

View file

@ -1,5 +0,0 @@
[009.html?wss]
expected: TIMEOUT
[009.html]
expected: TIMEOUT

View file

@ -1,5 +0,0 @@
[022.html]
expected: TIMEOUT
[022.html?wss]
expected: TIMEOUT

View file

@ -4,4 +4,3 @@
[005.html?wss]
type: testharness
expected: TIMEOUT

View file

@ -1,2 +0,0 @@
[003-sets-origin.worker.html]
expected: CRASH

View file

@ -1,5 +0,0 @@
[003.html?wss]
expected: TIMEOUT
[003.html]
expected: TIMEOUT

View file

@ -1,5 +0,0 @@
[005.html?wss]
expected: TIMEOUT
[005.html]
expected: TIMEOUT