Skip to content

Commit 32437a2

Browse files
authored
debug middleware for p4 (#18)
1 parent 4741d5a commit 32437a2

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

cmd/rest-server/main.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import (
2222
"github.com/libsv/go-p4/service"
2323
p4Handlers "github.com/libsv/go-p4/transports/http"
2424

25-
paydMiddleware "github.com/libsv/go-p4/transports/http/middleware"
25+
p4Middleware "github.com/libsv/go-p4/transports/http/middleware"
2626
)
2727

2828
const appname = "payment-protocol-rest-server"
@@ -81,7 +81,8 @@ func main() {
8181
AllowOrigins: []string{"*"},
8282
AllowHeaders: []string{echo.HeaderOrigin, echo.HeaderContentType, echo.HeaderAccept},
8383
}))
84-
e.HTTPErrorHandler = paydMiddleware.ErrorHandler
84+
e.Use(p4Middleware.DebugDumpBody(log.DEBUG))
85+
e.HTTPErrorHandler = p4Middleware.ErrorHandler
8586
if cfg.Server.SwaggerEnabled {
8687
e.GET("/swagger/*", echoSwagger.WrapHandler)
8788
}
+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package middleware
2+
3+
import (
4+
"strings"
5+
6+
"github.com/labstack/echo/v4"
7+
"github.com/labstack/echo/v4/middleware"
8+
"github.com/labstack/gommon/log"
9+
)
10+
11+
// DebugDumpBody dumps the body of the request and response provided the
12+
// passed in log level is set.
13+
func DebugDumpBody(level log.Lvl) echo.MiddlewareFunc {
14+
return middleware.BodyDumpWithConfig(middleware.BodyDumpConfig{
15+
Skipper: func(c echo.Context) bool {
16+
return log.Level() > level || !strings.HasPrefix(c.Path(), "/api/v1/")
17+
},
18+
Handler: func(e echo.Context, reqBody, respBody []byte) {
19+
log.Debug(e.Request().URL.String())
20+
log.Debug("request: ", string(reqBody))
21+
log.Debug("response:", string(respBody))
22+
},
23+
})
24+
}

0 commit comments

Comments
 (0)