From c57ecf3d4bb24551d5e9215aa170bf16f3b4fed2 Mon Sep 17 00:00:00 2001 From: mkelvers Date: Sat, 13 Jun 2026 22:38:51 +0200 Subject: [PATCH] fix: skip error log on client disconnect in proxy handlers --- internal/playback/handler/handler.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/internal/playback/handler/handler.go b/internal/playback/handler/handler.go index 42b5a37..291f202 100644 --- a/internal/playback/handler/handler.go +++ b/internal/playback/handler/handler.go @@ -3,6 +3,7 @@ package handler import ( "context" + "errors" "fmt" "io" "mal/internal/domain" @@ -302,8 +303,10 @@ func (h *PlaybackHandler) HandleProxyStream(c *gin.Context) { resp, err := h.streamingClient.Do(req) if err != nil { - observability.ErrorContext(c.Request.Context(), "proxy_stream_upstream_failed", "playback", "", map[string]any{"target_url": targetURL}, err) - _ = c.Error(err).SetType(gin.ErrorTypePrivate) + if !errors.Is(err, context.Canceled) { + observability.ErrorContext(c.Request.Context(), "proxy_stream_upstream_failed", "playback", "", map[string]any{"target_url": targetURL}, err) + _ = c.Error(err).SetType(gin.ErrorTypePrivate) + } c.Status(http.StatusBadGateway) return } @@ -490,8 +493,10 @@ func (h *PlaybackHandler) HandleProxySubtitle(c *gin.Context) { resp, err := h.proxyClient.Do(req) if err != nil { - observability.ErrorContext(c.Request.Context(), "proxy_subtitle_upstream_failed", "playback", "", map[string]any{"target_url": targetURL}, err) - _ = c.Error(err).SetType(gin.ErrorTypePrivate) + if !errors.Is(err, context.Canceled) { + observability.ErrorContext(c.Request.Context(), "proxy_subtitle_upstream_failed", "playback", "", map[string]any{"target_url": targetURL}, err) + _ = c.Error(err).SetType(gin.ErrorTypePrivate) + } c.Status(http.StatusBadGateway) return }