Add fleet ops dashboard, Calibrate enforcement, and dead-code cleanup.
Ship live alerts, pool status, AI monitor, remote agent commands, build manager, and uninstall flow; wire Calibrate settings (WS ping, pool traffic log, retention limits) at runtime and exclude server/data from git.
This commit is contained in:
@@ -3,6 +3,7 @@ package api
|
||||
import (
|
||||
"net"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@@ -15,7 +16,7 @@ type ServerInfo struct {
|
||||
WebSocketURL string `json:"websocket_url"`
|
||||
}
|
||||
|
||||
func (h *Handler) GetServerInfo(w http.ResponseWriter, r *http.Request) {
|
||||
func GetServerInfo(w http.ResponseWriter, r *http.Request, publicURLOverride string) {
|
||||
host := r.Host
|
||||
if idx := strings.Index(host, ":"); idx > 0 {
|
||||
host = host[:idx]
|
||||
@@ -35,6 +36,13 @@ func (h *Handler) GetServerInfo(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
suggestedURL := "http://" + net.JoinHostPort(suggestedHost, itoa(port))
|
||||
if strings.TrimSpace(publicURLOverride) != "" {
|
||||
suggestedURL = strings.TrimSpace(publicURLOverride)
|
||||
suggestedHost = suggestedURL
|
||||
if u, err := url.Parse(suggestedURL); err == nil && u.Hostname() != "" {
|
||||
suggestedHost = u.Hostname()
|
||||
}
|
||||
}
|
||||
info := ServerInfo{
|
||||
Port: port,
|
||||
Host: host,
|
||||
|
||||
Reference in New Issue
Block a user