github.com/oinume/lekcije@v0.0.0-20231017100347-5b4c5eb6ab24/backend/interface/http/route.go (about) 1 package http 2 3 import ( 4 stats_api "github.com/fukata/golang-stats-api-handler" 5 "goji.io/v3" 6 "goji.io/v3/pat" 7 ) 8 9 func (s *server) Setup(mux *goji.Mux) { 10 mux.Use(setTrackingID) 11 mux.Use(accessLogger(s.accessLogger)) 12 mux.Use(redirecter) 13 mux.Use(panicHandler(s.errorRecorder)) 14 mux.Use(setLoggedInUser(s.db)) 15 mux.Use(loginRequiredFilter(s.db, s.appLogger, s.errorRecorder)) 16 mux.Use(setCORS) 17 mux.Use(setGAMeasurementEventValues) 18 mux.Use(setAuthorizationContext) 19 20 mux.HandleFunc(pat.Get("/static/*"), s.static) 21 mux.HandleFunc(pat.Get("/"), s.index) 22 mux.HandleFunc(pat.Get("/signup"), s.signup) 23 mux.HandleFunc(pat.Get("/robots.txt"), s.robotsTxt) 24 mux.HandleFunc(pat.Get("/sitemap.xml"), s.sitemapXML) 25 mux.HandleFunc(pat.Get("/terms"), s.terms) 26 mux.HandleFunc(pat.Get("/me"), s.getMe) 27 mux.HandleFunc(pat.Get("/me/logout"), s.getMeLogout) 28 mux.HandleFunc(pat.Get("/me/setting"), s.getMeSetting) 29 mux.HandleFunc(pat.Get("/api/status"), s.getAPIStatus) 30 mux.HandleFunc(pat.Get("/api/debug/envVar"), s.getAPIDebugEnvVar) 31 mux.HandleFunc(pat.Get("/api/debug/httpHeader"), s.getAPIDebugHTTPHeader) 32 mux.HandleFunc(pat.Post("/api/webhook/sendGrid"), s.postAPISendGridEventWebhook) 33 mux.HandleFunc(pat.Get("/api/stats"), stats_api.Handler) 34 }