From 79eea1d0f8aee9a626cab075e66237ddd4558cb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ask=20Bj=C3=B8rn=20Hansen?= Date: Sat, 20 Jul 2024 00:29:36 -0700 Subject: [PATCH] scores: improve error handling for invalid monitor parameters --- server/history.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/server/history.go b/server/history.go index 6724ff1..6e0b7b8 100644 --- a/server/history.go +++ b/server/history.go @@ -98,7 +98,7 @@ func (srv *Server) getHistoryParameters(ctx context.Context, c echo.Context) (hi monitorParam = monitorParam + ".%" monitor, err := q.GetMonitorByName(ctx, sql.NullString{Valid: true, String: monitorParam}) if err != nil { - log.Warn("could not find monitor", "name", monitorParam, "err", err) + log.WarnContext(ctx, "could not find monitor", "name", monitorParam, "err", err) return p, echo.NewHTTPError(http.StatusNotFound, "monitor not found") } monitorID = monitor.ID @@ -152,14 +152,20 @@ func (srv *Server) history(c echo.Context) error { p, err := srv.getHistoryParameters(ctx, c) if err != nil { - log.Error("get history parameters", "err", err) + if he, ok := err.(*echo.HTTPError); ok { + return he + } + log.ErrorContext(ctx, "get history parameters", "err", err) span.RecordError(err) return echo.NewHTTPError(http.StatusInternalServerError, "internal error") } server, err := srv.FindServer(ctx, c.Param("server")) if err != nil { - log.Error("find server", "err", err) + log.ErrorContext(ctx, "find server", "err", err) + if he, ok := err.(*echo.HTTPError); ok { + return he + } span.RecordError(err) return echo.NewHTTPError(http.StatusInternalServerError, "internal error") }