From 267b2ebdf7a5ea4d47ca3c6619d0b81fe04d0771 Mon Sep 17 00:00:00 2001 From: Simon Sawert Date: Mon, 13 May 2024 22:21:27 +0200 Subject: [PATCH] Make `AckLogError` accept a logger like previous signature --- middleware/ack.go | 12 ++++++------ middleware/ack_test.go | 3 ++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/middleware/ack.go b/middleware/ack.go index bd8b534..96200c9 100644 --- a/middleware/ack.go +++ b/middleware/ack.go @@ -2,11 +2,9 @@ package middleware import ( "context" - "log" - - amqp "github.com/rabbitmq/amqp091-go" amqprpc "github.com/0x4b53/amqp-rpc/v3" + amqp "github.com/rabbitmq/amqp091-go" ) // OnErrFunc is the function that will be called when the middleware get an @@ -17,9 +15,11 @@ type OnErrFunc func(err error, correlationID string) // AckLogError is a built-in function that will log the error if any is returned // from `Ack`. // -// middleware := AckDelivery(AckLogError) -func AckLogError(err error, correlationID string) { - log.Printf("could not ack delivery (%s): %v\n", correlationID, err) +// middleware := AckDelivery(AckLogError(log.Printf)) +func AckLogError(logFn amqprpc.LogFunc) OnErrFunc { + return func(err error, correlationID string) { + logFn("could not ack delivery (%s): %v\n", correlationID, err) + } } // AckDelivery is a middleware that will acknowledge the delivery after the diff --git a/middleware/ack_test.go b/middleware/ack_test.go index 130780d..d45166e 100644 --- a/middleware/ack_test.go +++ b/middleware/ack_test.go @@ -2,6 +2,7 @@ package middleware import ( "context" + "log" "testing" amqp "github.com/rabbitmq/amqp091-go" @@ -30,7 +31,7 @@ func TestAckDelivery(t *testing.T) { t.Run(tt.name, func(t *testing.T) { acknowledger := &amqprpc.MockAcknowledger{} - handler := AckDelivery(func(_ error, _ string) {})(tt.handler) + handler := AckDelivery(AckLogError(log.Printf))(tt.handler) rw := amqprpc.NewResponseWriter(&amqp.Publishing{}) d := amqp.Delivery{Acknowledger: acknowledger}