Improve caching, HTTP headers and URL handling (#3594)

* Fix relative URLs
* Improve login base URL and redirects
* Prevent duplicate customlocales requests
* Improve UI base URL handling
* Improve UI embedding
* Improve CSP header
* Add Cache-Control headers to all responses
* Improve CORS responses
* Improve authentication handler
* Add back media timestamp suffixes
* Fix default image handling
* Add default param to other image URLs
This commit is contained in:
DingDongSoLong4
2023-04-19 05:01:32 +02:00
committed by GitHub
parent 87abe8c38c
commit b4b7cf02b6
74 changed files with 808 additions and 782 deletions

View File

@@ -1,9 +1,46 @@
package ui
import "embed"
import (
"embed"
"io/fs"
"runtime"
)
//go:embed v2.5/build
var UIBox embed.FS
var uiBox embed.FS
var UIBox fs.FS
//go:embed login
var LoginUIBox embed.FS
var loginUIBox embed.FS
var LoginUIBox fs.FS
func init() {
var err error
UIBox, err = fs.Sub(uiBox, "v2.5/build")
if err != nil {
panic(err)
}
LoginUIBox, err = fs.Sub(loginUIBox, "login")
if err != nil {
panic(err)
}
}
type faviconProvider struct{}
var FaviconProvider = faviconProvider{}
func (p *faviconProvider) GetFavicon() []byte {
if runtime.GOOS == "windows" {
ret, _ := fs.ReadFile(UIBox, "favicon.ico")
return ret
}
return p.GetFaviconPng()
}
func (p *faviconProvider) GetFaviconPng() []byte {
ret, _ := fs.ReadFile(UIBox, "favicon.png")
return ret
}