Browse Source

Use subrouter for different route sections

Fabian Vowie 3 years ago
parent
commit
45246fc281
No known key found for this signature in database GPG Key ID: C27317C33B27C410
  1. 15
      main.go

15
main.go

@ -131,11 +131,16 @@ func UploadHandler(w http.ResponseWriter, r *http.Request, pipes []pipelines.IPi
} }
func RegisterRoutes(r *mux.Router, pipelines []pipelines.IPipeline, storageProvider storage.IStorageProvider) { 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) 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 { for _, pipeline := range pipelines {
if pipeline.GetSlug() == mux.Vars(r)["pipeline"] { if pipeline.GetSlug() == mux.Vars(r)["pipeline"] {
PipelineHandler(pipeline, storageProvider, w, r) PipelineHandler(pipeline, storageProvider, w, r)
@ -144,7 +149,7 @@ func RegisterRoutes(r *mux.Router, pipelines []pipelines.IPipeline, storageProvi
} }
w.WriteHeader(404) w.WriteHeader(404)
}).Methods("GET")
})
} }
func main() { func main() {

Loading…
Cancel
Save