From 12ca5325d62221a9b0bc7eb40e84fb1ce2f59e98 Mon Sep 17 00:00:00 2001 From: Diaa Sami Date: Tue, 5 Oct 2021 10:24:02 +0200 Subject: [PATCH] worker: Use Recover middleware to handle panics recover from panics such as out-of-bounds array access & nil pointer access, print a stack trace and return 5xx error --- internal/worker/server.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/worker/server.go b/internal/worker/server.go index 81bbb2548..8da96c2c7 100644 --- a/internal/worker/server.go +++ b/internal/worker/server.go @@ -16,6 +16,7 @@ import ( "github.com/google/uuid" "github.com/labstack/echo/v4" + "github.com/labstack/echo/v4/middleware" "github.com/sirupsen/logrus" "github.com/osbuild/osbuild-composer/internal/common" @@ -57,6 +58,7 @@ func (s *Server) Handler() http.Handler { // log errors returned from handlers e.HTTPErrorHandler = api.HTTPErrorHandler + e.Use(middleware.Recover()) e.Pre(common.OperationIDMiddleware) handler := apiHandlers{ server: s,