1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-24 15:59:41 +02:00

feat(api): introduce cache busting mechanism (#439)

This commit is contained in:
Anthony Lapenna 2016-12-31 12:20:38 +13:00 committed by GitHub
parent ecc8857a32
commit 6e98237419
8 changed files with 466 additions and 395 deletions

20
api/http/file_handler.go Normal file
View file

@ -0,0 +1,20 @@
package http
import "net/http"
// FileHandler represents an HTTP API handler for managing static files.
type FileHandler struct {
http.Handler
}
func newFileHandler(assetPath string) *FileHandler {
h := &FileHandler{
Handler: http.FileServer(http.Dir(assetPath)),
}
return h
}
func (fileHandler *FileHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Cache-Control", "max-age=31536000")
fileHandler.Handler.ServeHTTP(w, r)
}

View file

@ -19,7 +19,7 @@ type Handler struct {
DockerHandler *DockerHandler
WebSocketHandler *WebSocketHandler
UploadHandler *UploadHandler
FileHandler http.Handler
FileHandler *FileHandler
}
const (

View file

@ -63,7 +63,7 @@ func (server *Server) Start() error {
endpointHandler.server = server
var uploadHandler = NewUploadHandler(middleWareService)
uploadHandler.FileService = server.FileService
var fileHandler = http.FileServer(http.Dir(server.AssetsPath))
var fileHandler = newFileHandler(server.AssetsPath)
server.Handler = &Handler{
AuthHandler: authHandler,