package api import ( "encoding/json" "net/http" ) func (api *API) registerRoutes() { api.Router.HandleFunc("/api/v1/MediaItems", multipleMiddleware( api.mediaItemsHandler, api.authMiddleware, )) api.Router.HandleFunc("/api/v1/Devices", multipleMiddleware( api.devicesHandler, api.authMiddleware, )) api.Router.HandleFunc("/api/v1/Upload", multipleMiddleware( api.uploadHandler, api.authMiddleware, )) api.Router.HandleFunc("/api/v1/Albums", multipleMiddleware( api.albumsHandler, api.authMiddleware, )) api.Router.HandleFunc("/api/v1/Users", multipleMiddleware( api.usersHandler, api.authMiddleware, )) api.Router.HandleFunc("/api/v1/Tags", multipleMiddleware( api.tagsHandler, api.authMiddleware, )) api.Router.HandleFunc("/api/v1/Info", multipleMiddleware( api.infoHandler, api.authMiddleware, )) api.Router.HandleFunc("/api/v1/Me", multipleMiddleware( api.meHandler, api.authMiddleware, )) api.Router.HandleFunc("/api/v1/Logout", api.logoutHandler) api.Router.HandleFunc("/api/v1/Login", api.loginHandler) api.Router.HandleFunc("/api/v1/RefreshLogin", api.refreshLoginHandler) } // https://stackoverflow.com/a/59764037 func errorJSON(w http.ResponseWriter, err string, code int) { w.Header().Set("Content-Type", "application/json; charset=utf-8") w.Header().Set("X-Content-Type-Options", "nosniff") w.WriteHeader(code) json.NewEncoder(w).Encode(map[string]interface{}{"error": err}) } func successJSON(w http.ResponseWriter, msg string, code int) { w.Header().Set("Content-Type", "application/json; charset=utf-8") w.Header().Set("X-Content-Type-Options", "nosniff") w.WriteHeader(code) json.NewEncoder(w).Encode(map[string]interface{}{"success": msg}) }