diff --git a/src/myaktion/go.mod b/src/myaktion/go.mod index c47b541dca7f8a1e111af8906b4605ed14ee2732..01a09cfefd6da3ca91b78e77fd0dabab05ef891b 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 0000000000000000000000000000000000000000..535028803d222b0e4e9174f56529c0ed9fece4e0 --- /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 0000000000000000000000000000000000000000..bb62dc721e584bf5bd0959ed81692ba935a289e5 --- /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 cd83e9c5f5cab33f398ecfd8e81e489d227ec5b9..3bfda8683a86eef5864a72f70249c99079c47c74 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) + } }