eurocollec/static.go

37 lines
930 B
Go

package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
var Assets http.FileSystem
func serveOrReverse(forced_url string) gin.HandlerFunc {
if forced_url != "" {
return func(c *gin.Context) {
c.FileFromFS(forced_url, Assets)
}
} else {
return func(c *gin.Context) {
c.FileFromFS(c.Request.URL.Path, Assets)
}
}
}
func declareStaticRoutes(router *gin.Engine) {
router.GET("/", serveOrReverse("/"))
router.GET("/countries/*_", serveOrReverse("/"))
router.GET("/coins/*_", serveOrReverse("/"))
router.GET("/stats/*_", serveOrReverse("/"))
router.GET("/favicon.ico", serveOrReverse("/favicon.ico"))
router.GET("/manifest.json", serveOrReverse("/manifest.json"))
router.GET("/css/*path", serveOrReverse(""))
router.GET("/fonts/*path", serveOrReverse(""))
router.GET("/img/*path", serveOrReverse(""))
router.GET("/js/*path", serveOrReverse(""))
router.GET("/views/*path", serveOrReverse(""))
}