X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fro%2Fieval%2Ffonbot%2FPollResultCallback.java;h=19da5bbabbdbb321177d15c2647501fdc11f251f;hb=HEAD;hp=6be7479a0031a0441886dc35fdd8a0a1d15be156;hpb=561cd6dc86246c1bd4a7a156af6cdc9a5f044567;p=fonbot.git diff --git a/src/ro/ieval/fonbot/PollResultCallback.java b/src/ro/ieval/fonbot/PollResultCallback.java index 6be7479..19da5bb 100644 --- a/src/ro/ieval/fonbot/PollResultCallback.java +++ b/src/ro/ieval/fonbot/PollResultCallback.java @@ -3,6 +3,7 @@ package ro.ieval.fonbot; import static ro.ieval.fonbot.Utils.toNonNull; import java.io.InputStream; +import org.eclipse.jdt.annotation.Nullable; import org.json.JSONArray; import org.json.JSONObject; @@ -53,9 +54,12 @@ final class PollResultCallback implements ResultCallback { } @Override - public void onResult(final int responseCode, final String responseMessage, final InputStream inputStream) { - if(responseCode!=200) + public void onResult(final int responseCode, final String responseMessage, final @Nullable InputStream inputStream) { + if(responseCode != 200 || inputStream==null){ + if(responseCode != 204 && responseCode != 504) + throw new RuntimeException("Bad HTTP response code: "+responseCode); return; + } final Handler handler=new Handler(Looper.getMainLooper()); @@ -72,7 +76,7 @@ final class PollResultCallback implements ResultCallback { final JSONArray jsonargs=object.getJSONArray("args"); final String command=object.getString("command"); - final Address replyTo=new Address(toNonNull(Protocol.HTTP), object.getString("replyto"));//NOPMD address depends on command + final Address replyTo=new Address(toNonNull(Protocol.HTTP), object.getString("replyto"), object.has("requestid") ? object.getString("requestid") : null);//NOPMD address depends on command final String[] args=new String[jsonargs.length()]; for(int j=0;j