Menu

[r345]: / phprpc_2.1 / js / compressed / xmlhttprequest.js  Maximize  Restore  History

Download this file

23 lines (23 with data), 5.0 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if(window.ActiveXObject&&!window.XMLHttpRequest){window.XMLHttpRequest=function(){var msxmls=new Array('Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP','Microsoft.XMLHTTP');for(var i=0;i<msxmls.length;i++){try{return new ActiveXObject(msxmls[i]);}catch(e){}}
return null;};}
if(window.opera&&!window.XMLHttpRequest){window.XMLHttpRequest=function(){this.readyState=0;this.status=0;this.statusText='';this._headers=[];this._aborted=false;this._async=true;this._defaultCharset='ISO-8859-1';this._getCharset=function(){var charset=_defaultCharset;var contentType=this.getResponseHeader('Content-type').toUpperCase();val=contentType.indexOf('CHARSET=');if(val!=-1){charset=contentType.substring(val);}
val=charset.indexOf(';');if(val!=-1){charset=charset.substring(0,val);}
val=charset.indexOf(',');if(val!=-1){charset=charset.substring(0,val);}
return charset;};this.abort=function(){this._aborted=true;};this.getAllResponseHeaders=function(){return this.getAllResponseHeader('*');};this.getAllResponseHeader=function(header){var ret='';for(var i=0;i<this._headers.length;i++){if(header=='*'||this._headers[i].h==header){ret+=this._headers[i].h+': '+this._headers[i].v+'\n';}}
return ret;};this.getResponseHeader=function(header){var ret=getAllResponseHeader(header);var i=ret.indexOf('\n');if(i!=-1){ret=ret.substring(0,i);}
return ret;};this.setRequestHeader=function(header,value){this._headers[this._headers.length]={h:header,v:value};};this.open=function(method,url,async,user,password){this.method=method;this.url=url;this._async=true;this._aborted=false;this._headers=[];if(arguments.length>=3){this._async=async;}
if(arguments.length>3){opera.postError('XMLHttpRequest.open() - user/password not supported');}
this.readyState=1;if(this.onreadystatechange){this.onreadystatechange();}};this.send=function(data){if(!navigator.javaEnabled()){alert("XMLHttpRequest.send() - Java must be installed and enabled.");return;}
if(this._async){setTimeout(this._sendasync,0,this,data);}else{this._sendsync(data);}}
this._sendasync=function(req,data){if(!req._aborted){req._sendsync(data);}};this._sendsync=function(data){this.readyState=2;if(this.onreadystatechange){this.onreadystatechange();}
var url=new java.net.URL(new java.net.URL(window.location.href),this.url);var conn=url.openConnection();for(var i=0;i<this._headers.length;i++){conn.setRequestProperty(this._headers[i].h,this._headers[i].v);}
this._headers=[];if(this.method=='POST'){conn.setDoOutput(true);var wr=new java.io.OutputStreamWriter(conn.getOutputStream(),this._getCharset());wr.write(data);wr.flush();wr.close();}
var gotContentEncoding=false;var gotContentLength=false;var gotContentType=false;var gotDate=false;var gotExpiration=false;var gotLastModified=false;for(var i=0;;i++){var hdrName=conn.getHeaderFieldKey(i);var hdrValue=conn.getHeaderField(i);if(hdrName==null&&hdrValue==null){break;}
if(hdrName!=null){this._headers[this._headers.length]={h:hdrName,v:hdrValue};switch(hdrName.toLowerCase()){case'content-encoding':gotContentEncoding=true;break;case'content-length':gotContentLength=true;break;case'content-type':gotContentType=true;break;case'date':gotDate=true;break;case'expires':gotExpiration=true;break;case'last-modified':gotLastModified=true;break;}}}
var val;val=conn.getContentEncoding();if(val!=null&&!gotContentEncoding)this._headers[this._headers.length]={h:'Content-encoding',v:val};val=conn.getContentLength();if(val!=-1&&!gotContentLength)this._headers[this._headers.length]={h:'Content-length',v:val};val=conn.getContentType();if(val!=null&&!gotContentType)this._headers[this._headers.length]={h:'Content-type',v:val};val=conn.getDate();if(val!=0&&!gotDate)this._headers[this._headers.length]={h:'Date',v:(new Date(val)).toUTCString()};val=conn.getExpiration();if(val!=0&&!gotExpiration)this._headers[this._headers.length]={h:'Expires',v:(new Date(val)).toUTCString()};val=conn.getLastModified();if(val!=0&&!gotLastModified)this._headers[this._headers.length]={h:'Last-modified',v:(new Date(val)).toUTCString()};var reqdata='';var stream=conn.getInputStream();if(stream){var reader=new java.io.BufferedReader(new java.io.InputStreamReader(stream,this._getCharset()));var line;while((line=reader.readLine())!=null){if(this.readyState==2){this.readyState=3;if(this.onreadystatechange){this.onreadystatechange();}}
reqdata+=line+'\n';}
reader.close();this.status=200;this.statusText='OK';this.responseText=reqdata;this.readyState=4;if(this.onreadystatechange){this.onreadystatechange();}
if(this.onload){this.onload();}}else{this.status=404;this.statusText='Not Found';this.responseText='';this.readyState=4;if(this.onreadystatechange){this.onreadystatechange();}
if(this.onerror){this.onerror();}}};};}
if(!window.ActiveXObject&&window.XMLHttpRequest){window.ActiveXObject=function(type){switch(type.toLowerCase()){case'microsoft.xmlhttp':case'msxml2.xmlhttp':case'msxml2.xmlhttp.3.0':case'msxml2.xmlhttp.4.0':case'msxml2.xmlhttp.5.0':return new XMLHttpRequest();}
return null;};}
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.