diff --git a/index.html b/index.html index 29634bb..694a79e 100644 --- a/index.html +++ b/index.html @@ -61,6 +61,8 @@ role="tabpanel" aria-labelledby="tab-web-api" > +
+ diff --git a/js/web-server.js b/js/web-server.js new file mode 100644 index 0000000..a555dd5 --- /dev/null +++ b/js/web-server.js @@ -0,0 +1,56 @@ +const fetches = [ + "/index.html", + "/webxdc.js", + "/", + "/nonexistent.lol", + "https://delta.chat", +].map((url) => [url, fetch(url)]); + +window.addEventListener("load", async () => { + document + .getElementById("web-server-output") + .append( + createHeader("Web Server"), + h( + "div", + { class: "container" }, + h("p", {}, "Current URL: ", h("code", {}, location.href)), + h( + "table", + {}, + h( + "tbody", + {}, + ...(await Promise.all( + fetches.map(async ([url, fetchPromise]) => + h( + "tr", + { border: "1px solid gray" }, + h( + "td", + { style: "padding: 0.125rem 0.5rem;" }, + h("code", {}, url) + ), + h("td", {}, await formatFetch(fetchPromise)) + ) + ) + )) + ) + ) + ) + ); +}); + +/** + * @param {ReturnType