From b9a3632a1efb30102b3bc60ffe2cfae11e19d229 Mon Sep 17 00:00:00 2001 From: Owen Schwartz Date: Sun, 8 Dec 2024 21:45:02 -0500 Subject: [PATCH] Handle termination message --- main.go | 11 +++++++++++ websocket/client.go | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/main.go b/main.go index c479923..0ab4a33 100644 --- a/main.go +++ b/main.go @@ -220,6 +220,17 @@ func main() { var connected bool var wgData WgData + client.RegisterHandler("newt/terminate", func(msg websocket.WSMessage) { + logger.Info("Received terminate message") + if pm != nil { + pm.Stop() + } + if dev != nil { + dev.Close() + } + client.Close() + }) + // Register handlers for different message types client.RegisterHandler("newt/wg/connect", func(msg websocket.WSMessage) { logger.Info("Received registration message") diff --git a/websocket/client.go b/websocket/client.go index c89e88c..408b981 100644 --- a/websocket/client.go +++ b/websocket/client.go @@ -86,6 +86,10 @@ func (c *Client) Close() error { if c.conn != nil { return c.conn.Close() } + + // stop the ping monitor + c.setConnected(false) + return nil }