diff options
-rw-r--r-- | caldav.js | 10 | ||||
-rw-r--r-- | lib/caldav/request/abstract.js | 6 | ||||
-rw-r--r-- | lib/caldav/sax.js | 4 |
3 files changed, 18 insertions, 2 deletions
@@ -1425,6 +1425,10 @@ function write (chunk) { return this._parse.write(chunk); }, + close: function() { + this._parse.close(); + }, + get closed() { return this._parse.closed; }, @@ -2691,12 +2695,16 @@ function write (chunk) { var req = this.xhr; req.data = this._createPayload(); + req.ondata = function xhrOnData(chunk) { + self.sax.write(chunk); + }; + // in the future we may stream data somehow req.send(function xhrResult() { var xhr = req.xhr; if (xhr.status > 199 && xhr.status < 300) { // success - self.sax.write(xhr.responseText).close(); + self.sax.close(); self._processResult(req, callback); } else { // fail diff --git a/lib/caldav/request/abstract.js b/lib/caldav/request/abstract.js index 41429c6..eb6297b 100644 --- a/lib/caldav/request/abstract.js +++ b/lib/caldav/request/abstract.js @@ -60,12 +60,16 @@ var req = this.xhr; req.data = this._createPayload(); + req.ondata = function xhrOnData(chunk) { + self.sax.write(chunk); + }; + // in the future we may stream data somehow req.send(function xhrResult() { var xhr = req.xhr; if (xhr.status > 199 && xhr.status < 300) { // success - self.sax.write(xhr.responseText).close(); + self.sax.close(); self._processResult(req, callback); } else { // fail diff --git a/lib/caldav/sax.js b/lib/caldav/sax.js index ecc229e..e0c0a1b 100644 --- a/lib/caldav/sax.js +++ b/lib/caldav/sax.js @@ -102,6 +102,10 @@ return this._parse.write(chunk); }, + close: function() { + this._parse.close(); + }, + get closed() { return this._parse.closed; }, |