mirror of https://github.com/PurpleI2P/i2pd.git
EinMByte
9 years ago
8 changed files with 511 additions and 15 deletions
File diff suppressed because one or more lines are too long
@ -0,0 +1,84 @@
@@ -0,0 +1,84 @@
|
||||
var I2PControl = I2PControl || {} |
||||
|
||||
I2PControl.Session = function(password) { |
||||
this.token = ""; |
||||
this.ready = false; |
||||
this.error = false; |
||||
this.password = password; |
||||
}; |
||||
|
||||
I2PControl.Session.prototype = { |
||||
|
||||
request : function(method, params, handler) { |
||||
var request = new XMLHttpRequest(); |
||||
request.open("POST", "", true); |
||||
request.setRequestHeader('Content-Type', 'application/json'); |
||||
var self = this; |
||||
request.onreadystatechange = function() { |
||||
if(this.readyState == 4 && this.status == "200" && this.responseText != "") { |
||||
var result = JSON.parse(this.responseText).result; |
||||
if(result.hasOwnProperty("error")) { |
||||
self.error = true; |
||||
} |
||||
handler(result, self); |
||||
} |
||||
}; |
||||
if(this.token != "") |
||||
params["Token"] = this.token; |
||||
|
||||
var rpc = { |
||||
"id" : 0, |
||||
"method" : method , |
||||
"params" : params, |
||||
"jsonrpc": "2.0" |
||||
} |
||||
request.send(JSON.stringify(rpc)); |
||||
}, |
||||
|
||||
start : function(onReady) { |
||||
var self = this; |
||||
|
||||
var handleAuthenticate = function(result) { |
||||
self.token = result["Token"]; |
||||
self.ready = true; |
||||
onReady(); |
||||
}; |
||||
|
||||
this.request( |
||||
"Authenticate", |
||||
{"API" : 1, "Password" : this.password}, |
||||
handleAuthenticate |
||||
); |
||||
}, |
||||
|
||||
}; |
||||
|
||||
I2PControl.statusToString = function(status) { |
||||
switch(status) { |
||||
case 0: return "OK"; |
||||
case 1: return "TESTING"; |
||||
case 2: return "FIREWALLED"; |
||||
case 3: return "HIDDEN"; |
||||
case 4: return "WARN_FIREWALLED_AND_FAST"; |
||||
case 5: return "WARN_FIREWALLED_AND_FLOODFILL"; |
||||
case 6: return "WARN_FIREWALLED_WITH_INBOUND_TCP"; |
||||
case 7: return "WARN_FIREWALLED_WITH_UDP_DISABLED"; |
||||
case 8: return "ERROR_I2CP"; |
||||
case 9: return "ERROR_CLOCK_SKEW"; |
||||
case 10: return "ERROR_PRIVATE_TCP_ADDRESS"; |
||||
case 11: return "ERROR_SYMMETRIC_NAT"; |
||||
case 12: return "ERROR_UDP_PORT_IN_USE"; |
||||
case 13: return "ERROR_NO_ACTIVE_PEERS_CHECK_CONNECTION_AND_FIREWALL"; |
||||
case 14: return "ERROR_UDP_DISABLED_AND_TCP_UNSET"; |
||||
default: return "UNKNOWN"; |
||||
} |
||||
}; |
||||
|
||||
I2PControl.updateDocument = function(values) { |
||||
|
||||
for(id in values) { |
||||
if(!values.hasOwnProperty(id)) |
||||
continue; |
||||
document.getElementById(id).innerHTML = values[id]; |
||||
} |
||||
}; |
Loading…
Reference in new issue