diff --git a/cmd/wasm/main.go b/cmd/wasm/main.go index ed92f49..9baa029 100644 --- a/cmd/wasm/main.go +++ b/cmd/wasm/main.go @@ -505,7 +505,17 @@ func cpH(onIncomingFile js.Value, downloadFile js.Value) http.HandlerFunc { }), } - allow := onIncomingFile.Invoke(peer, fiName, r.ContentLength).Bool() + var allow bool + onIncomingFile.Invoke(peer, fiName, r.ContentLength). + Call("then", js.FuncOf(func(this js.Value, args []js.Value) any { + allow = args[0].Bool() + return nil + })). + Call("catch", js.FuncOf(func(this js.Value, args []js.Value) any { + fmt.Println("onIncomingFile failed:", args[0].String()) + allow = false + return nil + })) if !allow { w.WriteHeader(http.StatusForbidden) w.Write([]byte("File transfer was denied")) diff --git a/site/types/wush_js.d.ts b/site/types/wush_js.d.ts index 79bbaec..8b784db 100644 --- a/site/types/wush_js.d.ts +++ b/site/types/wush_js.d.ts @@ -60,7 +60,7 @@ declare global { peer: Peer, filename: string, sizeBytes: number, - ) => boolean; + ) => Promise; downloadFile: ( peer: Peer, filename: string,