22 lines
502 B
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))
|
|
}
|
|
}
|