mapserver/bundle/JsHandler.go
2019-06-13 08:04:32 +02:00

39 lines
669 B
Go

package bundle
import (
"net/http"
)
type JsHandler struct {
Webdev bool
Cache []byte
}
func NewJsHandler(Webdev bool) *JsHandler {
h := &JsHandler{Webdev: Webdev}
if !Webdev {
//populate cache
manifest := getManifest(Webdev)
h.Cache = createBundle(Webdev, manifest.Scripts)
}
return h
}
func (h *JsHandler) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
resp.Header().Add("content-type", "text/javascript")
if h.Cache == nil {
//dev
manifest := getManifest(h.Webdev)
resp.Write(createBundle(h.Webdev, manifest.Scripts))
} else {
//prod
resp.Header().Add("Cache-Control", "public, max-age=3600")
resp.Write(h.Cache)
}
}