From 8cbb530ec65034fcd9ee0d1082e638ccff81728f Mon Sep 17 00:00:00 2001 From: Lazyllama Date: Wed, 11 Dec 2024 18:22:46 +0100 Subject: [PATCH] feat | redirects /api/ to / #14 First time every in GO. Surprisingly does work. --- main.go | 2 ++ routes/api/redirect.go | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 routes/api/redirect.go diff --git a/main.go b/main.go index 7aaa9c54..dcad1928 100644 --- a/main.go +++ b/main.go @@ -225,6 +225,7 @@ func main() { activityHandler := api.NewActivityApiHandler(userService, activityService) badgeHandler := api.NewBadgeHandler(userService, summaryService) captchaHandler := api.NewCaptchaHandler() + redirectHandler := api.NewRedirectApiHandler() // Compat Handlers wakatimeV1StatusBarHandler := wtV1Routes.NewStatusBarHandler(userService, summaryService) @@ -323,6 +324,7 @@ func main() { wakatimeV1LeadersHandler.RegisterRoutes(apiRouter) shieldV1BadgeHandler.RegisterRoutes(apiRouter) captchaHandler.RegisterRoutes(apiRouter) + redirectHandler.RegisterRoutes(apiRouter) // Static Routes // https://github.com/golang/go/issues/43431 diff --git a/routes/api/redirect.go b/routes/api/redirect.go new file mode 100644 index 00000000..072b4fad --- /dev/null +++ b/routes/api/redirect.go @@ -0,0 +1,22 @@ +package api + +import ( + "net/http" + + "github.com/go-chi/chi/v5" +) + +type RedirectApiHandler struct{} + +func NewRedirectApiHandler() *RedirectApiHandler { + return &RedirectApiHandler{} +} + +func (h *RedirectApiHandler) RegisterRoutes(router chi.Router) { + router.Get("/", h.Redirect) +} + +// Redirect redirects the user to / +func (h *RedirectApiHandler) Redirect(w http.ResponseWriter, r *http.Request) { + http.Redirect(w, r, "/", http.StatusFound) +} \ No newline at end of file