Files
lst/controller/stream_output.go

22 lines
502 B
Go

package main
import (
"bufio"
"fmt"
"io"
socketio "github.com/googollee/go-socket.io"
)
// streamOutput reads io.Reader line by line and broadcasts
func streamOutput(r io.Reader, server *socketio.Server, room string) {
scanner := bufio.NewScanner(r)
for scanner.Scan() {
line := scanner.Text()
server.BroadcastToRoom("/", room, "buildlogs", line)
}
if err := scanner.Err(); err != nil {
server.BroadcastToRoom("/", room, "buildlogs", fmt.Sprintf("❌ Log stream error: %v", err))
}
}