aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/server/server.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/internal/server/server.go b/internal/server/server.go
index b835955..ace36f1 100644
--- a/internal/server/server.go
+++ b/internal/server/server.go
@@ -78,7 +78,8 @@ func New(cfg *config.Config, store *storage.Storage, sched *monitor.Scheduler, l
mux.HandleFunc("GET /api/health", s.handleAPIHealth)
// Badge endpoint - always public (for embedding in READMEs, docs)
- mux.HandleFunc("GET /api/badge/{name}.svg", s.handleAPIBadge)
+ // Note: {name...} captures the rest of the path including .svg extension
+ mux.HandleFunc("GET /api/badge/{name...}", s.handleAPIBadge)
// Full page data endpoint - public if refresh_mode=api, otherwise follows api.access
if cfg.Display.RefreshMode == "api" {
@@ -659,6 +660,9 @@ func (s *Server) handleAPIBadge(w http.ResponseWriter, r *http.Request) {
return
}
+ // Strip .svg extension if present
+ name = strings.TrimSuffix(name, ".svg")
+
// Get monitor stats
stats, err := s.storage.GetMonitorStats(r.Context(), name)
if err != nil {