Files

32 lines
843 B
Go
Raw Permalink Normal View History

//go:build dev
// +build dev
package assetserver
import (
"net/http"
2021-12-03 10:25:38 +01:00
"strings"
)
/*
The assetserver for the dev mode.
Depending on the UserAgent it injects a websocket based IPC script into `index.html` or the default desktop IPC. The
default desktop IPC is injected when the webview accesses the devserver.
*/
func NewDevAssetServer(handler http.Handler, bindingsJSON string, servingFromDisk bool, logger Logger, runtime RuntimeAssets) (*AssetServer, error) {
2022-12-31 10:36:07 +11:00
result, err := NewAssetServerWithHandler(handler, bindingsJSON, servingFromDisk, logger, runtime)
2021-12-03 10:25:38 +01:00
if err != nil {
return nil, err
}
result.appendSpinnerToBody = true
result.ipcJS = func(req *http.Request) []byte {
if strings.Contains(req.UserAgent(), WailsUserAgentValue) {
2022-12-31 10:36:07 +11:00
return runtime.DesktopIPC()
}
2022-12-31 10:36:07 +11:00
return runtime.WebsocketIPC()
}
2021-12-03 10:25:38 +01:00
return result, nil
}