summaryrefslogtreecommitdiff
path: root/lib/jqueryRest.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/jqueryRest.js')
-rw-r--r--lib/jqueryRest.js127
1 files changed, 0 insertions, 127 deletions
diff --git a/lib/jqueryRest.js b/lib/jqueryRest.js
deleted file mode 100644
index 8c8163c..0000000
--- a/lib/jqueryRest.js
+++ /dev/null
@@ -1,127 +0,0 @@
-jqueryRest = function() {
-
- function getUrl()
- {
- return "";
- }
-
- function paths(path)
- {
- return path
- }
-
- // Perform ajax requests at the specified path, with the specified parameters
- // Calling back the specified function.
- function ajaxRequest(relative_path, params, callback)
- {
- var full_url = this.geturl() + this.paths(relative_path);
- if( window.XMLHttpRequest)
- xhr = new XMLHttpRequest();
- else if (window.ActiveXObject){
- try{
- xhr = new ActiveXObject("Microsoft.XMLHTTP");
- }catch (e){}
- }
- else
- {
- session.error_message("Ajax not supported.");
- return;
- }
- if(xhr){
- xhr.onreadystatechange = function() {
- if(xhr.readyState == 4 && xhr.status == 200) {
- callback(parseResponse());
- }
- };
- xhr.open("POST", full_url, true);
- xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
- xhr.setRequestHeader("Content-length", params.length);
- xhr.send(params);
- }
- else
- {
- session.error_message("Ajax failed.");
- }
- };
-
- function parseResponse() {
- if (responseIsXML()) {
- return parseXML(xhr.responseXML);
- } else if (responseIsJSON()) {
- return JSON.parse(xhr.responseText);
- }
- };
-
- function responseIsXML() {
- return (xhr.responseType == 'document') ||
- (xhr.getResponseHeader("Content-Type").indexOf('application/xml') >= 0)
- }
-
- function responseIsJSON() {
- return (xhr.responseType == 'json') ||
- (xhr.getResponseHeader("Content-Type").indexOf('application/json') >= 0)
- }
-
- function parseXML(xml) {
- if (xml.getElementsByTagName("r").length > 0) {
- return parseAttributesOfElement(xml.getElementsByTagName("r")[0]);
- } else {
- return parseNodes(xml.childNodes);
- }
- };
-
- function parseAttributesOfElement(elem) {
- var response = {};
- for (var i = 0; i < elem.attributes.length; i++) {
- var attrib = elem.attributes[i];
- if (attrib.specified) {
- response[attrib.name] = attrib.value;
- }
- }
- return response;
- };
-
- function parseNodes(nodes) {
- var response = {};
- for (var i = 0; i < nodes.length; i++) {
- var node = nodes[i];
- response[node.tagName] = node.textContent || true;
- }
- return response;
- };
-
- // we do not fetch the salt from the server
- function register(session, callback)
- {
- sendVerifier(session, callback);
- }
-
- function sendVerifier(session, callback) {
- this.ajaxRequest("users", "user[login]=" + session.getI() +
- "&user[password_salt]=" + session.getSalt() +
- "&user[password_verifier]=" + session.getV().toString(16), callback);
- }
-
- function handshake(I, Astr, callback) {
- this.ajaxRequest("handshake/", "I="+I+"&A="+Astr, callback);
- }
-
- function authenticate(M, callback) {
- this.ajaxRequest("authenticate/", "M="+M, callback);
- }
-
- function upgrade(M, callback) {
- this.ajaxRequest("upgrade/authenticate/", "M="+M, callback);
- }
-
- return {
- geturl: getUrl,
- paths: paths,
- ajaxRequest: ajaxRequest,
- register: register,
- register_send_verifier: sendVerifier,
- handshake: handshake,
- authenticate: authenticate,
- upgrade: upgrade
- }
-}