mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-03 05:19:11 +08:00
33 lines
897 B
Go
33 lines
897 B
Go
//go:build dev
|
|
// +build dev
|
|
|
|
package assetserver
|
|
|
|
import (
|
|
"net/http"
|
|
"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, wsHandler http.Handler, bindingsJSON string, servingFromDisk bool, logger Logger, runtime RuntimeAssets) (*AssetServer, error) {
|
|
result, err := NewAssetServerWithHandler(handler, bindingsJSON, servingFromDisk, logger, runtime)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
result.wsHandler = wsHandler
|
|
result.appendSpinnerToBody = true
|
|
result.ipcJS = func(req *http.Request) []byte {
|
|
if strings.Contains(req.UserAgent(), WailsUserAgentValue) {
|
|
return runtime.DesktopIPC()
|
|
}
|
|
return runtime.WebsocketIPC()
|
|
}
|
|
|
|
return result, nil
|
|
}
|