Files
navi/tools/uipreview/main.go
T

39 lines
857 B
Go

// Temporary UI preview server for development: serves the embedded UI +
// real /api handlers on a fixed local port. Not shipped.
package main
import (
"bytes"
"fmt"
"log"
"net/http"
"os"
"vpnclient/internal/apphost"
"vpnclient/internal/config"
"vpnclient/internal/core"
)
func main() {
cfgPath, err := config.LocateConfig()
if err != nil {
log.Fatal(err)
}
cfg, err := config.Load(cfgPath)
if err != nil {
log.Fatal(err)
}
logBuf := &bytes.Buffer{}
mgr, err := core.NewManager(cfgPath, cfg, logBuf)
if err != nil {
log.Fatal(err)
}
a := apphost.New(mgr, cfgPath, logBuf)
addr := os.Getenv("NAVIS_PREVIEW_ADDR")
if addr == "" {
addr = "127.0.0.1:8765" // may clash with a running app — override via NAVIS_PREVIEW_ADDR
}
fmt.Println("preview on http://" + addr + "/")
log.Fatal(http.ListenAndServe(addr, a.Handler()))
}