diff --git a/wasm/mix-fetch/internal-dev/index.html b/wasm/mix-fetch/internal-dev/index.html
index 6186b4b11c..563d629e94 100644
--- a/wasm/mix-fetch/internal-dev/index.html
+++ b/wasm/mix-fetch/internal-dev/index.html
@@ -136,6 +136,8 @@
/>
+
+
diff --git a/wasm/mix-fetch/internal-dev/index.js b/wasm/mix-fetch/internal-dev/index.js
index b7295d2d6a..823476b6ce 100644
--- a/wasm/mix-fetch/internal-dev/index.js
+++ b/wasm/mix-fetch/internal-dev/index.js
@@ -15,7 +15,7 @@
class WebWorkerClient {
worker = null;
- constructor() {
+ constructor(onComplete) {
this.worker = new Worker("./worker.js");
this.worker.onmessage = (ev) => {
@@ -26,6 +26,9 @@ class WebWorkerClient {
displayReceivedRawString(rawString);
break;
}
+ if(onComplete) {
+ onComplete();
+ }
}
};
}
@@ -48,51 +51,52 @@ class WebWorkerClient {
let client = null;
async function main() {
- client = new WebWorkerClient();
+ client = new WebWorkerClient(() => {
+ fetchButton.disabled = false;
+ });
+
+ const fetchButton = document.querySelector("#fetch-button");
+
+ fetchButton.onclick = function (e) {
+ if (fetchButton.disabled) {
+ alert("Processing... Please wait!");
+ return;
+ }
- const fetchButtonText = document.querySelector("#fetch-button");
- fetchButtonText.onclick = function (e) {
document.getElementById("output").innerHTML = "";
+
if ($("#fetch_payload").val().trim() === "") {
e.preventDefault();
let errorDiv = document.createElement("div");
let paragraph = document.createElement("p");
paragraph.style.color = "red";
- paragraph.innerText = "please enter a valid request!!";
+ paragraph.innerText = "Please enter a valid request!!";
errorDiv.appendChild(paragraph);
document.getElementById("output").appendChild(errorDiv);
return false;
}
- doFetch();
+ fetchButton.disabled = true;
+
+ client.doFetch($("#fetch_payload").val().trim());
};
}
async function doFetch() {
- const url = document.getElementById("fetch_payload").value;
- const returnJson = document.getElementById("returnJsonToggle").checked;
+ document
+ .getElementById("fetch-button")
+ .addEventListener("click", async () => {
+ const url = document.getElementById("fetch_payload").value;
+ //introduce toggle in the future
+ //const returnJson = document.getElementById("returnJsonToggle").checked;
- displaySend(`Fetching: ${url}`);
-
- try {
- const response = await fetch(url);
-
- if (!response.ok) {
- throw new Error(`HTTP error! Status: ${response.status}`);
- }
-
- let data;
- if (returnJson) {
- data = await response.json();
- } else {
- data = await response.text();
- }
-
- displayReceivedRawString(data);
- } catch (error) {
- console.error("There was a problem fetching the data:", error);
- }
+ try {
+ await client.doFetch(url);
+ } catch (error) {
+ console.error("There was a problem fetching the data:", error);
+ }
+ });
}
/**
diff --git a/wasm/mix-fetch/internal-dev/worker.js b/wasm/mix-fetch/internal-dev/worker.js
index 48d9d57372..352eabba85 100644
--- a/wasm/mix-fetch/internal-dev/worker.js
+++ b/wasm/mix-fetch/internal-dev/worker.js
@@ -181,11 +181,6 @@ async function nativeSetup() {
],
};
- console.log(extra);
- console.log(preferredGateway);
- console.log(validator);
- console.log(preferredNetworkRequester);
-
await setupMixFetch({
preferredNetworkRequester,
preferredGateway: preferredGateway,
@@ -311,7 +306,7 @@ async function main() {
goWasmSetLogging("trace");
// test mixFetch
- // await testMixFetch();
+ await testMixFetch();
//
// // run test on simplified and dedicated tester:
// // await testWithTester()