diff --git a/src/myaktion/go.mod b/src/myaktion/go.mod index db0e1509bb9a4084bc68da6bc66ab0818593bdcd..7269261d52472f3b788096580178fec37f8c588e 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 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 3996468014d4cc75db17027be7bf4ec8356a5418..e75ad89f048b3129e652f063cab07ef751d5d5d8 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) - }