backend v4 half

This commit is contained in:
2025-07-18 09:20:40 +02:00
parent aba7a506ad
commit 725516ad6c
4183 changed files with 217684 additions and 75056 deletions
@@ -293,7 +293,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;
}
@@ -394,8 +394,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(
@@ -407,7 +408,7 @@ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler conf
})
);
}
writeRequestBodyPromise = writeRequestBody(req, request, this.config.requestTimeout).catch((e) => {
writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout).catch((e) => {
timeouts.forEach(timing.clearTimeout);
return _reject(e);
});
@@ -596,7 +597,7 @@ var NodeHttp2Handler = 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);
@@ -604,7 +605,8 @@ var NodeHttp2Handler = 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 = void 0;
@@ -670,10 +672,10 @@ var NodeHttp2Handler = 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);
});
@@ -711,7 +713,7 @@ var NodeHttp2Handler = 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) {