mirror of
https://github.com/ading2210/libcurl.js.git
synced 2025-05-15 07:10:01 -04:00
fix attempted document access in web workers
This commit is contained in:
parent
d0daa89f9c
commit
550d8759b1
3 changed files with 22 additions and 7 deletions
|
@ -51,6 +51,13 @@ document.addEventListener("libcurl_load", ()=>{
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Alternatively, the `libcurl.onload` callback can be used.
|
||||||
|
```js
|
||||||
|
libcurl.onload = () => {
|
||||||
|
console.log("libcurl.js ready!");
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Once loaded, there will be a `window.libcurl` object which includes all the API functions. The `libcurl.ready` property can also be used to know if the WASM has loaded.
|
Once loaded, there will be a `window.libcurl` object which includes all the API functions. The `libcurl.ready` property can also be used to know if the WASM has loaded.
|
||||||
|
|
||||||
### Making HTTP Requests:
|
### Making HTTP Requests:
|
||||||
|
|
|
@ -30,6 +30,7 @@ var event_loop = null;
|
||||||
var active_requests = 0;
|
var active_requests = 0;
|
||||||
var wasm_ready = false;
|
var wasm_ready = false;
|
||||||
var version_dict = null;
|
var version_dict = null;
|
||||||
|
var api = null;
|
||||||
const libcurl_version = "__library_version__";
|
const libcurl_version = "__library_version__";
|
||||||
|
|
||||||
function check_loaded(check_websocket) {
|
function check_loaded(check_websocket) {
|
||||||
|
@ -267,7 +268,7 @@ async function libcurl_fetch(url, params={}) {
|
||||||
|
|
||||||
function set_websocket_url(url) {
|
function set_websocket_url(url) {
|
||||||
websocket_url = url;
|
websocket_url = url;
|
||||||
if (!Module.websocket) {
|
if (!Module.websocket && ENVIRONMENT_IS_WEB) {
|
||||||
document.addEventListener("libcurl_load", () => {
|
document.addEventListener("libcurl_load", () => {
|
||||||
set_websocket_url(url);
|
set_websocket_url(url);
|
||||||
});
|
});
|
||||||
|
@ -292,8 +293,11 @@ function main() {
|
||||||
_init_curl();
|
_init_curl();
|
||||||
set_websocket_url(websocket_url);
|
set_websocket_url(websocket_url);
|
||||||
|
|
||||||
|
if (ENVIRONMENT_IS_WEB) {
|
||||||
let load_event = new Event("libcurl_load");
|
let load_event = new Event("libcurl_load");
|
||||||
document.dispatchEvent(load_event);
|
document.dispatchEvent(load_event);
|
||||||
|
}
|
||||||
|
api.onload();
|
||||||
}
|
}
|
||||||
|
|
||||||
function load_wasm(url) {
|
function load_wasm(url) {
|
||||||
|
@ -303,7 +307,7 @@ function load_wasm(url) {
|
||||||
}
|
}
|
||||||
|
|
||||||
Module.onRuntimeInitialized = main;
|
Module.onRuntimeInitialized = main;
|
||||||
return {
|
api = {
|
||||||
fetch: libcurl_fetch,
|
fetch: libcurl_fetch,
|
||||||
set_websocket: set_websocket_url,
|
set_websocket: set_websocket_url,
|
||||||
load_wasm: load_wasm,
|
load_wasm: load_wasm,
|
||||||
|
@ -319,7 +323,11 @@ return {
|
||||||
get stdout() {return out},
|
get stdout() {return out},
|
||||||
set stdout(callback) {out = callback},
|
set stdout(callback) {out = callback},
|
||||||
get stderr() {return err},
|
get stderr() {return err},
|
||||||
set stderr(callback) {err = callback}
|
set stderr(callback) {err = callback},
|
||||||
}
|
|
||||||
|
onload() {}
|
||||||
|
};
|
||||||
|
|
||||||
|
return api;
|
||||||
|
|
||||||
})()
|
})()
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "libcurl.js",
|
"name": "libcurl.js",
|
||||||
"version": "0.3.8",
|
"version": "0.3.9",
|
||||||
"description": "An experimental port of libcurl to WebAssembly for use in the browser.",
|
"description": "An experimental port of libcurl to WebAssembly for use in the browser.",
|
||||||
"main": "libcurl.mjs",
|
"main": "libcurl.mjs",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue