diff options
author | Azul <azul@riseup.net> | 2012-11-19 15:58:46 +0100 |
---|---|---|
committer | Azul <azul@riseup.net> | 2012-11-19 15:58:46 +0100 |
commit | 49bfe6ab74229ba4da5342382b87dcd6fca239fa (patch) | |
tree | 05c70ca228e28a3a5fa3d35b9ffd441aac0a8ede /src | |
parent | 2859af0287d7672df0a8965be43fb9859fca8bf8 (diff) |
works - but not quite what i want. Exposing jqXHR to error function
Diffstat (limited to 'src')
-rw-r--r-- | src/jqueryRest.js | 23 | ||||
-rw-r--r-- | src/srp.js | 27 |
2 files changed, 27 insertions, 23 deletions
diff --git a/src/jqueryRest.js b/src/jqueryRest.js index 54a0908..a7928d5 100644 --- a/src/jqueryRest.js +++ b/src/jqueryRest.js @@ -1,31 +1,30 @@ jqueryRest = function() { // we do not fetch the salt from the server - function register(session, callback) + function register(session) { - sendVerifier(session, callback); + return sendVerifier(session); } - function sendVerifier(session, callback) { + function sendVerifier(session) { var salt = session.getSalt(); - $.post("users.json", { user: + return $.post("users.json", { user: { login: session.getI(), password_salt: salt, - password_verifier: session.getV(salt).toString(16)} - }, callback); + password_verifier: session.getV(salt).toString(16) + } + }); } - function handshake(session, callback) { - $.post("sessions.json", { login: session.getI(), - A: session.getAstr()}, callback); + function handshake(session) { + return $.post("sessions.json", { login: session.getI(), A: session.getAstr()}); } - function authenticate(session, success) { - $.ajax({ + function authenticate(session) { + return $.ajax({ url: "sessions/" + session.getI() + ".json", type: 'PUT', data: {client_auth: session.getM()}, - success: success }); } @@ -2,8 +2,6 @@ function SRP(remote, session) { var srp = this; session = session || new this.Session(); - remote = remote || new this.Remote(); - remote.onError = remote.onError || this.error; session.onError = session.onError || this.error; this.remote = remote; this.session = session; @@ -12,7 +10,9 @@ function SRP(remote, session) this.identify = function(success, error) { store_callbacks(success, error); - remote.handshake(session, receive_salts); + remote.handshake(session) + .success(receive_salts) + .error(srp.error); // Receive login salts from the server, start calculations function receive_salts(response) @@ -28,7 +28,9 @@ function SRP(remote, session) else { session.calculations(response.salt, response.B); - remote.authenticate(session, confirm_authentication); + remote.authenticate(session) + .success(confirm_authentication) + .error(srp.error); } } @@ -47,12 +49,15 @@ function SRP(remote, session) this.register = function(success, error) { store_callbacks(success, error); - remote.register(session, srp.registered_user); + remote.register(session) + .success(srp.registered_user) + .error(srp.error); }; // The user has been registered successfully, now login this.registered_user = function(response) { + // TODO: This can go if response has an error code if(response.errors) { srp.error(response.errors) } @@ -61,12 +66,6 @@ function SRP(remote, session) } }; - // Minimal error handling - set remote.onError to sth better to overwrite. - this.error = function(text) - { - alert(text); - }; - // This function is called when authentication is successful. // It's a dummy. Please hand the real thing to the call to identify. this.success = function() @@ -74,6 +73,12 @@ function SRP(remote, session) alert("Login successful."); }; + // Minimal error handling - set remote.onError to sth better to overwrite. + this.error = function(text) + { + alert(text); + }; + function store_callbacks(success, error) { if (typeof success == "function") { srp.success = success; |