@@ -14,6 +14,18 @@ const createServer = (server, options) => {
14
14
options . handleCommonErrors = true ;
15
15
}
16
16
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
+
17
29
function closeSocket ( socket ) {
18
30
for ( let s = socket ; s !== null ; s = s . _parent ) {
19
31
s . unref ( ) ;
@@ -53,14 +65,7 @@ const createServer = (server, options) => {
53
65
let bytesRead = 0 ;
54
66
let proxyProtoLength ;
55
67
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' ) ;
64
69
socket . addListener ( 'data' , onData ) ;
65
70
function onData ( buffer ) {
66
71
socket . pause ( ) ;
@@ -117,18 +122,11 @@ const createServer = (server, options) => {
117
122
configurable : true
118
123
} ) ;
119
124
} ) ;
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' ) ;
128
126
} ) ;
129
127
} else {
130
128
server . on ( 'connection' , socket => {
131
- socket . addListener ( 'error' , err => onError ( err , 'socket' ) ) ;
129
+ prepareSocket ( socket , 'socket' ) ;
132
130
} ) ;
133
131
}
134
132
0 commit comments