diff --git a/src/RequestExecutor/HttpRequestExecutor.ts b/src/RequestExecutor/HttpRequestExecutor.ts index 09e6abc0..916c5094 100644 --- a/src/RequestExecutor/HttpRequestExecutor.ts +++ b/src/RequestExecutor/HttpRequestExecutor.ts @@ -8,6 +8,7 @@ import { RequestExecutorOptions } from './RequestExecutorOptions'; import { NormalizeZlibDeflateTransformStream } from '../Utils/NormalizeZlibDeflateTransformStream'; import { CertificatesCache } from './CertificatesCache'; import { CertificatesResolver } from './CertificatesResolver'; +import { RequestExecutorConstants } from './RequestExecutorConstants'; import { inject, injectable } from 'tsyringe'; import iconv from 'iconv-lite'; import { safeParse } from 'fast-content-type-parse'; @@ -218,7 +219,8 @@ export class HttpRequestExecutor implements RequestExecutor { pfx: request.pfx, passphrase: request.passphrase, method: request.method, - rejectUnauthorized: false + rejectUnauthorized: false, + maxHeaderSize: RequestExecutorConstants.MAX_HEADERS_SIZE }; } diff --git a/src/RequestExecutor/RequestExecutorConstants.ts b/src/RequestExecutor/RequestExecutorConstants.ts new file mode 100644 index 00000000..f420f382 --- /dev/null +++ b/src/RequestExecutor/RequestExecutorConstants.ts @@ -0,0 +1,3 @@ +export class RequestExecutorConstants { + public static readonly MAX_HEADERS_SIZE = 32768; +} diff --git a/src/RequestExecutor/WsRequestExecutor.ts b/src/RequestExecutor/WsRequestExecutor.ts index 854a9903..ab418a8a 100644 --- a/src/RequestExecutor/WsRequestExecutor.ts +++ b/src/RequestExecutor/WsRequestExecutor.ts @@ -6,6 +6,7 @@ import { Helpers, logger, ProxyFactory } from '../Utils'; import { RequestExecutorOptions } from './RequestExecutorOptions'; import { CertificatesCache } from './CertificatesCache'; import { CertificatesResolver } from './CertificatesResolver'; +import { RequestExecutorConstants } from './RequestExecutorConstants'; import { inject, injectable } from 'tsyringe'; import WebSocket from 'ws'; import { once } from 'node:events'; @@ -180,7 +181,8 @@ export class WsRequestExecutor implements RequestExecutor { headers: this.normalizeHeaders(request.headers), ca: request.ca, pfx: request.pfx, - passphrase: request.passphrase + passphrase: request.passphrase, + maxHeaderSize: RequestExecutorConstants.MAX_HEADERS_SIZE }); const res: IncomingMessage = await this.connect(client); diff --git a/src/index.ts b/src/index.ts index add9404e..13a7cbd8 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,4 @@ process.env.UV_THREADPOOL_SIZE = String(1024); -process.env.NODE_OPTIONS = `${ - process.env.NODE_OPTIONS ?? '' -} --max-http-header-size=40960`.trim(); import 'reflect-metadata'; import { PollingScanStatus,