Source code

Revision control

Copy as Markdown

Other Tools

self.onconnect = (e) => {
const port = e.ports[0];
port.onmessage = async (e) => {
const url = e.data;
try {
const ws = new WebSocket(url);
const result = await new Promise(resolve => {
ws.onopen = () => {
ws.close();
resolve(true);
};
ws.onerror = () => resolve(false);
});
port.postMessage({url: url, success: result});
} catch (err) {
port.postMessage({url: url, success: false, error: err.name});
}
};
};