package main import ( "log" "net/http" "time" "git.cliffbreak.de/haveachin/go-tsviewer/config" "git.cliffbreak.de/haveachin/go-tsviewer/features/channel" "git.cliffbreak.de/haveachin/go-tsviewer/service" "github.com/go-chi/chi" "github.com/go-chi/chi/middleware" ) func Routes(s service.Service) *chi.Mux { router := chi.NewRouter() router.Use( middleware.Logger, middleware.Timeout(5*time.Second), middleware.DefaultCompress, middleware.RedirectSlashes, middleware.Recoverer, ) router.Route("/v1", func(r chi.Router) { r.Mount("/channels", channel.Routes(s)) }) return router } func main() { config, err := config.New() if err != nil { log.Fatal(err) } service, err := service.New(*config) if err != nil { log.Fatal(err) } defer service.Client.Close() router := Routes(*service) log.Fatal("Handler: ", http.ListenAndServe(":8080", router)) }