Mercurial > repos > jankanis > blast2html
annotate NCBI Blast reference example_files/remote_data_provider.js @ 100:be7c94e29cd8
add --db-config-dir switch to wrapper; update version number
| author | Jan Kanis <jan.code@jankanis.nl> | 
|---|---|
| date | Tue, 01 Jul 2014 16:23:29 +0200 | 
| parents | 344cd76f6fd2 | 
| children | 
| rev | line source | 
|---|---|
| 
0
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
1 //========================================================================================================= | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
2 function RemoteDataProvider(sUrl) { | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
3 this.iActiveRequests = 0; | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
4 this.sUrl = sUrl; | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
5 } | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
6 | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
7 //------------------------------------------------------------------------------------------------------------- | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
8 RemoteDataProvider.prototype.GetHttpObj = function() { | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
9 var oHttpObj = null; | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
10 try { | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
11 oHttpObj = new ActiveXObject("Msxml2.XMLHTTP"); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
12 } catch(e) { | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
13 try { | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
14 oHttpObj = new ActiveXObject("Microsoft.XMLHTTP") | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
15 } catch(oc) { | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
16 oHttpObj = null; | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
17 } | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
18 } | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
19 if (!oHttpObj && typeof XMLHttpRequest != "undefined") { | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
20 oHttpObj = new XMLHttpRequest(); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
21 } | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
22 return oHttpObj; | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
23 } | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
24 | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
25 //------------------------------------------------------------------------------------------------------------- | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
26 RemoteDataProvider.prototype.Request = function(sRequest, method) { | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
27 var oHttpObj = this.GetHttpObj(); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
28 if (null == oHttpObj) return; | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
29 | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
30 method = (!method) ? "GET" : "POST"; | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
31 var sURL = (method == "GET") ? this.sUrl + "?" + sRequest : this.sUrl; //alert(sURL); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
32 this.iActiveRequests++; | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
33 var oThis = this; | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
34 oHttpObj.onreadystatechange = function () { | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
35 if (oHttpObj.readyState == 4 && oHttpObj.status == 200) { | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
36 oThis.onSuccess(oHttpObj); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
37 oThis.iActiveRequests--; | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
38 oThis.onStop(); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
39 } else if(oHttpObj.readyState == 4 && oHttpObj.status != 200) { | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
40 oThis.onError(oHttpObj); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
41 oThis.iActiveRequests--; | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
42 oThis.onStop(); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
43 } | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
44 }; | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
45 | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
46 if (oHttpObj.readyState != 0) oHttpObj.abort(); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
47 this.onStart(); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
48 oHttpObj.open(method, sURL, true); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
49 // oHttpObj.setRequestHeader('Cache-Control', 'no-cache'); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
50 var params = (method == "GET") ? null : sRequest; | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
51 if (params) { | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
52 oHttpObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
53 oHttpObj.setRequestHeader("Content-length", params.length); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
54 oHttpObj.setRequestHeader("Connection", "close"); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
55 } | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
56 oHttpObj.send(params); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
57 } | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
58 | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
59 //------------------------------------------------------------------------------------------------------------- | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
60 RemoteDataProvider.prototype.onSuccess = function(obj) { | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
61 alert(["success:", this.iActiveRequests, obj.responseText]); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
62 } | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
63 | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
64 //------------------------------------------------------------------------------------------------------------- | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
65 RemoteDataProvider.prototype.onStart = function() { | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
66 // alert(["start:", this.iActiveRequests]); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
67 } | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
68 | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
69 //------------------------------------------------------------------------------------------------------------- | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
70 RemoteDataProvider.prototype.onStop = function() { | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
71 // alert(["start:", this.iActiveRequests]); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
72 } | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
73 | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
74 //------------------------------------------------------------------------------------------------------------- | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
75 RemoteDataProvider.prototype.onError = function(obj) { | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
76 //alert(["error:", this.iActiveRequests, obj.status]); | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
77 } | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
78 | 
| 
 
bad241dc701f
add example input blast xml and output html page
 
Jan Kanis <jan.code@jankanis.nl> 
parents:  
diff
changeset
 | 
79 | 
