2025-11-05 17:04:23 -03:00

18 lines
456 B
JavaScript

import tls from "node:tls";
import net from "node:net";
import { promise } from "@xmpp/events";
import Socket from "@xmpp/tls/lib/Socket.js";
export function canUpgrade(socket) {
return socket instanceof net.Socket && !(socket instanceof tls.TLSSocket);
}
export async function upgrade(socket, options = {}) {
const tlsSocket = new Socket();
tlsSocket.connect({ socket, ...options });
await promise(tlsSocket, "connect");
return tlsSocket;
}