Skip to content

Commit 0d2af8f

Browse files
authored
Merge pull request #47 from ellemouton/changeWebsocketCloseStatus
multi: change websocket close status
2 parents 6504dce + 5810efc commit 0d2af8f

File tree

3 files changed

+28
-2
lines changed

3 files changed

+28
-2
lines changed

cmd/wasm-client/main.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,9 @@ func (w *wasmClient) ConnectServer(_ js.Value, args []js.Value) interface{} {
250250

251251
w.statusChecker = statusChecker
252252
w.lndConn, err = lndConnect()
253+
if err != nil {
254+
exit(err)
255+
}
253256

254257
log.Debugf("WASM client connected to RPC")
255258
}()
@@ -266,6 +269,7 @@ func (w *wasmClient) Disconnect(_ js.Value, _ []js.Value) interface{} {
266269
if err := w.lndConn.Close(); err != nil {
267270
log.Errorf("Error closing RPC connection: %v", err)
268271
}
272+
w.lndConn = nil
269273
}
270274

271275
return nil

example/index.html

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,14 @@
9090
});
9191
}
9292

93+
async function disconnect() {
94+
window[namespace].wasmClientDisconnect();
95+
96+
document.getElementById('disconnectBtn').disabled = true;
97+
document.getElementById('reconnectBtn').disabled = false;
98+
document.getElementById('ready').style.display= 'none' ;
99+
}
100+
93101
async function connectServer() {
94102
let server = $('#server').val();
95103
localStorage.setItem(namespace+":mailboxHost", server)
@@ -119,6 +127,9 @@
119127
}
120128
connectedTicker = setInterval(isConnected, 200);
121129
window[namespace].wasmClientConnectServer(server, true, passphrase, localKey, remoteKey);
130+
131+
document.getElementById('disconnectBtn').disabled = false;
132+
document.getElementById('reconnectBtn').disabled = true;
122133
}
123134

124135
async function clearStorage() {
@@ -243,6 +254,9 @@ <h4 id="expiry"></h4>
243254

244255
<h4 id="sessiontype"></h4>
245256

257+
<button onClick="disconnect();" id="disconnectBtn" disabled>Disconnect</button>
258+
<button onClick="connectServer();" id="reconnectBtn" disabled>Reconnect</button>
259+
246260
<br />
247261

248262
<div id="ready" style="display:none">

mailbox/client_conn.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -537,17 +537,25 @@ func (c *ClientConn) Close() error {
537537
if c.receiveSocket != nil {
538538
log.Debugf("sending bye on receive socket")
539539
returnErr = c.receiveSocket.Close(
540-
websocket.StatusGoingAway, "bye",
540+
websocket.StatusNormalClosure, "bye",
541541
)
542+
if returnErr != nil {
543+
log.Errorf("Error closing receive socket: %v",
544+
returnErr)
545+
}
542546
}
543547
c.receiveStreamMu.Unlock()
544548

545549
c.sendStreamMu.Lock()
546550
if c.sendSocket != nil {
547551
log.Debugf("sending bye on send socket")
548552
returnErr = c.sendSocket.Close(
549-
websocket.StatusGoingAway, "bye",
553+
websocket.StatusNormalClosure, "bye",
550554
)
555+
if returnErr != nil {
556+
log.Errorf("Error closing send socket: %v",
557+
returnErr)
558+
}
551559
}
552560
c.sendStreamMu.Unlock()
553561

0 commit comments

Comments
 (0)