From 25eef452dd43298730faab3528f9179978dcc392 Mon Sep 17 00:00:00 2001 From: Martin Schmollinger <martin.schmollinger@reutlingen-university.de> Date: Mon, 17 Apr 2023 15:11:10 +0200 Subject: [PATCH] Added health service --- src/myaktion/go.mod | 2 ++ src/myaktion/go.sum | 2 ++ src/myaktion/handler/health.go | 11 +++++++++++ src/myaktion/main.go | 33 +++++++++------------------------ 4 files changed, 24 insertions(+), 24 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 db0e150..7269261 100644 --- a/src/myaktion/go.mod +++ b/src/myaktion/go.mod @@ -1,3 +1,5 @@ module gitlab.reutlingen-university.de/go-exercises/myaktion-go/src/myaktion go 1.20 + +require github.com/gorilla/mux v1.8.0 diff --git a/src/myaktion/go.sum b/src/myaktion/go.sum new file mode 100644 index 0000000..5350288 --- /dev/null +++ b/src/myaktion/go.sum @@ -0,0 +1,2 @@ +github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= 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 3996468..e75ad89 100644 --- a/src/myaktion/main.go +++ b/src/myaktion/main.go @@ -2,33 +2,18 @@ package main import ( "fmt" + "log" + "net/http" - "gitlab.reutlingen-university.de/go-exercises/myaktion-go/src/myaktion/model" + "github.com/gorilla/mux" + "gitlab.reutlingen-university.de/go-exercises/myaktion-go/src/myaktion/handler" ) func main() { - c := model.Campaign{ - Name: "Kinder helfen", - OrganizerName: "Hans Schmidt", - TargetAmount: 10000.0, - DonationMinimum: 10.0, - Account: model.Account{ - Name: "Kinder helfen", - BankName: "Raiffeisen", - Number: "1234567890", - }, + fmt.Println("Starting MyAktion API server") + router := mux.NewRouter() + router.HandleFunc("/health", handler.Health).Methods("GET") + if err := http.ListenAndServe(":8000", router); err != nil { + log.Fatal(err) } - c.Donations = append(c.Donations, model.Donation{ - Amount: 100.0, - DonorName: "Hans Muster", - ReceiptRequested: true, - Status: model.IN_PROCESS, - Account: model.Account{ - Name: "Hans Muster", - BankName: "Raiffeisen", - Number: "1234567890", - }, - }) - fmt.Printf("%+v\n", c) - } -- GitLab