aboutsummaryrefslogtreecommitdiff
path: root/test/js/node/tls/node-tls-connect.test.ts
diff options
context:
space:
mode:
authorGravatar Ciro Spaciari <ciro.spaciari@gmail.com> 2023-07-03 16:19:50 -0300
committerGravatar GitHub <noreply@github.com> 2023-07-03 12:19:50 -0700
commita7a01bd52f20e7908f06d4de9a1814902b838a4b (patch)
tree7c06354f17b98cb09eeb33c31dde70cb053bfa72 /test/js/node/tls/node-tls-connect.test.ts
parent48d726bfd0701f8e33442f2c7075dc8191a2ccb4 (diff)
downloadbun-a7a01bd52f20e7908f06d4de9a1814902b838a4b.tar.gz
bun-a7a01bd52f20e7908f06d4de9a1814902b838a4b.tar.zst
bun-a7a01bd52f20e7908f06d4de9a1814902b838a4b.zip
[tls] add socket parameter, setServername and ALPNprotocols support (#3457)
* add socket parameter support * refactor #socket * add test and more fixs * some fixes * bump uws * handlers fix * more fixes * fix node net and node tls tests * fix duplicate port * fix deinit on CallbackJobs * cleanup * add setImmediate repro * add test to setImmediate * this is necessary? * fix prependOnce on native listener * try to findout the error on nodemailer CI * show error message * Update bun.lockb * prettier * Use exact versions of packages * add alpnProtocol support * update * emit error when connect fails on net.Socket * format * fix _write and cleanup * fixup * fix connect, add alpn test * fix socket.io * add socket parameter to TLSSocket * add TLSSocket socket first parameter * fixup and _start * remove flask tests * fmt --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'test/js/node/tls/node-tls-connect.test.ts')
-rw-r--r--test/js/node/tls/node-tls-connect.test.ts32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/js/node/tls/node-tls-connect.test.ts b/test/js/node/tls/node-tls-connect.test.ts
new file mode 100644
index 000000000..791dba88a
--- /dev/null
+++ b/test/js/node/tls/node-tls-connect.test.ts
@@ -0,0 +1,32 @@
+import { TLSSocket, connect } from "tls";
+
+it("should work with alpnProtocols", done => {
+ try {
+ let socket: TLSSocket | null = connect({
+ ALPNProtocols: ["http/1.1"],
+ host: "bun.sh",
+ servername: "bun.sh",
+ port: 443,
+ rejectUnauthorized: false,
+ });
+
+ const timeout = setTimeout(() => {
+ socket?.end();
+ done("timeout");
+ }, 3000);
+
+ socket.on("error", err => {
+ clearTimeout(timeout);
+ done(err);
+ });
+
+ socket.on("secureConnect", () => {
+ clearTimeout(timeout);
+ done(socket?.alpnProtocol === "http/1.1" ? undefined : "alpnProtocol is not http/1.1");
+ socket?.end();
+ socket = null;
+ });
+ } catch (err) {
+ done(err);
+ }
+});