File tree Expand file tree Collapse file tree 2 files changed +13
-13
lines changed Expand file tree Collapse file tree 2 files changed +13
-13
lines changed Original file line number Diff line number Diff line change @@ -12,15 +12,13 @@ class EventPoller {
12
12
13
13
EventPoller (this .github, this .path);
14
14
15
- Stream <Event > start () {
15
+ Stream <Event > start ({ bool onlyNew : false , int interval} ) {
16
16
if (_timer != null ) {
17
17
throw new Exception ("Polling already started." );
18
18
}
19
19
20
20
_controller = new StreamController ();
21
21
22
- int interval;
23
-
24
22
void handleEvent (http.Response response) {
25
23
if (interval == null ) {
26
24
interval = int .parse (response.headers['x-poll-interval' ]);
@@ -32,16 +30,18 @@ class EventPoller {
32
30
33
31
var json = JSON .decode (response.body);
34
32
35
- for (var item in json) {
36
- var event = Event .fromJSON (github, item);
37
-
38
- if (handledEvents.contains (event.id)) {
39
- continue ;
33
+ if (! (onlyNew && _timer == null )) {
34
+ for (var item in json) {
35
+ var event = Event .fromJSON (github, item);
36
+
37
+ if (handledEvents.contains (event.id)) {
38
+ continue ;
39
+ }
40
+
41
+ handledEvents.add (event.id);
42
+
43
+ _controller.add (event);
40
44
}
41
-
42
- handledEvents.add (event.id);
43
-
44
- _controller.add (event);
45
45
}
46
46
47
47
if (_timer == null ) {
Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ void main() {
5
5
6
6
var github = new GitHub (auth: new Authentication .withToken ("5fdec2b77527eae85f188b7b2bfeeda170f26883" ));
7
7
8
- var poller = github.pollPublicEvents ();
8
+ EventPoller poller = github.pollPublicEvents ();
9
9
10
10
poller.start ().listen ((event) {
11
11
print ("New Event:" );
You can’t perform that action at this time.
0 commit comments