Display Console

This commit is contained in:
2024-09-23 16:50:04 +02:00
parent 7159bae9f7
commit 0bae45a824
6 changed files with 91 additions and 7 deletions

View File

@@ -9,6 +9,9 @@ import (
"os"
"path/filepath"
"strings"
"sync"
"github.com/gorilla/websocket"
)
type ProgressInfo struct {
@@ -354,3 +357,42 @@ func updateProgress(filename string, value float64, currentFile string) {
}
}
}
var upgrader = websocket.Upgrader{}
var clients = make(map[*websocket.Conn]bool)
var mu sync.Mutex
func handleWebSocket(w http.ResponseWriter, r *http.Request) {
conn, err := upgrader.Upgrade(w, r, nil)
if err != nil {
fmt.Println("Error while upgrading connection:", err)
return
}
defer conn.Close()
mu.Lock()
clients[conn] = true
mu.Unlock()
for {
if _, _, err := conn.NextReader(); err != nil {
break
}
}
mu.Lock()
delete(clients, conn)
mu.Unlock()
}
func broadcast(message []byte) {
mu.Lock()
defer mu.Unlock()
for client := range clients {
if err := client.WriteMessage(websocket.TextMessage, message); err != nil {
client.Close()
delete(clients, client)
}
}
}