package pages import ( "slices" "github.com/anacrolix/torrent/metainfo" "github.com/gin-gonic/gin" "server/settings" "server/torr" "server/web/auth" "server/web/pages/template" ) func SetupRoute(route gin.IRouter) { authorized := route.Group("/", auth.CheckAuth()) webPagesAuth := route.Group("/", func() gin.HandlerFunc { return func(c *gin.Context) { if slices.Contains([]string{"/site.webmanifest"}, c.FullPath()) { return } auth.CheckAuth()(c) } }()) template.RouteWebPages(webPagesAuth) authorized.GET("/stat", statPage) authorized.GET("/magnets", getTorrents) } // stat godoc // // @Summary Stat server // @Description Stat server. // // @Tags Pages // // @Produce text/plain // @Success 200 "Stats" // @Router /stat [get] func statPage(c *gin.Context) { torr.WriteStatus(c.Writer) c.Status(200) } // getTorrents godoc // // @Summary Get HTML of magnet links // @Description Get HTML of magnet links. // // @Tags Pages // // @Produce text/html // @Success 200 "Magnet links" // @Router /magnets [get] func getTorrents(c *gin.Context) { list := settings.ListTorrent() http := "