@@ -14,6 +14,18 @@ const createServer = (server, options) => {
1414 options . handleCommonErrors = true ;
1515 }
1616
17+ function prepareSocket ( socket , name ) {
18+ socket . setKeepAlive ( true ) ; // prevent idle timeout ECONNRESET
19+ if ( options . setNoDelay ) {
20+ socket . setNoDelay ( true ) ; // disable nagle algorithm
21+ }
22+ if ( server . timeout ) {
23+ socket . setTimeout ( server . timeout , ( ) => closeSocket ( socket ) ) ;
24+ }
25+ socket . addListener ( 'close' , ( ) => closeSocket ( socket ) ) ;
26+ socket . addListener ( 'error' , err => onError ( err , name , socket ) ) ;
27+ }
28+
1729 function closeSocket ( socket ) {
1830 for ( let s = socket ; s !== null ; s = s . _parent ) {
1931 s . unref ( ) ;
@@ -53,14 +65,7 @@ const createServer = (server, options) => {
5365 let bytesRead = 0 ;
5466 let proxyProtoLength ;
5567 let isProxyProto ;
56- socket . setKeepAlive ( true ) ; // prevent idle timeout ECONNRESET
57- if ( options . setNoDelay ) {
58- socket . setNoDelay ( true ) ; // disable nagle algorithm
59- }
60- if ( server . timeout ) {
61- socket . setTimeout ( server . timeout , ( ) => closeSocket ( socket ) ) ;
62- }
63- socket . addListener ( 'error' , err => onError ( err , 'proxyproto socket' , socket ) ) ;
68+ prepareSocket ( socket , 'proxyproto socket' ) ;
6469 socket . addListener ( 'data' , onData ) ;
6570 function onData ( buffer ) {
6671 socket . pause ( ) ;
@@ -117,18 +122,11 @@ const createServer = (server, options) => {
117122 configurable : true
118123 } ) ;
119124 } ) ;
120- socket . addListener ( 'error' , err => onError ( err , 'secure socket' , socket ) ) ;
121- socket . setKeepAlive ( true ) ; // prevent idle timeout ECONNRESET
122- if ( options . setNoDelay ) {
123- socket . setNoDelay ( true ) ; // disable nagle algorithm
124- }
125- if ( server . timeout ) {
126- socket . setTimeout ( server . timeout , ( ) => closeSocket ( socket ) ) ;
127- }
125+ prepareSocket ( socket , 'secure socket' ) ;
128126 } ) ;
129127 } else {
130128 server . on ( 'connection' , socket => {
131- socket . addListener ( 'error' , err => onError ( err , 'socket' ) ) ;
129+ prepareSocket ( socket , 'socket' ) ;
132130 } ) ;
133131 }
134132
0 commit comments