@@ -10,6 +10,7 @@ import { Agent as hsAgent, request as hsRequest } from "https";
1010import { NODEJS_TIMEOUT_ERROR_CODES } from "./constants" ;
1111import { getTransformedHeaders } from "./get-transformed-headers" ;
1212import { setConnectionTimeout } from "./set-connection-timeout" ;
13+ import { setRequestTimeout } from "./set-request-timeout" ;
1314import { setSocketKeepAlive } from "./set-socket-keep-alive" ;
1415import { setSocketTimeout } from "./set-socket-timeout" ;
1516import { timing } from "./timing" ;
@@ -124,15 +125,24 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
124125 }
125126
126127 private resolveDefaultConfig ( options ?: NodeHttpHandlerOptions | void ) : ResolvedNodeHttpHandlerConfig {
127- const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent } =
128- options || { } ;
128+ const {
129+ requestTimeout,
130+ connectionTimeout,
131+ socketTimeout,
132+ socketAcquisitionWarningTimeout,
133+ httpAgent,
134+ httpsAgent,
135+ throwOnRequestTimeout,
136+ } = options || { } ;
129137 const keepAlive = true ;
130138 const maxSockets = 50 ;
131139
132140 return {
133141 connectionTimeout,
134- requestTimeout : requestTimeout ?? socketTimeout ,
142+ requestTimeout,
143+ socketTimeout,
135144 socketAcquisitionWarningTimeout,
145+ throwOnRequestTimeout,
136146 httpAgent : ( ( ) => {
137147 if ( httpAgent instanceof hAgent || typeof ( httpAgent as hAgent ) ?. destroy === "function" ) {
138148 return httpAgent as hAgent ;
@@ -288,7 +298,16 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
288298 // are longer than a few seconds. This avoids slowing down faster operations.
289299 const effectiveRequestTimeout = requestTimeout ?? this . config . requestTimeout ;
290300 timeouts . push ( setConnectionTimeout ( req , reject , this . config . connectionTimeout ) ) ;
291- timeouts . push ( setSocketTimeout ( req , reject , effectiveRequestTimeout ) ) ;
301+ timeouts . push (
302+ setRequestTimeout (
303+ req ,
304+ reject ,
305+ effectiveRequestTimeout ,
306+ this . config . throwOnRequestTimeout ,
307+ this . config . logger ?? console
308+ )
309+ ) ;
310+ timeouts . push ( setSocketTimeout ( req , reject , this . config . socketTimeout ) ) ;
292311
293312 // Workaround for bug report in Node.js https://github.com/nodejs/node/issues/47137
294313 const httpAgent = nodeHttpsOptions . agent ;
0 commit comments