From 46ad450327111b9d28b592658d75ef57da498298 Mon Sep 17 00:00:00 2001 From: tjpcc Date: Wed, 15 Feb 2023 16:44:29 -0700 Subject: Switch Handler to an interface. HandlerFunc is much better as a function returning a Handler, rather than a newtype for the function type itself. This way there is no confusion creating a type-inferenced variable with HandlerFunc(func(... and then using a HandlerFunc where a Handler is expected. Much better to only have one public type. --- logging/middleware.go | 6 +++--- logging/middleware_test.go | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'logging') diff --git a/logging/middleware.go b/logging/middleware.go index 5442203..4e23c1e 100644 --- a/logging/middleware.go +++ b/logging/middleware.go @@ -11,14 +11,14 @@ import ( func LogRequests(logger Logger) gus.Middleware { return func(inner gus.Handler) gus.Handler { - return func(ctx context.Context, request *gus.Request) *gus.Response { - response := inner(ctx, request) + return gus.HandlerFunc(func(ctx context.Context, request *gus.Request) *gus.Response { + response := inner.Handle(ctx, request) if response != nil { response.Body = loggingBody(logger, request, response) } return response - } + }) } } diff --git a/logging/middleware_test.go b/logging/middleware_test.go index 288c960..76406ef 100644 --- a/logging/middleware_test.go +++ b/logging/middleware_test.go @@ -14,11 +14,11 @@ import ( func TestLogRequests(t *testing.T) { logger := logRecorder{} - handler := logging.LogRequests(&logger)(func(_ context.Context, _ *gus.Request) *gus.Response { + handler := logging.LogRequests(&logger)(gus.HandlerFunc(func(_ context.Context, _ *gus.Request) *gus.Response { return &gus.Response{} - }) + })) - response := handler(context.Background(), &gus.Request{}) + response := handler.Handle(context.Background(), &gus.Request{}) _, err := io.ReadAll(response.Body) assert.Nil(t, err) -- cgit v1.2.3