From b82f3f207032e2cb6174a465b53164b337b94f4b Mon Sep 17 00:00:00 2001 From: Emanuel <Emanuel.Petrinovic@Student.Reutlingen-University.DE> Date: Mon, 14 Apr 2025 13:00:23 +0200 Subject: [PATCH] add handler and health check --- src/myaktion/go.mod | 2 ++ src/myaktion/go.sum | 2 ++ src/myaktion/handler/health.go | 11 +++++++ src/myaktion/main.go | 54 ++++++---------------------------- 4 files changed, 24 insertions(+), 45 deletions(-) create mode 100644 src/myaktion/go.sum create mode 100644 src/myaktion/handler/health.go diff --git a/src/myaktion/go.mod b/src/myaktion/go.mod index 963d038..433b4f8 100644 --- a/src/myaktion/go.mod +++ b/src/myaktion/go.mod @@ -1,3 +1,5 @@ module gitlab.reutlingen-university.de/petrinov/myaktion-go go 1.24.2 + +require github.com/gorilla/mux v1.8.1 // indirect diff --git a/src/myaktion/go.sum b/src/myaktion/go.sum new file mode 100644 index 0000000..7128337 --- /dev/null +++ b/src/myaktion/go.sum @@ -0,0 +1,2 @@ +github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= +github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= diff --git a/src/myaktion/handler/health.go b/src/myaktion/handler/health.go new file mode 100644 index 0000000..bb62dc7 --- /dev/null +++ b/src/myaktion/handler/health.go @@ -0,0 +1,11 @@ +package handler + +import ( + "io" + "net/http" +) + +func Health(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + io.WriteString(w, `{"alive": true}`) +} diff --git a/src/myaktion/main.go b/src/myaktion/main.go index 3b75cb9..787e22e 100644 --- a/src/myaktion/main.go +++ b/src/myaktion/main.go @@ -1,54 +1,18 @@ package main import ( - "fmt" + "log" + "net/http" - "gitlab.reutlingen-university.de/petrinov/myaktion-go/model" + "github.com/gorilla/mux" + "gitlab.reutlingen-university.de/petrinov/myaktion-go/handler" ) func main() { - - newAccount := model.Account{ - Name: "NeuerAccount", - BankName: "NeueBank", - Number: "1", - } - - newAccount2 := model.Account{ - Name: "NeuerAccount3", - BankName: "NeueBank3", - Number: "2", - } - - newAccount3 := model.Account{ - Name: "NeuerAccount3", - BankName: "NeueBank3", - Number: "3", - } - - donation1 := model.Donation{ - Ammount: 10.00, - DonorName: "Irgendwer", - ReceiptRequested: false, - Account: newAccount2, - } - - donation2 := model.Donation{ - Ammount: 5.00, - DonorName: "Irgendwo", - ReceiptRequested: true, - Account: newAccount3, + log.Println("Starting My-Aktion API server") + router := mux.NewRouter() + router.HandleFunc("/health", handler.Health).Methods("GET") + if err := http.ListenAndServe(":8000", router); err != nil { + log.Fatal(err) } - - newCampagin := model.Campaign{ - Name: "Neue Campaign", - OrganizerName: "Aktion Mensch", - TargetAmmount: 100.00, - DonationMinimum: 20.00, - AmmountDonatedSoFar: 80.00, - Account: newAccount, - Donations: []model.Donation{donation1, donation2}, - } - - fmt.Println(newCampagin) } -- GitLab