From 6a1121ab2e91a362ed1e13e18c44fca40761f97a Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 30 Jan 2012 23:19:43 +0100 Subject: [PATCH] provide server side close option for EventStream --- core/js/eventsource.js | 7 ++++++- lib/eventsource.php | 7 +++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/core/js/eventsource.js b/core/js/eventsource.js index 422f97657b..30b942f59e 100644 --- a/core/js/eventsource.js +++ b/core/js/eventsource.js @@ -44,8 +44,13 @@ OC.EventSource=function(src){ $('body').append(this.iframe); this.useFallBack=true; OC.EventSource.iframeCount++ - } + //add close listener + this.listen('__internal__',function(data){ + if(data=='close'){ + this.close(); + } + }.bind(this)); } OC.EventSource.fallBackSources=[]; OC.EventSource.iframeCount=0;//number of fallback iframes diff --git a/lib/eventsource.php b/lib/eventsource.php index c123eb4b83..b0450ff3d5 100644 --- a/lib/eventsource.php +++ b/lib/eventsource.php @@ -70,4 +70,11 @@ class OC_EventSource{ echo PHP_EOL; flush(); } + + /** + * close the connection of the even source + */ + public function close(){ + $this->send('__internal__','close');//server side closing can be an issue, let the client do it + } } \ No newline at end of file