From cb46537c98db3cb7ac8cf23de243a86aa4a36acd Mon Sep 17 00:00:00 2001 From: Azul Date: Tue, 20 Nov 2012 10:52:45 +0100 Subject: sending the parsed json object to the error handler --- spec/login_spec.js | 2 +- src/jqueryRest.js | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/spec/login_spec.js b/spec/login_spec.js index da343a5..16a63d0 100644 --- a/spec/login_spec.js +++ b/spec/login_spec.js @@ -64,7 +64,7 @@ describe("Login with srp var", function() { expect(srp.error).toHaveBeenCalled; var args = srp.error.args[0]; - expect($.parseJSON(args[0].responseText)).toEqual(error); + expect(args[0]).toEqual(error); }); it("rejects B = 0", function(){ diff --git a/src/jqueryRest.js b/src/jqueryRest.js index c439f67..c4b0161 100644 --- a/src/jqueryRest.js +++ b/src/jqueryRest.js @@ -29,13 +29,13 @@ srp.remote = (function(){ function signup(){ jqueryRest.register(srp.session) .success(srp.signedUp) - .error(srp.error) + .error(error) }; function login(){ jqueryRest.handshake(srp.session) .success(receiveSalts) - .error(srp.error) + .error(error) }; function receiveSalts(response){ @@ -52,7 +52,7 @@ srp.remote = (function(){ srp.session.calculations(response.salt, response.B); jqueryRest.authenticate(srp.session) .success(confirmAuthentication) - .error(srp.error); + .error(error); } }; @@ -66,6 +66,12 @@ srp.remote = (function(){ srp.error("Server key does not match"); }; + // The server will send error messages as json alongside + // the http error response. + function error(xhr) + { + srp.error($.parseJSON(xhr.responseText)) + }; return { signup: signup, -- cgit v1.2.3