mirror of https://github.com/OpenVidu/openvidu.git
openvidu-browser: log error on filter event handlers when missing (https://github.com/OpenVidu/openvidu/pull/567)
parent
569a8a470c
commit
48b8bd5c5a
|
@ -1088,9 +1088,18 @@ export class Session extends EventDispatcher {
|
||||||
const connectionId: string = event.connectionId;
|
const connectionId: string = event.connectionId;
|
||||||
this.getConnection(connectionId, 'No connection found for connectionId ' + connectionId)
|
this.getConnection(connectionId, 'No connection found for connectionId ' + connectionId)
|
||||||
.then(connection => {
|
.then(connection => {
|
||||||
logger.info('Filter event dispatched');
|
logger.info(`Filter event of type "${event.eventType}" dispatched`);
|
||||||
const stream: Stream = connection.stream!;
|
const stream: Stream = connection.stream!;
|
||||||
stream.filter!.handlers.get(event.eventType)?.call(this, new FilterEvent(stream.filter!, event.eventType, event.data));
|
if (!stream || !stream.filter) {
|
||||||
|
return logger.error(`Filter event of type "${event.eventType}" dispatched for stream ${stream.streamId} but there is no ${!stream ? 'stream' : 'filter'} defined`);
|
||||||
|
}
|
||||||
|
const eventHandler = stream.filter.handlers.get(event.eventType);
|
||||||
|
if (!eventHandler || typeof eventHandler !== 'function') {
|
||||||
|
const actualHandlers: string[] = Array.from(stream.filter.handlers.keys());
|
||||||
|
return logger.error(`Filter event of type "${event.eventType}" not handled or not a function! Active filter events: ${actualHandlers.join(',')}`);
|
||||||
|
} else {
|
||||||
|
eventHandler.call(this, new FilterEvent(stream.filter, event.eventType, event.data));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue