@smithy/node-http-handler
Advanced tools
Comparing version
@@ -296,3 +296,3 @@ var __create = Object.create; | ||
} | ||
async handle(request, { abortSignal } = {}) { | ||
async handle(request, { abortSignal, requestTimeout } = {}) { | ||
if (!this.config) { | ||
@@ -398,4 +398,5 @@ this.config = await this.configProvider; | ||
} | ||
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; | ||
@@ -412,3 +413,3 @@ if (typeof httpAgent === "object" && "keepAlive" in httpAgent) { | ||
} | ||
writeRequestBodyPromise = writeRequestBody(req, request, this.config.requestTimeout).catch((e) => { | ||
writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout).catch((e) => { | ||
timeouts.forEach(timing.clearTimeout); | ||
@@ -602,3 +603,3 @@ return _reject(e); | ||
} | ||
async handle(request, { abortSignal } = {}) { | ||
async handle(request, { abortSignal, requestTimeout } = {}) { | ||
if (!this.config) { | ||
@@ -611,3 +612,4 @@ this.config = await this.configProvider; | ||
} | ||
const { requestTimeout, disableConcurrentStreams } = this.config; | ||
const { requestTimeout: configRequestTimeout, disableConcurrentStreams } = this.config; | ||
const effectiveRequestTimeout = requestTimeout ?? configRequestTimeout; | ||
return new Promise((_resolve, _reject) => { | ||
@@ -678,6 +680,6 @@ let fulfilled = false; | ||
}); | ||
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"; | ||
@@ -720,3 +722,3 @@ rejectWithDestroy(timeoutError); | ||
}); | ||
writeRequestBodyPromise = writeRequestBody(req, request, requestTimeout); | ||
writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout); | ||
}); | ||
@@ -723,0 +725,0 @@ } |
@@ -86,3 +86,3 @@ import { HttpResponse } from "@smithy/protocol-http"; | ||
} | ||
async handle(request, { abortSignal } = {}) { | ||
async handle(request, { abortSignal, requestTimeout } = {}) { | ||
if (!this.config) { | ||
@@ -183,4 +183,5 @@ this.config = await this.configProvider; | ||
} | ||
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; | ||
@@ -193,3 +194,3 @@ if (typeof httpAgent === "object" && "keepAlive" in httpAgent) { | ||
} | ||
writeRequestBodyPromise = writeRequestBody(req, request, this.config.requestTimeout).catch((e) => { | ||
writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout).catch((e) => { | ||
timeouts.forEach(timing.clearTimeout); | ||
@@ -196,0 +197,0 @@ return _reject(e); |
@@ -33,3 +33,3 @@ import { HttpResponse } from "@smithy/protocol-http"; | ||
} | ||
async handle(request, { abortSignal } = {}) { | ||
async handle(request, { abortSignal, requestTimeout } = {}) { | ||
if (!this.config) { | ||
@@ -42,3 +42,4 @@ this.config = await this.configProvider; | ||
} | ||
const { requestTimeout, disableConcurrentStreams } = this.config; | ||
const { requestTimeout: configRequestTimeout, disableConcurrentStreams } = this.config; | ||
const effectiveRequestTimeout = requestTimeout ?? configRequestTimeout; | ||
return new Promise((_resolve, _reject) => { | ||
@@ -109,6 +110,6 @@ let fulfilled = false; | ||
}); | ||
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"; | ||
@@ -150,3 +151,3 @@ rejectWithDestroy(timeoutError); | ||
}); | ||
writeRequestBodyPromise = writeRequestBody(req, request, requestTimeout); | ||
writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout); | ||
}); | ||
@@ -153,0 +154,0 @@ } |
@@ -40,3 +40,3 @@ import { HttpHandler, HttpRequest, HttpResponse } from "@smithy/protocol-http"; | ||
destroy(): void; | ||
handle(request: HttpRequest, { abortSignal }?: HttpHandlerOptions): Promise<{ | ||
handle(request: HttpRequest, { abortSignal, requestTimeout }?: HttpHandlerOptions): Promise<{ | ||
response: HttpResponse; | ||
@@ -43,0 +43,0 @@ }>; |
@@ -52,3 +52,3 @@ import { HttpHandler, HttpRequest, HttpResponse } from "@smithy/protocol-http"; | ||
destroy(): void; | ||
handle(request: HttpRequest, { abortSignal }?: HttpHandlerOptions): Promise<{ | ||
handle(request: HttpRequest, { abortSignal, requestTimeout }?: HttpHandlerOptions): Promise<{ | ||
response: HttpResponse; | ||
@@ -55,0 +55,0 @@ }>; |
@@ -40,3 +40,3 @@ import { HttpHandler, HttpRequest, HttpResponse } from "@smithy/protocol-http"; | ||
destroy(): void; | ||
handle(request: HttpRequest, { abortSignal }?: HttpHandlerOptions): Promise<{ | ||
handle(request: HttpRequest, { abortSignal, requestTimeout }?: HttpHandlerOptions): Promise<{ | ||
response: HttpResponse; | ||
@@ -43,0 +43,0 @@ }>; |
@@ -52,3 +52,3 @@ import { HttpHandler, HttpRequest, HttpResponse } from "@smithy/protocol-http"; | ||
destroy(): void; | ||
handle(request: HttpRequest, { abortSignal }?: HttpHandlerOptions): Promise<{ | ||
handle(request: HttpRequest, { abortSignal, requestTimeout }?: HttpHandlerOptions): Promise<{ | ||
response: HttpResponse; | ||
@@ -55,0 +55,0 @@ }>; |
{ | ||
"name": "@smithy/node-http-handler", | ||
"version": "4.0.6", | ||
"version": "4.1.0", | ||
"description": "Provides a way to make requests", | ||
@@ -5,0 +5,0 @@ "scripts": { |
94861
0.6%2077
0.19%