fix: connection closed error should be a rejected promise (#12575)

This commit is contained in:
Alex Rudenko
2024-06-12 13:49:16 +02:00
committed by GitHub
parent 74d9969744
commit e36ce8bee1

View File

@@ -18,7 +18,6 @@ import type {ConnectionTransport} from '../common/ConnectionTransport.js';
import {debug} from '../common/Debug.js';
import {TargetCloseError} from '../common/Errors.js';
import {EventEmitter} from '../common/EventEmitter.js';
import {assert} from '../util/assert.js';
import {createProtocolErrorMessage} from '../util/ErrorLike.js';
import {CdpCDPSession} from './CDPSession.js';
@@ -120,8 +119,9 @@ export class Connection extends EventEmitter<CDPSessionEvents> {
sessionId?: string,
options?: CommandOptions
): Promise<ProtocolMapping.Commands[T]['returnType']> {
assert(!this.#closed, 'Protocol error: Connection closed.');
if (this.#closed) {
return Promise.reject(new Error('Protocol error: Connection closed.'));
}
return callbacks.create(method, options?.timeout ?? this.#timeout, id => {
const stringifiedMessage = JSON.stringify({
method,