File tree Expand file tree Collapse file tree 3 files changed +17
-0
lines changed
Expand file tree Collapse file tree 3 files changed +17
-0
lines changed Original file line number Diff line number Diff line change 2222 "purescript-foreign-object" : " master" ,
2323 "purescript-maybe" : " master" ,
2424 "purescript-node-buffer" : " master" ,
25+ "purescript-node-net" : " master" ,
2526 "purescript-node-streams" : " master" ,
2627 "purescript-node-url" : " master" ,
2728 "purescript-nullable" : " main" ,
Original file line number Diff line number Diff line change @@ -46,6 +46,16 @@ exports.listenSocket = function (server) {
4646 } ;
4747} ;
4848
49+ exports . onUpgrade = function ( server ) {
50+ return function ( cb ) {
51+ return function ( ) {
52+ server . on ( "upgrade" , function ( req , socket , buffer ) {
53+ return cb ( req ) ( socket ) ( buffer ) ( ) ;
54+ } ) ;
55+ } ;
56+ } ;
57+ } ;
58+
4959exports . setHeader = function ( res ) {
5060 return function ( key ) {
5161 return function ( value ) {
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ module Node.HTTP
1010 , close
1111 , ListenOptions
1212 , listenSocket
13+ , onUpgrade
1314
1415 , httpVersion
1516 , requestHeaders
@@ -30,6 +31,8 @@ import Data.Maybe (Maybe)
3031import Data.Nullable (Nullable , toNullable )
3132import Effect (Effect )
3233import Foreign.Object (Object )
34+ import Node.Buffer (Buffer )
35+ import Node.Net.Socket (Socket )
3336import Node.Stream (Writable , Readable )
3437import Unsafe.Coerce (unsafeCoerce )
3538
@@ -67,6 +70,9 @@ type ListenOptions =
6770-- | Listen on a unix socket. The specified callback will be run when setup is complete.
6871foreign import listenSocket :: Server -> String -> Effect Unit -> Effect Unit
6972
73+ -- | Listen to `upgrade` events on the server
74+ foreign import onUpgrade :: Server -> (Request -> Socket -> Buffer -> Effect Unit ) -> Effect Unit
75+
7076-- | Get the request HTTP version
7177httpVersion :: Request -> String
7278httpVersion = _.httpVersion <<< unsafeCoerce
You can’t perform that action at this time.
0 commit comments