Template
1
0
Fork 0

Reverting ETag

This commit is contained in:
Atridad Lahiji 2024-02-21 01:46:30 -07:00
parent 25159672fe
commit f20addee50
No known key found for this signature in database

25
main.go
View file

@ -61,32 +61,9 @@ func main() {
}))
e.Use(middleware.RateLimiter(middleware.NewRateLimiterMemoryStore(50)))
// Generate the deployment time when the application starts
deploymentTime := fmt.Sprintf("%d", time.Now().UnixNano())
// Static server
fs := http.FS(PublicFS)
e.GET("/public/*", func(c echo.Context) error {
// Generate an ETag based on the deployment time
eTag := fmt.Sprintf(`W/"%s"`, deploymentTime)
// Set the ETag header
c.Response().Header().Set("ETag", eTag)
// Set the Cache-Control header
c.Response().Header().Set("Cache-Control", "public, max-age=3600")
// Check the file extension and set the Content-Type header accordingly
ext := filepath.Ext(c.Param("*"))
switch ext {
case ".css":
c.Response().Header().Set("Content-Type", "text/css; charset=utf-8")
case ".js":
c.Response().Header().Set("Content-Type", "application/javascript; charset=utf-8")
}
return echo.WrapHandler(http.FileServer(fs))(c)
})
e.GET("/public/*", echo.WrapHandler(http.FileServer(fs)))
// Page routes
e.GET("/", pages.Home)