From 6ae5500ca41d371e2ae65e417f1a7afa326d6b4b Mon Sep 17 00:00:00 2001
From: Johan de Klerk <johan@shiplogic.com>
Date: Thu, 6 Apr 2023 13:23:32 +0200
Subject: [PATCH] Pass in context and dont return sqs status code

---
 handler_utils/debug.go | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/handler_utils/debug.go b/handler_utils/debug.go
index aa7201c..cd5f693 100644
--- a/handler_utils/debug.go
+++ b/handler_utils/debug.go
@@ -18,7 +18,7 @@ import (
 // HTTP functions
 // ========================================================================
 
-func ServeHTTPFunctions(lambdaHandler lambda.Handler, w http.ResponseWriter, req *http.Request) {
+func ServeHTTPFunctions(ctx context.Context, lambdaHandler lambda.Handler, w http.ResponseWriter, req *http.Request) {
 
 	// Read body
 	buf := new(bytes.Buffer)
@@ -46,7 +46,6 @@ func ServeHTTPFunctions(lambdaHandler lambda.Handler, w http.ResponseWriter, req
 	}
 
 	jsonRequest, _ := json.Marshal(request)
-	ctx := context.Background()
 	responseBytes, err := lambdaHandler.Invoke(ctx, jsonRequest)
 	if err != nil {
 		panic(err)
@@ -68,7 +67,7 @@ func ServeHTTPFunctions(lambdaHandler lambda.Handler, w http.ResponseWriter, req
 // SQS Functions
 // ========================================================================
 
-func ServeSQSFunctions(lambdaHandler lambda.Handler, w http.ResponseWriter, req *http.Request) {
+func ServeSQSFunctions(ctx context.Context, lambdaHandler lambda.Handler, w http.ResponseWriter, req *http.Request) {
 
 	// Read body
 	buf := new(bytes.Buffer)
@@ -97,7 +96,6 @@ func ServeSQSFunctions(lambdaHandler lambda.Handler, w http.ResponseWriter, req
 		},
 	})
 
-	ctx := context.Background()
 	responseBytes, err := lambdaHandler.Invoke(ctx, sqsRequest)
 	if err != nil {
 		panic(err)
@@ -107,10 +105,9 @@ func ServeSQSFunctions(lambdaHandler lambda.Handler, w http.ResponseWriter, req
 	response := map[string]any{}
 	err = json.Unmarshal(responseBytes, &response)
 	if err != nil {
+		_, _ = io.WriteString(w, err.Error())
 		return
 	}
 
-	w.Header().Set("Content-Type", "application/json")
-	w.WriteHeader(int(response["statusCode"].(float64)))
-	_, _ = io.WriteString(w, response["body"].(string))
+	_, _ = io.WriteString(w, "done")
 }
-- 
GitLab