Define UnregisteredUserError class
// FREEBIE
This commit is contained in:
parent
81dfdd959f
commit
89d3b772d5
3 changed files with 30 additions and 2 deletions
|
@ -102,7 +102,17 @@
|
||||||
MessageError.prototype = new ReplayableError();
|
MessageError.prototype = new ReplayableError();
|
||||||
MessageError.prototype.constructor = MessageError;
|
MessageError.prototype.constructor = MessageError;
|
||||||
|
|
||||||
|
function UnregisteredUserError(number, httpError) {
|
||||||
|
this.name = 'UnregisteredUserError';
|
||||||
|
this.number = number;
|
||||||
|
this.code = httpError.code;
|
||||||
|
this.message = httpError.message;
|
||||||
|
this.stack = httpError.stack;
|
||||||
|
}
|
||||||
|
UnregisteredUserError.prototype = new Error();
|
||||||
|
UnregisteredUserError.prototype.constructor = UnregisteredUserError;
|
||||||
|
|
||||||
|
window.textsecure.UnregisteredUserError = UnregisteredUserError;
|
||||||
window.textsecure.SendMessageNetworkError = SendMessageNetworkError;
|
window.textsecure.SendMessageNetworkError = SendMessageNetworkError;
|
||||||
window.textsecure.IncomingIdentityKeyError = IncomingIdentityKeyError;
|
window.textsecure.IncomingIdentityKeyError = IncomingIdentityKeyError;
|
||||||
window.textsecure.OutgoingIdentityKeyError = OutgoingIdentityKeyError;
|
window.textsecure.OutgoingIdentityKeyError = OutgoingIdentityKeyError;
|
||||||
|
@ -38570,9 +38580,13 @@ OutgoingMessage.prototype = {
|
||||||
|
|
||||||
transmitMessage: function(number, jsonData, timestamp) {
|
transmitMessage: function(number, jsonData, timestamp) {
|
||||||
return this.server.sendMessages(number, jsonData, timestamp).catch(function(e) {
|
return this.server.sendMessages(number, jsonData, timestamp).catch(function(e) {
|
||||||
if (e.name === 'HTTPError' && (e.code !== 409 && e.code !== 410 && e.code !== 404)) {
|
if (e.name === 'HTTPError' && (e.code !== 409 && e.code !== 410)) {
|
||||||
// 409 and 410 should bubble and be handled by doSendMessage
|
// 409 and 410 should bubble and be handled by doSendMessage
|
||||||
|
// 404 should throw UnregisteredUserError
|
||||||
// all other network errors can be retried later.
|
// all other network errors can be retried later.
|
||||||
|
if (e.code === 404) {
|
||||||
|
throw new textsecure.UnregisteredUserError(number, e);
|
||||||
|
}
|
||||||
throw new textsecure.SendMessageNetworkError(number, jsonData, e, timestamp);
|
throw new textsecure.SendMessageNetworkError(number, jsonData, e, timestamp);
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
|
|
|
@ -101,7 +101,17 @@
|
||||||
MessageError.prototype = new ReplayableError();
|
MessageError.prototype = new ReplayableError();
|
||||||
MessageError.prototype.constructor = MessageError;
|
MessageError.prototype.constructor = MessageError;
|
||||||
|
|
||||||
|
function UnregisteredUserError(number, httpError) {
|
||||||
|
this.name = 'UnregisteredUserError';
|
||||||
|
this.number = number;
|
||||||
|
this.code = httpError.code;
|
||||||
|
this.message = httpError.message;
|
||||||
|
this.stack = httpError.stack;
|
||||||
|
}
|
||||||
|
UnregisteredUserError.prototype = new Error();
|
||||||
|
UnregisteredUserError.prototype.constructor = UnregisteredUserError;
|
||||||
|
|
||||||
|
window.textsecure.UnregisteredUserError = UnregisteredUserError;
|
||||||
window.textsecure.SendMessageNetworkError = SendMessageNetworkError;
|
window.textsecure.SendMessageNetworkError = SendMessageNetworkError;
|
||||||
window.textsecure.IncomingIdentityKeyError = IncomingIdentityKeyError;
|
window.textsecure.IncomingIdentityKeyError = IncomingIdentityKeyError;
|
||||||
window.textsecure.OutgoingIdentityKeyError = OutgoingIdentityKeyError;
|
window.textsecure.OutgoingIdentityKeyError = OutgoingIdentityKeyError;
|
||||||
|
|
|
@ -79,9 +79,13 @@ OutgoingMessage.prototype = {
|
||||||
|
|
||||||
transmitMessage: function(number, jsonData, timestamp) {
|
transmitMessage: function(number, jsonData, timestamp) {
|
||||||
return this.server.sendMessages(number, jsonData, timestamp).catch(function(e) {
|
return this.server.sendMessages(number, jsonData, timestamp).catch(function(e) {
|
||||||
if (e.name === 'HTTPError' && (e.code !== 409 && e.code !== 410 && e.code !== 404)) {
|
if (e.name === 'HTTPError' && (e.code !== 409 && e.code !== 410)) {
|
||||||
// 409 and 410 should bubble and be handled by doSendMessage
|
// 409 and 410 should bubble and be handled by doSendMessage
|
||||||
|
// 404 should throw UnregisteredUserError
|
||||||
// all other network errors can be retried later.
|
// all other network errors can be retried later.
|
||||||
|
if (e.code === 404) {
|
||||||
|
throw new textsecure.UnregisteredUserError(number, e);
|
||||||
|
}
|
||||||
throw new textsecure.SendMessageNetworkError(number, jsonData, e, timestamp);
|
throw new textsecure.SendMessageNetworkError(number, jsonData, e, timestamp);
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
|
|
Loading…
Reference in a new issue