Better handling for unregistered users on outgoing message.

This commit is contained in:
Moxie Marlinspike
2013-12-07 16:04:34 -08:00
parent 3c3028c8e3
commit 71664926e9
3 changed files with 44 additions and 2 deletions

View File

@@ -116,12 +116,14 @@ public class PushServiceSocket {
sendMessage(new OutgoingPushMessageList(messages));
}
private void sendMessage(OutgoingPushMessageList messages) throws IOException {
private void sendMessage(OutgoingPushMessageList messages)
throws IOException
{
String responseText = makeRequest(MESSAGE_PATH, "POST", new Gson().toJson(messages));
PushMessageResponse response = new Gson().fromJson(responseText, PushMessageResponse.class);
if (response.getFailure().size() != 0)
throw new IOException("Got send failure: " + response.getFailure().get(0));
throw new UnregisteredUserException(response.getFailure());
}
public void registerPreKeys(IdentityKey identityKey,

View File

@@ -0,0 +1,19 @@
package org.whispersystems.textsecure.push;
import java.io.IOException;
import java.util.List;
public class UnregisteredUserException extends IOException {
private final List<String> addresses;
public UnregisteredUserException(List<String> addresses) {
super();
this.addresses = addresses;
}
public List<String> getAddresses() {
return addresses;
}
}