feat: frontend support.
This commit is contained in:
20
frontend/src/libcurl-init.ts
Normal file
20
frontend/src/libcurl-init.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import { libcurl } from "../public/libcurl_full.mjs";
|
||||
|
||||
let initialized = false;
|
||||
let initPromise: Promise<void> | null = null;
|
||||
|
||||
export async function initLibcurl(): Promise<void> {
|
||||
if (initialized) return;
|
||||
if (initPromise) return initPromise;
|
||||
initPromise = (async () => {
|
||||
const wsProto = location.protocol === "https:" ? "wss:" : "ws:";
|
||||
let wsUrl = `${wsProto}//${location.host}/wisp/`;
|
||||
libcurl.set_websocket(wsUrl);
|
||||
await libcurl.load_wasm("/libcurl.wasm");
|
||||
initialized = true;
|
||||
})();
|
||||
|
||||
return initPromise;
|
||||
}
|
||||
|
||||
export { libcurl };
|
||||
Reference in New Issue
Block a user