@@ -46,33 +46,31 @@ function Agent(options) {
46
46
47
47
EventEmitter . call ( this ) ;
48
48
49
- var self = this ;
49
+ this . defaultPort = 80 ;
50
+ this . protocol = 'http:' ;
50
51
51
- self . defaultPort = 80 ;
52
- self . protocol = 'http:' ;
53
-
54
- self . options = util . _extend ( { } , options ) ;
52
+ this . options = util . _extend ( { } , options ) ;
55
53
56
54
// don't confuse net and make it think that we're connecting to a pipe
57
- self . options . path = null ;
58
- self . requests = { } ;
59
- self . sockets = { } ;
60
- self . freeSockets = { } ;
61
- self . keepAliveMsecs = self . options . keepAliveMsecs || 1000 ;
62
- self . keepAlive = self . options . keepAlive || false ;
63
- self . maxSockets = self . options . maxSockets || Agent . defaultMaxSockets ;
64
- self . maxFreeSockets = self . options . maxFreeSockets || 256 ;
65
-
66
- self . on ( 'free' , function ( socket , options ) {
67
- var name = self . getName ( options ) ;
55
+ this . options . path = null ;
56
+ this . requests = { } ;
57
+ this . sockets = { } ;
58
+ this . freeSockets = { } ;
59
+ this . keepAliveMsecs = this . options . keepAliveMsecs || 1000 ;
60
+ this . keepAlive = this . options . keepAlive || false ;
61
+ this . maxSockets = this . options . maxSockets || Agent . defaultMaxSockets ;
62
+ this . maxFreeSockets = this . options . maxFreeSockets || 256 ;
63
+
64
+ this . on ( 'free' , ( socket , options ) => {
65
+ var name = this . getName ( options ) ;
68
66
debug ( 'agent.on(free)' , name ) ;
69
67
70
68
if ( socket . writable &&
71
- self . requests [ name ] && self . requests [ name ] . length ) {
72
- self . requests [ name ] . shift ( ) . onSocket ( socket ) ;
73
- if ( self . requests [ name ] . length === 0 ) {
69
+ this . requests [ name ] && this . requests [ name ] . length ) {
70
+ this . requests [ name ] . shift ( ) . onSocket ( socket ) ;
71
+ if ( this . requests [ name ] . length === 0 ) {
74
72
// don't leak
75
- delete self . requests [ name ] ;
73
+ delete this . requests [ name ] ;
76
74
}
77
75
} else {
78
76
// If there are no pending requests, then put it in
@@ -81,21 +79,21 @@ function Agent(options) {
81
79
if ( req &&
82
80
req . shouldKeepAlive &&
83
81
socket . writable &&
84
- self . keepAlive ) {
85
- var freeSockets = self . freeSockets [ name ] ;
82
+ this . keepAlive ) {
83
+ var freeSockets = this . freeSockets [ name ] ;
86
84
var freeLen = freeSockets ? freeSockets . length : 0 ;
87
85
var count = freeLen ;
88
- if ( self . sockets [ name ] )
89
- count += self . sockets [ name ] . length ;
86
+ if ( this . sockets [ name ] )
87
+ count += this . sockets [ name ] . length ;
90
88
91
- if ( count > self . maxSockets || freeLen >= self . maxFreeSockets ) {
89
+ if ( count > this . maxSockets || freeLen >= this . maxFreeSockets ) {
92
90
socket . destroy ( ) ;
93
- } else if ( self . keepSocketAlive ( socket ) ) {
91
+ } else if ( this . keepSocketAlive ( socket ) ) {
94
92
freeSockets = freeSockets || [ ] ;
95
- self . freeSockets [ name ] = freeSockets ;
93
+ this . freeSockets [ name ] = freeSockets ;
96
94
socket [ async_id_symbol ] = - 1 ;
97
95
socket . _httpMessage = null ;
98
- self . removeSocket ( socket , options ) ;
96
+ this . removeSocket ( socket , options ) ;
99
97
freeSockets . push ( socket ) ;
100
98
} else {
101
99
// Implementation doesn't want to keep socket alive
@@ -201,9 +199,8 @@ Agent.prototype.addRequest = function addRequest(req, options, port/*legacy*/,
201
199
} ;
202
200
203
201
Agent . prototype . createSocket = function createSocket ( req , options , cb ) {
204
- var self = this ;
205
202
options = util . _extend ( { } , options ) ;
206
- util . _extend ( options , self . options ) ;
203
+ util . _extend ( options , this . options ) ;
207
204
if ( options . socketPath )
208
205
options . path = options . socketPath ;
209
206
@@ -215,30 +212,31 @@ Agent.prototype.createSocket = function createSocket(req, options, cb) {
215
212
}
216
213
}
217
214
218
- var name = self . getName ( options ) ;
215
+ var name = this . getName ( options ) ;
219
216
options . _agentKey = name ;
220
217
221
218
debug ( 'createConnection' , name , options ) ;
222
219
options . encoding = null ;
223
220
var called = false ;
224
- const newSocket = self . createConnection ( options , oncreate ) ;
225
- if ( newSocket )
226
- oncreate ( null , newSocket ) ;
227
221
228
- function oncreate ( err , s ) {
222
+ const oncreate = ( err , s ) => {
229
223
if ( called )
230
224
return ;
231
225
called = true ;
232
226
if ( err )
233
227
return cb ( err ) ;
234
- if ( ! self . sockets [ name ] ) {
235
- self . sockets [ name ] = [ ] ;
228
+ if ( ! this . sockets [ name ] ) {
229
+ this . sockets [ name ] = [ ] ;
236
230
}
237
- self . sockets [ name ] . push ( s ) ;
238
- debug ( 'sockets' , name , self . sockets [ name ] . length ) ;
239
- installListeners ( self , s , options ) ;
231
+ this . sockets [ name ] . push ( s ) ;
232
+ debug ( 'sockets' , name , this . sockets [ name ] . length ) ;
233
+ installListeners ( this , s , options ) ;
240
234
cb ( null , s ) ;
241
- }
235
+ } ;
236
+
237
+ const newSocket = this . createConnection ( options , oncreate ) ;
238
+ if ( newSocket )
239
+ oncreate ( null , newSocket ) ;
242
240
} ;
243
241
244
242
function installListeners ( agent , s , options ) {
0 commit comments