diff --git a/package-lock.json b/package-lock.json index e58a7bdfa8..5868e58221 100644 --- a/package-lock.json +++ b/package-lock.json @@ -57,7 +57,7 @@ "mime": "^3.0.0", "ncp": "^2.0.0", "node-stream-zip": "^1.15.0", - "proxy": "^1.0.2", + "proxy": "^2.1.1", "react": "^18.1.0", "react-dom": "^18.1.0", "socksv5": "0.0.6", @@ -2281,9 +2281,10 @@ "dev": true }, "node_modules/args": { - "version": "5.0.1", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/args/-/args-5.0.3.tgz", + "integrity": "sha512-h6k/zfFgusnv3i5TU08KQkVKuCPBtL/PWQbWkHUxvJrZ2nAyeaUupneemcrgn1xmqxPQsPIzwkUhOpoqPDRZuA==", "dev": true, - "license": "MIT", "dependencies": { "camelcase": "5.0.0", "chalk": "2.4.2", @@ -2491,7 +2492,9 @@ "license": "MIT" }, "node_modules/basic-auth-parser": { - "version": "0.0.2", + "version": "0.0.2-1", + "resolved": "https://registry.npmjs.org/basic-auth-parser/-/basic-auth-parser-0.0.2-1.tgz", + "integrity": "sha512-GFj8iVxo9onSU6BnnQvVwqvxh60UcSHJEDnIk3z4B6iOjsKSmqe+ibW0Rsz7YO7IE1HG3D3tqCNIidP46SZVdQ==", "dev": true }, "node_modules/boolean": { @@ -2613,8 +2616,9 @@ }, "node_modules/camelcase": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -5205,8 +5209,9 @@ }, "node_modules/leven": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -5477,8 +5482,9 @@ }, "node_modules/mri": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.4.tgz", + "integrity": "sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -6002,16 +6008,17 @@ "optional": true }, "node_modules/proxy": { - "version": "1.0.2", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/proxy/-/proxy-2.1.1.tgz", + "integrity": "sha512-nLgd7zdUAOpB3ZO/xCkU8gy74UER7P0aihU8DkUsDS5ZoFwVCX7u8dy+cv5tVK8UaB/yminU1GiLWE26TKPYpg==", "dev": true, - "license": "MIT", "dependencies": { - "args": "5.0.1", - "basic-auth-parser": "0.0.2", - "debug": "^4.1.1" + "args": "^5.0.3", + "basic-auth-parser": "0.0.2-1", + "debug": "^4.3.4" }, - "bin": { - "proxy": "bin/proxy.js" + "engines": { + "node": ">= 14" } }, "node_modules/pump": { @@ -9805,7 +9812,9 @@ "dev": true }, "args": { - "version": "5.0.1", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/args/-/args-5.0.3.tgz", + "integrity": "sha512-h6k/zfFgusnv3i5TU08KQkVKuCPBtL/PWQbWkHUxvJrZ2nAyeaUupneemcrgn1xmqxPQsPIzwkUhOpoqPDRZuA==", "dev": true, "requires": { "camelcase": "5.0.0", @@ -9963,7 +9972,9 @@ "dev": true }, "basic-auth-parser": { - "version": "0.0.2", + "version": "0.0.2-1", + "resolved": "https://registry.npmjs.org/basic-auth-parser/-/basic-auth-parser-0.0.2-1.tgz", + "integrity": "sha512-GFj8iVxo9onSU6BnnQvVwqvxh60UcSHJEDnIk3z4B6iOjsKSmqe+ibW0Rsz7YO7IE1HG3D3tqCNIidP46SZVdQ==", "dev": true }, "boolean": { @@ -10042,6 +10053,8 @@ }, "camelcase": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", "dev": true }, "caniuse-lite": { @@ -11752,6 +11765,8 @@ }, "leven": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==", "dev": true }, "levn": { @@ -11940,6 +11955,8 @@ }, "mri": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.4.tgz", + "integrity": "sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w==", "dev": true }, "ms": { @@ -12296,12 +12313,14 @@ "optional": true }, "proxy": { - "version": "1.0.2", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/proxy/-/proxy-2.1.1.tgz", + "integrity": "sha512-nLgd7zdUAOpB3ZO/xCkU8gy74UER7P0aihU8DkUsDS5ZoFwVCX7u8dy+cv5tVK8UaB/yminU1GiLWE26TKPYpg==", "dev": true, "requires": { - "args": "5.0.1", - "basic-auth-parser": "0.0.2", - "debug": "^4.1.1" + "args": "^5.0.3", + "basic-auth-parser": "0.0.2-1", + "debug": "^4.3.4" } }, "pump": { diff --git a/package.json b/package.json index 0086bed859..8edcc4c874 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "mime": "^3.0.0", "ncp": "^2.0.0", "node-stream-zip": "^1.15.0", - "proxy": "^1.0.2", + "proxy": "^2.1.1", "react": "^18.1.0", "react-dom": "^18.1.0", "socksv5": "0.0.6", diff --git a/tests/config/proxy.ts b/tests/config/proxy.ts index b3eeb558a8..2a5e1d4a9c 100644 --- a/tests/config/proxy.ts +++ b/tests/config/proxy.ts @@ -14,9 +14,10 @@ * limitations under the License. */ -import type { IncomingMessage, Server } from 'http'; +import type { IncomingMessage } from 'http'; import type { Socket } from 'net'; -import createProxy from 'proxy'; +import type { ProxyServer } from 'proxy'; +import { createProxy } from 'proxy'; export class TestProxy { readonly PORT: number; @@ -25,7 +26,7 @@ export class TestProxy { connectHosts: string[] = []; requestUrls: string[] = []; - private readonly _server: Server; + private readonly _server: ProxyServer; private readonly _sockets = new Set(); private _handlers: { event: string, handler: (...args: any[]) => void }[] = []; @@ -66,11 +67,11 @@ export class TestProxy { } setAuthHandler(handler: (req: IncomingMessage) => boolean) { - (this._server as any).authenticate = (req: IncomingMessage, callback) => { + this._server.authenticate = (req: IncomingMessage) => { try { - callback(null, handler(req)); + return handler(req); } catch (e) { - callback(e, false); + return false; } }; } @@ -81,7 +82,7 @@ export class TestProxy { for (const { event, handler } of this._handlers) this._server.removeListener(event, handler); this._handlers = []; - (this._server as any).authenticate = undefined; + this._server.authenticate = undefined; } private _prependHandler(event: string, handler: (...args: any[]) => void) {