From 630506be545c98b3cc9f1c3e6e162bf16828b014 Mon Sep 17 00:00:00 2001 From: Brett Date: Sun, 7 Jul 2024 17:11:36 +0200 Subject: [PATCH] Add /email-forward handler to log requests from mailgun --- src/main.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main.go b/src/main.go index f413b0d..8a98010 100644 --- a/src/main.go +++ b/src/main.go @@ -6,6 +6,7 @@ import ( "fmt" "io" "net/http" + "net/http/httputil" "os" "regexp" "strings" @@ -95,6 +96,20 @@ func chatFeedbackHandler(w http.ResponseWriter, r *http.Request) { w.Write([]byte(response)) } +func emailForwardHandler(w http.ResponseWriter, r *http.Request) { + defer logger.Sync() + + reqDump, err := httputil.DumpRequest(r, true) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + logger.Infof("REQUEST: %s", string(reqDump)) + + w.Write([]byte("ok")) +} + func healthcheckHandler(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") err := json.NewEncoder(w).Encode(map[string]string{ @@ -119,6 +134,7 @@ func main() { http.HandleFunc("/healthcheck", healthcheckHandler) http.HandleFunc("/chat", chatHandler) http.HandleFunc("/chatFeedback", chatFeedbackHandler) + http.HandleFunc("/email-forward", emailForwardHandler) logger.Infof("Starting server on port %v", port) err := http.ListenAndServe(fmt.Sprintf(":%v", port), nil)