5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-03 16:02:28 +08:00
wails/v2/internal/frontend/assetserver/assetserver_desktop.go
2021-08-01 22:14:56 +10:00

44 lines
834 B
Go

// +build desktop
package assetserver
import (
"embed"
"github.com/wailsapp/wails/v2/internal/frontend/runtime"
"net/http"
)
func (a *AssetServer) init(assets embed.FS) error {
var err error
a.assets, err = processAssets(assets)
if err != nil {
return err
}
indexHTML, err := a.assets.ReadFile("index.html")
if err != nil {
return err
}
a.indexFile, err = injectScript(string(indexHTML), "<script>"+runtime.RuntimeJS+"</script>")
if err != nil {
return err
}
return nil
}
func (a *AssetServer) Load(filename string) ([]byte, string, error) {
var content []byte
var err error
switch filename {
case "/":
content = a.indexFile
default:
content, err = a.assets.ReadFile(filename)
}
if err != nil {
return nil, "", err
}
mimeType := http.DetectContentType(content)
return content, mimeType, nil
}