Ticket #6156: cometd_base.patch

File cometd_base.patch, 2.4 kB (added by guest, 10 months ago)

cometd base patch

  • _base.js

    old new  
    33dojo.provide("dojox.cometd._base"); 
    44dojo.require("dojo.AdapterRegistry"); 
    55dojo.require("dojo.io.script"); 
     6dojo.require("dojox.dtl.filter.strings"); 
    67 
    78 
    89/* 
     
    775776       } 
    776777 
    777778       this.sendMessages = function(/*array*/ messages){ 
     779               var buffer = new Array(); 
     780               var bigCnt = 0; 
     781               var smallCnt = 0; 
     782               buffer[bigCnt] = new Array(); 
     783               var ret; 
    778784               for(var i=0; i<messages.length; i++){ 
    779                        messages[i].clientId = this._cometd.clientId; 
    780                        messages[i].id = ""+this._cometd.messageId++; 
    781                        messages[i]=this._cometd._extendOut(messages[i]); 
     785                       buffer[bigCnt][smallCnt] = messages[i]; 
     786                       buffer[bigCnt][smallCnt].clientId = this._cometd.clientId; 
     787                       buffer[bigCnt][smallCnt].id = ""+this._cometd.messageId++; 
     788                       buffer[bigCnt][smallCnt]=this._cometd._extendOut(buffer[bigCnt][smallCnt]); 
     789                       smallCnt++; 
     790                       if ( dojox.dtl.filter.strings.urlencode(dojo.toJson( buffer[bigCnt] )).length > (dojo.isIE ? 1800 : 1000000) ) { 
     791                               smallCnt = 0; 
     792                               bigCnt++; 
     793                               buffer[bigCnt] = new Array(); 
     794                       } 
     795               } 
     796               for(var i=0; i<buffer.length; i++){ 
     797                       var bindArgs = { 
     798                               url: this._cometd.url||dojo.config["cometdRoot"], 
     799                               load: dojo.hitch(this._cometd, "deliver"), 
     800                               callbackParamName: "jsonp", 
     801                               content: { message: dojo.toJson( buffer[i] ) } 
     802                       }; 
     803                       ret = dojo.io.script.get(bindArgs); 
    782804               } 
    783                var bindArgs = { 
    784                        url: this._cometd.url||dojo.config["cometdRoot"], 
    785                        load: dojo.hitch(this._cometd, "deliver"), 
    786                        callbackParamName: "jsonp", 
    787                        content: { message: dojo.toJson( messages ) } 
    788                }; 
    789                return dojo.io.script.get(bindArgs); 
     805               return ret; 
    790806       } 
    791807 
    792808       this.startup = function(handshakeData){