From d061721f562e0cd43b5bffac2d49469322887596 Mon Sep 17 00:00:00 2001 From: Harvey Tindall Date: Mon, 8 Feb 2021 15:25:02 +0000 Subject: [PATCH] explicitly set js mimetype --- embed.go | 35 +++++++++++++++++++++++++++++++++++ main.go | 3 +++ 2 files changed, 38 insertions(+) create mode 100644 embed.go diff --git a/embed.go b/embed.go new file mode 100644 index 0000000..f603b87 --- /dev/null +++ b/embed.go @@ -0,0 +1,35 @@ +package main +import ( + "embed" + "io/fs" + "log" +) + +//go:embed data data/html data/web data/web/css data/web/js +var loFS embed.FS + +//go:embed lang/common lang/admin lang/email lang/form lang/setup +var laFS embed.FS + +var langFS rewriteFS +var localFS rewriteFS + +type rewriteFS struct { + fs embed.FS + prefix string +} + +func (l rewriteFS) Open(name string) (fs.File, error) { return l.fs.Open(l.prefix + name) } +func (l rewriteFS) ReadDir(name string) ([]fs.DirEntry, error) { return l.fs.ReadDir(l.prefix + name) } +func (l rewriteFS) ReadFile(name string) ([]byte, error) { return l.fs.ReadFile(l.prefix + name) } +func FSJoin(elem ...string) string { + out := "" + for _, v := range elem { out += v + "/" } + return out[:len(out)-1] +} + +func loadFilesystems() { + langFS = rewriteFS{laFS, "lang/"} + localFS = rewriteFS{loFS, "data/"} + log.Println("Using internal storage") +} \ No newline at end of file diff --git a/main.go b/main.go index fe0f046..c4001a6 100644 --- a/main.go +++ b/main.go @@ -10,6 +10,7 @@ import ( "io" "io/ioutil" "log" + "mime" "net" "net/http" "os" @@ -569,6 +570,8 @@ func start(asDaemon, firstCall bool) { } cssHeader = app.loadCSSHeader() + mime.AddExtensionType(".js", "application/javascript") + app.info.Println("Loading routes") if debugMode { gin.SetMode(gin.DebugMode)