From c9e959c4d4c6fb9d137da0c2992c9d15822aa354 Mon Sep 17 00:00:00 2001 From: Turgay Date: Mon, 29 Nov 2021 10:31:43 +0300 Subject: [PATCH] Recover middleware: Added, fiber.Ctx as a first paremeter to StackTraceHandler. (#1623) --- middleware/recover/README.md | 2 +- middleware/recover/config.go | 2 +- middleware/recover/recover.go | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/middleware/recover/README.md b/middleware/recover/README.md index 2dea87606e..dc0ad6f96f 100644 --- a/middleware/recover/README.md +++ b/middleware/recover/README.md @@ -50,7 +50,7 @@ type Config struct { // StackTraceHandler defines a function to handle stack trace // // Optional. Default: defaultStackTraceHandler - StackTraceHandler func(e interface{}) + StackTraceHandler func(c *fiber.Ctx, e interface{}) } ``` diff --git a/middleware/recover/config.go b/middleware/recover/config.go index e2ea794388..fb3ffe7386 100644 --- a/middleware/recover/config.go +++ b/middleware/recover/config.go @@ -19,7 +19,7 @@ type Config struct { // StackTraceHandler defines a function to handle stack trace // // Optional. Default: defaultStackTraceHandler - StackTraceHandler func(e interface{}) + StackTraceHandler func(c *fiber.Ctx, e interface{}) } var defaultStackTraceBufLen = 1024 diff --git a/middleware/recover/recover.go b/middleware/recover/recover.go index 0d50a6bd45..8cc802336a 100644 --- a/middleware/recover/recover.go +++ b/middleware/recover/recover.go @@ -8,7 +8,7 @@ import ( "github.com/gofiber/fiber/v2" ) -func defaultStackTraceHandler(e interface{}) { +func defaultStackTraceHandler(c *fiber.Ctx, e interface{}) { buf := make([]byte, defaultStackTraceBufLen) buf = buf[:runtime.Stack(buf, false)] _, _ = os.Stderr.WriteString(fmt.Sprintf("panic: %v\n%s\n", e, buf)) @@ -30,7 +30,7 @@ func New(config ...Config) fiber.Handler { defer func() { if r := recover(); r != nil { if cfg.EnableStackTrace { - cfg.StackTraceHandler(r) + cfg.StackTraceHandler(c, r) } var ok bool