diff --git a/packages/playwright-core/src/server/socksClientCertificatesInterceptor.ts b/packages/playwright-core/src/server/socksClientCertificatesInterceptor.ts index b1f7046aa2..2dd900bf89 100644 --- a/packages/playwright-core/src/server/socksClientCertificatesInterceptor.ts +++ b/packages/playwright-core/src/server/socksClientCertificatesInterceptor.ts @@ -169,7 +169,10 @@ class SocksProxyConnection { this.target.removeListener('close', this._targetCloseEventListener); // @ts-expect-error const session: http2.ServerHttp2Session = http2.performServerHandshake(internalTLS); - session.on('error', () => this._targetCloseEventListener()); + session.on('error', () => { + this.target.destroy(); + this._targetCloseEventListener(); + }); session.once('stream', (stream: http2.ServerHttp2Stream) => { stream.respond({ 'content-type': 'text/html', diff --git a/tests/library/client-certificates.spec.ts b/tests/library/client-certificates.spec.ts index 0381ad8f5c..807af5154c 100644 --- a/tests/library/client-certificates.spec.ts +++ b/tests/library/client-certificates.spec.ts @@ -698,7 +698,7 @@ test.describe('browser', () => { const page = await context.newPage(); // This was triggering an unhandled error before. - await page.goto(serverUrl).catch(e => e); + await page.goto(serverUrl).catch(() => {}); await context.close(); await new Promise(resolve => server.close(() => resolve()));