forked from tangled.org/core
Monorepo for Tangled

spindle/stream: add keep alive ping to log streaming.

Signed-off-by: Evan Jarrett <evan@evanjarrett.com>

authored by evan.jarrett.net and committed by Tangled 255e9d88 ee43a967

Changed files
+5
spindle
+5
spindle/stream.go
··· 213 if err := conn.WriteMessage(websocket.TextMessage, []byte(line.Text)); err != nil { 214 return fmt.Errorf("failed to write to websocket: %w", err) 215 } 216 } 217 } 218 }
··· 213 if err := conn.WriteMessage(websocket.TextMessage, []byte(line.Text)); err != nil { 214 return fmt.Errorf("failed to write to websocket: %w", err) 215 } 216 + case <-time.After(30 * time.Second): 217 + // send a keep-alive 218 + if err := conn.WriteControl(websocket.PingMessage, []byte{}, time.Now().Add(time.Second)); err != nil { 219 + return fmt.Errorf("failed to write control: %w", err) 220 + } 221 } 222 } 223 }