From b70b0c1bbb9c6fa627be671ce040b26f8b421d32 Mon Sep 17 00:00:00 2001 From: Fabian Vowie Date: Wed, 26 Jan 2022 17:38:15 +0100 Subject: [PATCH] Use subrouter for different route sections --- main.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/main.go b/main.go index 60d016e..38891d2 100644 --- a/main.go +++ b/main.go @@ -132,11 +132,16 @@ func UploadHandler(w http.ResponseWriter, r *http.Request, pipes []pipelines.IPi } func RegisterRoutes(r *mux.Router, pipelines []pipelines.IPipeline, storageProvider storage.IStorageProvider) { - r.HandleFunc("/", IndexHandler).Methods("GET") - r.HandleFunc("/upload", func(w http.ResponseWriter, r *http.Request) { + index := r.Methods(http.MethodGet).Subrouter() + index.HandleFunc("/", IndexHandler) + + upload := r.Methods(http.MethodPost).Subrouter() + upload.HandleFunc("/upload", func(w http.ResponseWriter, r *http.Request) { UploadHandler(w, r, pipelines, storageProvider) - }).Methods("POST") - r.HandleFunc("/pipelines/{pipeline}", func(w http.ResponseWriter, r *http.Request) { + }) + + pipeline := r.Methods(http.MethodGet).Subrouter() + pipeline.HandleFunc("/pipelines/{pipeline}", func(w http.ResponseWriter, r *http.Request) { for _, pipeline := range pipelines { if pipeline.GetSlug() == mux.Vars(r)["pipeline"] { PipelineHandler(pipeline, storageProvider, w, r) @@ -145,7 +150,7 @@ func RegisterRoutes(r *mux.Router, pipelines []pipelines.IPipeline, storageProvi } w.WriteHeader(404) - }).Methods("GET") + }) } func main() {