return missing "/search" and "/site.webmanifest" router

This commit is contained in:
Viacheslav Evseev
2024-02-22 02:40:54 +03:00
parent 0b80e0ada1
commit 3695797f74
4 changed files with 15 additions and 5 deletions

View File

@@ -87,7 +87,7 @@ import (
"github.com/gin-gonic/gin"
)
func RouteWebPages(route *gin.RouterGroup) {
func RouteWebPages(route gin.IRouter) {
route.GET("/", func(c *gin.Context) {
etag := fmt.Sprintf("%x", md5.Sum(Indexhtml))
c.Header("Cache-Control", "public, max-age=31536000")

View File

@@ -1,6 +1,7 @@
package api
import (
config "server/settings"
"server/web/auth"
"github.com/gin-gonic/gin"
@@ -39,7 +40,11 @@ func SetupRoute(route gin.IRouter) {
authorized.GET("/download/:size", download)
authorized.GET("/search/*query", rutorSearch)
if config.SearchWA {
route.GET("/search/*query", rutorSearch)
} else {
authorized.GET("/search/*query", rutorSearch)
}
authorized.GET("/ffp/:hash/:id", ffp)
}

View File

@@ -6,6 +6,7 @@ import (
"net/http"
"os"
"path/filepath"
"slices"
"unsafe"
"github.com/gin-gonic/gin"
@@ -68,12 +69,16 @@ func BasicAuth(accounts gin.Accounts) gin.HandlerFunc {
}
}
func CheckAuth() gin.HandlerFunc {
func CheckAuth(exclude ...string) gin.HandlerFunc {
return func(c *gin.Context) {
if !settings.HttpAuth {
return
}
if slices.Contains(exclude, c.FullPath()) {
return
}
if _, ok := c.Get(gin.AuthUserKey); ok {
return
}

View File

@@ -11,7 +11,7 @@ import (
)
func SetupRoute(route gin.IRouter) {
authorized := route.Group("/", auth.CheckAuth())
authorized := route.Group("/", auth.CheckAuth("/site.webmanifest"))
template.RouteWebPages(authorized)
authorized.GET("/stat", statPage)