From 979c5169a7b576c62417d14883f5e83f3b9a74cd Mon Sep 17 00:00:00 2001 From: Marius Gavrilescu Date: Sat, 27 Jul 2013 10:18:26 +0300 Subject: [PATCH] Handle HTTP 401 and beautify HTTP messages --- src/ro/ieval/fonbot/HttpCallExecutableRunnable.java | 12 ++++++++---- src/ro/ieval/fonbot/PollResultCallback.java | 5 +++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/ro/ieval/fonbot/HttpCallExecutableRunnable.java b/src/ro/ieval/fonbot/HttpCallExecutableRunnable.java index e66a7f8..43e8b3f 100644 --- a/src/ro/ieval/fonbot/HttpCallExecutableRunnable.java +++ b/src/ro/ieval/fonbot/HttpCallExecutableRunnable.java @@ -160,12 +160,16 @@ public final class HttpCallExecutableRunnable extends ExecutableRunnable{ stream.close(); } Log.d(getClass().getName(),"HTTP Response: "+conn.getResponseCode()+" "+conn.getResponseMessage()); - final String message=conn.getResponseMessage(); + String message=conn.getResponseMessage(); if(message==null && callback != null) callback.onError(toNonNull(context.getString(no_response_returned_from_server))); - else if(message != null && callback != null) - callback.onResult(conn.getResponseCode(), message, - toNonNull(conn.getInputStream())); + else if(message != null && callback != null){ + if(message.charAt(message.length()-1) == ')')//message is (something) + message=message.substring(1, message.length()-1); + else + message=message.substring(message.indexOf(')')+2); + callback.onResult(conn.getResponseCode(), message, conn.getResponseCode() == 200 ? conn.getInputStream() : null); + } conn.disconnect(); } catch (Exception e) { e.printStackTrace(); diff --git a/src/ro/ieval/fonbot/PollResultCallback.java b/src/ro/ieval/fonbot/PollResultCallback.java index 6be7479..d3c84ce 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,8 +54,8 @@ 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) return; final Handler handler=new Handler(Looper.getMainLooper()); -- 2.30.2