@@ -66,6 +66,13 @@ const connectH2 = require('./client-h2.js')
66
66
67
67
const kClosedResolve = Symbol ( 'kClosedResolve' )
68
68
69
+ function getPipelining ( client ) {
70
+ return client [ kPipelining ] ??
71
+ ( client [ kHTTPContext ] ?. version === 'h2' ? Infinity : null ) ??
72
+ ( client [ kHTTPContext ] ?. version === 'h1' ? Infinity : null ) ??
73
+ 0
74
+ }
75
+
69
76
/**
70
77
* @type {import('../../types/client.js').default }
71
78
*/
@@ -213,7 +220,7 @@ class Client extends DispatcherBase {
213
220
this [ kUrl ] = util . parseOrigin ( url )
214
221
this [ kConnector ] = connect
215
222
this [ kSocket ] = null
216
- this [ kPipelining ] = pipelining != null ? pipelining : 1
223
+ this [ kPipelining ] = pipelining
217
224
this [ kMaxHeadersSize ] = maxHeaderSize || http . maxHeaderSize
218
225
this [ kKeepAliveDefaultTimeout ] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout
219
226
this [ kKeepAliveMaxTimeout ] = keepAliveMaxTimeout == null ? 600e3 : keepAliveMaxTimeout
@@ -280,7 +287,7 @@ class Client extends DispatcherBase {
280
287
const socket = this [ kSocket ]
281
288
return (
282
289
( socket && ( socket [ kReset ] || socket [ kWriting ] || socket [ kBlocking ] ) ) ||
283
- ( this [ kSize ] >= ( this [ kPipelining ] || 1 ) ) ||
290
+ ( this [ kSize ] >= getPipelining ( this ) ) ||
284
291
this [ kPending ] > 0
285
292
)
286
293
}
@@ -564,10 +571,8 @@ function _resume (client, sync) {
564
571
return
565
572
}
566
573
567
- if ( client [ kHTTPContext ] ?. version === 'h1' ) {
568
- if ( client [ kRunning ] >= ( client [ kPipelining ] || 1 ) ) {
569
- return
570
- }
574
+ if ( client [ kRunning ] >= getPipelining ( client ) ) {
575
+ return
571
576
}
572
577
573
578
const request = client [ kQueue ] [ client [ kPendingIdx ] ]
0 commit comments