backend v4 half
This commit is contained in:
Generated
Vendored
+4
-3
@@ -83,7 +83,7 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
||||
this.config?.httpAgent?.destroy();
|
||||
this.config?.httpsAgent?.destroy();
|
||||
}
|
||||
async handle(request, { abortSignal } = {}) {
|
||||
async handle(request, { abortSignal, requestTimeout } = {}) {
|
||||
if (!this.config) {
|
||||
this.config = await this.configProvider;
|
||||
}
|
||||
@@ -179,8 +179,9 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
||||
abortSignal.onabort = onAbort;
|
||||
}
|
||||
}
|
||||
const effectiveRequestTimeout = requestTimeout ?? this.config.requestTimeout;
|
||||
timeouts.push(setConnectionTimeout(req, reject, this.config.connectionTimeout));
|
||||
timeouts.push(setSocketTimeout(req, reject, this.config.requestTimeout));
|
||||
timeouts.push(setSocketTimeout(req, reject, effectiveRequestTimeout));
|
||||
const httpAgent = nodeHttpsOptions.agent;
|
||||
if (typeof httpAgent === "object" && "keepAlive" in httpAgent) {
|
||||
timeouts.push(setSocketKeepAlive(req, {
|
||||
@@ -188,7 +189,7 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
|
||||
keepAliveMsecs: httpAgent.keepAliveMsecs,
|
||||
}));
|
||||
}
|
||||
writeRequestBodyPromise = writeRequestBody(req, request, this.config.requestTimeout).catch((e) => {
|
||||
writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout).catch((e) => {
|
||||
timeouts.forEach(timing.clearTimeout);
|
||||
return _reject(e);
|
||||
});
|
||||
|
||||
Generated
Vendored
+7
-6
@@ -30,7 +30,7 @@ export class NodeHttp2Handler {
|
||||
destroy() {
|
||||
this.connectionManager.destroy();
|
||||
}
|
||||
async handle(request, { abortSignal } = {}) {
|
||||
async handle(request, { abortSignal, requestTimeout } = {}) {
|
||||
if (!this.config) {
|
||||
this.config = await this.configProvider;
|
||||
this.connectionManager.setDisableConcurrentStreams(this.config.disableConcurrentStreams || false);
|
||||
@@ -38,7 +38,8 @@ export class NodeHttp2Handler {
|
||||
this.connectionManager.setMaxConcurrentStreams(this.config.maxConcurrentStreams);
|
||||
}
|
||||
}
|
||||
const { requestTimeout, disableConcurrentStreams } = this.config;
|
||||
const { requestTimeout: configRequestTimeout, disableConcurrentStreams } = this.config;
|
||||
const effectiveRequestTimeout = requestTimeout ?? configRequestTimeout;
|
||||
return new Promise((_resolve, _reject) => {
|
||||
let fulfilled = false;
|
||||
let writeRequestBodyPromise = undefined;
|
||||
@@ -104,10 +105,10 @@ export class NodeHttp2Handler {
|
||||
this.connectionManager.deleteSession(authority, session);
|
||||
}
|
||||
});
|
||||
if (requestTimeout) {
|
||||
req.setTimeout(requestTimeout, () => {
|
||||
if (effectiveRequestTimeout) {
|
||||
req.setTimeout(effectiveRequestTimeout, () => {
|
||||
req.close();
|
||||
const timeoutError = new Error(`Stream timed out because of no activity for ${requestTimeout} ms`);
|
||||
const timeoutError = new Error(`Stream timed out because of no activity for ${effectiveRequestTimeout} ms`);
|
||||
timeoutError.name = "TimeoutError";
|
||||
rejectWithDestroy(timeoutError);
|
||||
});
|
||||
@@ -144,7 +145,7 @@ export class NodeHttp2Handler {
|
||||
rejectWithDestroy(new Error("Unexpected error: http2 request did not get a response"));
|
||||
}
|
||||
});
|
||||
writeRequestBodyPromise = writeRequestBody(req, request, requestTimeout);
|
||||
writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout);
|
||||
});
|
||||
}
|
||||
updateHttpClientConfig(key, value) {
|
||||
|
||||
Reference in New Issue
Block a user