serviceHook method

FutureOr Function(HookedServiceEvent<dynamic, dynamic, Service> e) serviceHook(
  1. String path
)

Implementation

FutureOr<dynamic> Function(HookedServiceEvent<dynamic, dynamic, Service> e)
    serviceHook(String path) {
  return (HookedServiceEvent e) async {
    if (e.params['broadcast'] == false) return;

    var event = await transformEvent(e);
    event.eventName = '$path::${event.eventName}';

    dynamic filter(WebSocketContext socket) {
      if (e.service.configuration.containsKey('ws:filter')) {
        return e.service.configuration['ws:filter'](e, socket);
      } else if (e.params.containsKey('ws:filter')) {
        return e.params['ws:filter'](e, socket);
      } else {
        return true;
      }
    }

    await batchEvent(event, filter: filter);
  };
}