rem: } 
add:  }  
context: qx.Proto.send = function(){  this._lastReadyState = 0;  var vRequest = this.getRequest();  var vMethod = this.getMethod();  var vAsynchronous = this.getAsynchronous();  var vUrl = this.getUrl();  // --------------------------------------  //   Local handling  // --------------------------------------  var vLocalRequest = (qx.sys.Client.getInstance().getRunsLocally() &&                       !(/^http(s){0,1}\:/.test(vUrl)));  this._localRequest = vLocalRequest;  // --------------------------------------  //   Adding parameters  // --------------------------------------  var vParameters = this.getParameters();  var vParametersList = [];  for (var vId in vParameters) {    var value = vParameters[vId];    if (value instanceof Array) {      for (var i = 0; i < value.length; i++) {        vParametersList.push(encodeURIComponent(vId) + qx.constant.Core.EQUAL +                             encodeURIComponent(value[i]));      }    } else {      vParametersList.push(encodeURIComponent(vId) + qx.constant.Core.EQUAL +                           encodeURIComponent(value));    }  }  if (vParametersList.length > 0) {    vUrl += (vUrl.indexOf(qx.constant.Core.QUESTIONMARK) >= 0             ? qx.constant.Core.AMPERSAND             : (qx.constant.Core.QUESTIONMARK) +                vParametersList.join(qx.constant.Core.AMPERSAND));  }  var encode64 = function (input) {    var keyStr =      "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";    var output = "";    var chr1, chr2, chr3;    var enc1, enc2, enc3, enc4;    var i = 0;    do {      chr1 = input.charCodeAt(i++);      chr2 = input.charCodeAt(i++);      chr3 = input.charCodeAt(i++);      enc1 = chr1 >> 2;      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);      enc4 = chr3 & 63;      if (isNaN(chr2)) {        enc3 = enc4 = 64;      } else if (isNaN(chr3)) {        enc4 = 64;      }      output +=        keyStr.charAt(enc1) +        keyStr.charAt(enc2) +        keyStr.charAt(enc3) +        keyStr.charAt(enc4);    } while (i < input.length);    return output;  }  // --------------------------------------  //   Opening connection  // --------------------------------------  if (this.getUsername()) {    if (this.getUseBasicHttpAuth()) {      vRequest.open(vMethod, vUrl, vAsynchronous);      vRequest.setRequestHeader('Authorization',                                'Basic ' + encode64(this.getUsername() +                                                    ':' +                                                    this.getPassword()));    } else {      vRequest.open(vMethod, vUrl, vAsynchronous,                    this.getUsername(), this.getPassword());    }  } else {    vRequest.open(vMethod, vUrl, vAsynchronous);  }  // --------------------------------------  //   Appliying request header  // --------------------------------------  var vRequestHeaders = this.getRequestHeaders();  for (var vId in vRequestHeaders) {    vRequest.setRequestHeader(vId, vRequestHeaders[vId]);  }  // --------------------------------------  //   Sending data  // --------------------------------------  try  {    vRequest.send(this.getData());  }  catch(ex)  {    if (vLocalRequest)    {      this.failedLocally();    }    else    {      this.error("Failed to send data: " + ex, "send");      this.failed();    }    return;  }  // --------------------------------------  //   Readystate for sync reqeusts  // --------------------------------------  if (!vAsynchronous) {    this._onreadystatechange();  }}
meta: 1005	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/1005/32797ee18a2c92a797417cb1392f24fa90943b97/XmlHttpTransport.js/clean/qooxdoo/frontend/framework/source/class/qx/io/remote/XmlHttpTransport.js