package routing import ( "net/http" "strings" "github.com/hacdias/caddy-hugo/edit" "github.com/mholt/caddy/middleware" ) const ( mainURL string = "/admin" contentURL string = mainURL + "/content" dataURL string = mainURL + "/data" editURL string = mainURL + "/edit" newURL string = mainURL + "/new" settingsURL string = mainURL + "/settings" staticURL string = mainURL + "/static" ) // Route the admin path func Route(w http.ResponseWriter, r *http.Request) (int, error) { if middleware.Path(r.URL.Path).Matches(contentURL) { w.Write([]byte("Show Content Folder")) } else if middleware.Path(r.URL.Path).Matches(dataURL) { w.Write([]byte("Show Data Folder")) } else if middleware.Path(r.URL.Path).Matches(editURL) { return edit.Execute(w, r, strings.Replace(r.URL.Path, editURL+"/", "", 1)) } else if middleware.Path(r.URL.Path).Matches(newURL) { w.Write([]byte("New Thing Page")) } else if middleware.Path(r.URL.Path).Matches(settingsURL) { w.Write([]byte("Settings Page")) } else if middleware.Path(r.URL.Path).Matches(staticURL) { w.Write([]byte("Static things management")) } else if r.URL.Path == mainURL || r.URL.Path == mainURL+"/" { w.Write([]byte("Dashboard")) } else { return 404, nil } return 200, nil }