From 62b942649ed9541d75dbc779fbbe9cb6f7dc2b49 Mon Sep 17 00:00:00 2001 From: Jun Matsushita Date: Sun, 19 Sep 2021 21:58:50 +0200 Subject: [PATCH] Implement onConnect --- src/Node/HTTP.js | 10 ++++++++++ src/Node/HTTP.purs | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/src/Node/HTTP.js b/src/Node/HTTP.js index a059f40..aa2f72d 100644 --- a/src/Node/HTTP.js +++ b/src/Node/HTTP.js @@ -46,6 +46,16 @@ exports.listenSocket = function (server) { }; }; +exports.onConnect = function (server) { + return function (cb) { + return function () { + server.on("connect", function (req, socket, buffer) { + return cb(req)(socket)(buffer)(); + }); + }; + }; +}; + exports.onUpgrade = function (server) { return function (cb) { return function () { diff --git a/src/Node/HTTP.purs b/src/Node/HTTP.purs index 0c8c95a..589281b 100644 --- a/src/Node/HTTP.purs +++ b/src/Node/HTTP.purs @@ -10,6 +10,7 @@ module Node.HTTP , close , ListenOptions , listenSocket + , onConnect , onUpgrade , httpVersion @@ -70,6 +71,9 @@ type ListenOptions = -- | Listen on a unix socket. The specified callback will be run when setup is complete. foreign import listenSocket :: Server -> String -> Effect Unit -> Effect Unit +-- | Listen to `connect` events on the server +foreign import onConnect :: Server -> (Request -> Socket -> Buffer -> Effect Unit) -> Effect Unit + -- | Listen to `upgrade` events on the server foreign import onUpgrade :: Server -> (Request -> Socket -> Buffer -> Effect Unit) -> Effect Unit