From 1b300ac76cbee57393f3225a8556b039e21fdbfc Mon Sep 17 00:00:00 2001 From: Sercan Yesildal <sercan.yesildal@gmail.com> Date: Mon, 17 Apr 2023 14:58:46 +0200 Subject: [PATCH] health service added --- src/myaktion/go.mod | 2 ++ src/myaktion/go.sum | 2 ++ src/myaktion/handler/health.go | 11 +++++++++++ src/myaktion/main.go | 18 +++++++++++++++++- 4 files changed, 32 insertions(+), 1 deletion(-) 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 c47b541..01a09cf 100644 --- a/src/myaktion/go.mod +++ b/src/myaktion/go.mod @@ -1,3 +1,5 @@ module gitlab.reutlingen-university.de/yesildas/myaktion-go/src/myaktion go 1.20 + +require github.com/gorilla/mux v1.8.0 // indirect 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 cd83e9c..3bfda86 100644 --- a/src/myaktion/main.go +++ b/src/myaktion/main.go @@ -1,6 +1,14 @@ package main -import "gitlab.reutlingen-university.de/yesildas/myaktion-go/src/myaktion/model" +import ( + "fmt" + "log" + "net/http" + + "github.com/gorilla/mux" + "gitlab.reutlingen-university.de/yesildas/myaktion-go/src/myaktion/handler" + "gitlab.reutlingen-university.de/yesildas/myaktion-go/src/myaktion/model" +) func main() { campaign := model.Campaign{ @@ -27,4 +35,12 @@ func main() { }, Status: model.IN_PROCESS, }) + + port := 8000 + log.Printf("Starting MyAktion API server on port %v.\n", port) + router := mux.NewRouter() + router.HandleFunc("/health", handler.Health).Methods("GET") + if err := http.ListenAndServe(fmt.Sprintf(":%v", port), router); err != nil { + log.Fatal(err) + } } -- GitLab