in src/firefox/rdp-client.js [188:227]
_handleMessage(rdpData) {
if (rdpData.from == null) {
if (rdpData.error) {
this.emit('rdp-error', rdpData);
return;
}
this.emit(
'error',
new Error(
`Received an RDP message without a sender actor: ${JSON.stringify(
rdpData,
)}`,
),
);
return;
}
if (UNSOLICITED_EVENTS.has(rdpData.type)) {
this.emit('unsolicited-event', rdpData);
return;
}
if (this._active.has(rdpData.from)) {
const deferred = this._active.get(rdpData.from);
this._active.delete(rdpData.from);
if (rdpData.error) {
deferred?.reject(rdpData);
} else {
deferred?.resolve(rdpData);
}
this._flushPendingRequests();
return;
}
this.emit(
'error',
new Error(`Unexpected RDP message received: ${JSON.stringify(rdpData)}`),
);
}