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;
|
||||
this.getConnection(connectionId, 'No connection found for connectionId ' + connectionId)
|
||||
.then(connection => {
|
||||
logger.info('Filter event dispatched');
|
||||
logger.info(`Filter event of type "${event.eventType}" dispatched`);
|
||||
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