test: update 'proxy' dependency to v2 (#28895)

This won't fix it yet, but prepare for a smaller version bump once the
upstream fix has been merged.
https://github.com/microsoft/playwright/issues/28701.
This commit is contained in:
Max Schmitt 2024-01-08 19:57:46 +01:00 committed by GitHub
parent 1d8c6d4760
commit 0f3bd9835f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 48 additions and 28 deletions

59
package-lock.json generated
View file

@ -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": {

View file

@ -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",

View file

@ -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<Socket>();
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) {