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:
parent
ecc8857a32
commit
6e98237419
8 changed files with 466 additions and 395 deletions
20
api/http/file_handler.go
Normal file
20
api/http/file_handler.go
Normal 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)
|
||||
}
|
|
@ -19,7 +19,7 @@ type Handler struct {
|
|||
DockerHandler *DockerHandler
|
||||
WebSocketHandler *WebSocketHandler
|
||||
UploadHandler *UploadHandler
|
||||
FileHandler http.Handler
|
||||
FileHandler *FileHandler
|
||||
}
|
||||
|
||||
const (
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue