mirror of
https://github.com/httpjamesm/AnonymousOverflow.git
synced 2025-04-22 14:59:16 +00:00
feat: embed static files
This commit is contained in:
parent
0a6af8d412
commit
0f576945b2
3 changed files with 15 additions and 19 deletions
|
@ -20,8 +20,6 @@ FROM scratch
|
|||
|
||||
COPY --from=build /app/anonymousoverflow /anonymousoverflow
|
||||
COPY --from=build /app/healthcheck /healthcheck
|
||||
COPY templates /templates
|
||||
COPY public /public
|
||||
COPY --from=build /etc/ssl/certs /etc/ssl/certs
|
||||
|
||||
HEALTHCHECK --interval=60s --timeout=5s --start-period=2s --retries=3 CMD [ "/healthcheck","http://localhost:8080/healthz" ]
|
||||
|
|
16
main.go
16
main.go
|
@ -4,7 +4,11 @@ import (
|
|||
"anonymousoverflow/env"
|
||||
"anonymousoverflow/src/middleware"
|
||||
"anonymousoverflow/src/routes"
|
||||
"embed"
|
||||
"fmt"
|
||||
"html/template"
|
||||
"io/fs"
|
||||
"net/http"
|
||||
"os"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
@ -13,6 +17,12 @@ import (
|
|||
"github.com/tavsec/gin-healthcheck/config"
|
||||
)
|
||||
|
||||
//go:embed templates/*
|
||||
var templates embed.FS
|
||||
|
||||
//go:embed public/*
|
||||
var public embed.FS
|
||||
|
||||
func main() {
|
||||
|
||||
env.RunChecks()
|
||||
|
@ -34,14 +44,16 @@ func main() {
|
|||
|
||||
r := gin.Default()
|
||||
|
||||
r.LoadHTMLGlob("templates/*")
|
||||
templ := template.Must(template.New("").ParseFS(templates, "templates/*"))
|
||||
r.SetHTMLTemplate(templ)
|
||||
|
||||
r.Use(gin.Recovery())
|
||||
r.Use(middleware.XssPreventionHeaders())
|
||||
r.Use(middleware.OptionsMiddleware())
|
||||
r.Use(middleware.Ratelimit())
|
||||
|
||||
r.GET("/static/*filepath", routes.StaticContent)
|
||||
static, _ := fs.Sub(public, "public")
|
||||
r.StaticFS("/static", http.FS(static))
|
||||
|
||||
r.GET("/robots.txt", func(c *gin.Context) {
|
||||
c.String(200, "User-agent: *\nDisallow: /")
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
package routes
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func StaticContent(c *gin.Context) {
|
||||
cleanFilePath := strings.ReplaceAll(c.Param("filepath"), "..", "")
|
||||
|
||||
c.File(fmt.Sprintf("./public/%s", cleanFilePath))
|
||||
}
|
Loading…
Add table
Reference in a new issue