mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-02 03:01:45 +08:00

* [assetserver, darwin] Fix copying request headers by using strdup * [assetserver, linux] Fake some basic http headers for legacy webkit2 versions to support proxying requests to other servers This fixes the devserver on v2 for newer vite versions that use the custom scheme. * [v2, windows] 304 responses are going to hang the WebView2 so prevent them by removing cache related headers in the request. * [v2, dev] Now uses the custom schemes `wails://` on macOS and Linux for all Vite versions. Prevent missing reload after fast multiple savings on Linux and Windows.
32 lines
843 B
Go
32 lines
843 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, 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.appendSpinnerToBody = true
|
|
result.ipcJS = func(req *http.Request) []byte {
|
|
if strings.Contains(req.UserAgent(), WailsUserAgentValue) {
|
|
return runtime.DesktopIPC()
|
|
}
|
|
return runtime.WebsocketIPC()
|
|
}
|
|
|
|
return result, nil
|
|
}
|