1.0.4+1
This commit is contained in:
parent
019989e3b1
commit
ab7526e624
3 changed files with 24 additions and 5 deletions
|
@ -1,5 +1,5 @@
|
|||
# angel_websocket
|
||||
[![1.0.4](https://img.shields.io/badge/pub-1.0.4-brightgreen.svg)](https://pub.dartlang.org/packages/angel_websocket)
|
||||
[![1.0.4+1](https://img.shields.io/badge/pub-1.0.4+1-brightgreen.svg)](https://pub.dartlang.org/packages/angel_websocket)
|
||||
[![build status](https://travis-ci.org/angel-dart/websocket.svg)](https://travis-ci.org/angel-dart/websocket)
|
||||
|
||||
WebSocket plugin for Angel.
|
||||
|
|
|
@ -1,8 +1,27 @@
|
|||
import 'package:angel_framework/angel_framework.dart';
|
||||
|
||||
/// Prevents a WebSocket event from being broadcasted, to any client.
|
||||
HookedServiceEventListener doNotBroadcast() {
|
||||
/// Prevents a WebSocket event from being broadcasted, to any client from the given [provider].
|
||||
///
|
||||
/// [provider] can be a String, a [Provider], or an Iterable.
|
||||
HookedServiceEventListener doNotBroadcast(provider) {
|
||||
return (HookedServiceEvent e) {
|
||||
if (e.params != null) e.params['broadcast'] = false;
|
||||
if (e.params != null && e.params.containsKey('provider')) {
|
||||
bool deny = false;
|
||||
Iterable providers = provider is Iterable ? provider : [provider];
|
||||
|
||||
for (var p in providers) {
|
||||
if (deny) break;
|
||||
|
||||
if (p is Providers) {
|
||||
deny = deny ||
|
||||
p == e.params['provider'] ||
|
||||
e.params['provider'] == p.via;
|
||||
} else
|
||||
deny =
|
||||
deny || (e.params['provider'] as Providers).via == p.toString();
|
||||
}
|
||||
|
||||
e.params['broadcast'] = false;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ name: angel_websocket
|
|||
description: WebSocket plugin for Angel.
|
||||
environment:
|
||||
sdk: ">=1.19.0"
|
||||
version: 1.0.4
|
||||
version: 1.0.4+1
|
||||
author: Tobe O <thosakwe@gmail.com>
|
||||
homepage: https://github.com/angel-dart/angel_websocket
|
||||
dependencies:
|
||||
|
|
Loading…
Reference in a new issue