Implemented new C++ logic

This commit is contained in:
Martino Ferrari
2026-06-12 15:25:13 +02:00
parent 617b5bd712
commit f25bd7f08e
220 changed files with 39185 additions and 850 deletions
+41
View File
@@ -0,0 +1,41 @@
// Command webui is a tiny static file server for the StreamHub browser SPA.
//
// It serves the existing Client/udpstreamer/static directory; the SPA talks
// WebSocket directly to the C++ StreamHub (pass ?hub=host:8090 in the URL).
//
// Usage:
//
// webui -addr :8080 -static ../udpstreamer/static
package main
import (
"flag"
"fmt"
"log"
"net/http"
)
var buildVersion = "streamhub-webui-dev"
func main() {
addr := flag.String("addr", ":8080", "HTTP listen address")
static := flag.String("static", "../udpstreamer/static", "directory with the SPA files")
hub := flag.String("hub", "localhost:8090", "StreamHub WebSocket host:port the SPA should connect to")
flag.Parse()
http.Handle("/", http.FileServer(http.Dir(*static)))
http.HandleFunc("/version", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, buildVersion)
})
// The SPA fetches /hub at startup to discover the StreamHub address, so
// plain http://localhost:8080/ works without a ?hub= query parameter.
http.HandleFunc("/hub", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, *hub)
})
log.Printf("StreamHub WebUI listening on %s (static=%s, hub=%s)", *addr, *static, *hub)
log.Printf("open http://localhost%s/", *addr)
if err := http.ListenAndServe(*addr, nil); err != nil {
log.Fatalf("http: %v", err)
}
}