X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fro%2Fieval%2Ffonbot%2FSendHttpMessageAsyncTask.java;h=c05dd05d1d8b58dcf4e6aeb284a357d8158c072f;hb=d13f1533daefa5353d59d79f804931777a3aace6;hp=5087b0b9762dc46f4de5ba5b0e770159e26f9b0c;hpb=a97d31fb5c1bc1725079b5329168b22db3cf9cf3;p=fonbot.git diff --git a/src/ro/ieval/fonbot/SendHttpMessageAsyncTask.java b/src/ro/ieval/fonbot/SendHttpMessageAsyncTask.java index 5087b0b..c05dd05 100644 --- a/src/ro/ieval/fonbot/SendHttpMessageAsyncTask.java +++ b/src/ro/ieval/fonbot/SendHttpMessageAsyncTask.java @@ -13,6 +13,8 @@ import org.eclipse.jdt.annotation.Nullable; import android.content.Context; import android.content.Intent; import android.os.AsyncTask; +import android.preference.PreferenceManager; +import android.util.Base64; import android.util.Log; /* @@ -65,19 +67,25 @@ public final class SendHttpMessageAsyncTask extends AsyncTask headers, final Context context){ + public SendHttpMessageAsyncTask(final String path, final Collection
headers, final Context context){ super(); + this.path=path; this.headers=headers; this.broadcast=null;//NOPMD final field this.context=context; @@ -87,12 +95,14 @@ public final class SendHttpMessageAsyncTask extends AsyncTask headers, final Context context, final byte[] data){//NOPMD array is supposed to be immutable. + public SendHttpMessageAsyncTask(final String path, final Collection
headers, final Context context, final byte[] data){//NOPMD array is supposed to be immutable. super(); + this.path=path; this.headers=headers; this.broadcast=null;//NOPMD final field this.context=context; @@ -102,12 +112,14 @@ public final class SendHttpMessageAsyncTask extends AsyncTask headers, final String broadcast, final Context context){ + public SendHttpMessageAsyncTask(final String path, final Collection
headers, final String broadcast, final Context context){ super(); + this.path=path; this.headers=headers; this.broadcast=broadcast; this.context=context; @@ -120,23 +132,36 @@ public final class SendHttpMessageAsyncTask extends AsyncTask 0) msg=Utils.join(" ", args).getBytes(); - else + else if(data!=null) msg=data; + else + msg=null; try { - final URL url=Utils.getServerURL(toNonNull(context),"/"); + final URL url=Utils.getServerURL(toNonNull(context),toNonNull(path)); final HttpURLConnection conn=(HttpURLConnection) url.openConnection(); - conn.setDoOutput(true); - conn.setFixedLengthStreamingMode(msg.length); + if(msg!=null){ + conn.setDoOutput(true); + conn.setFixedLengthStreamingMode(msg.length); + } conn.setRequestProperty("X-ID", FonBotApplication.instance.regID); + final String user=PreferenceManager.getDefaultSharedPreferences(context).getString("username", null); + final String password=PreferenceManager.getDefaultSharedPreferences(context).getString("password", null); + if(user == null || password == null) + return toNonNull(context.getString(user_or_password_not_set)); + + conn.setRequestProperty("Authorization", "Basic "+Base64.encodeToString( + (user+':'+password).getBytes(), Base64.NO_WRAP)); for (Header header : headers) conn.setRequestProperty(header.name, header.value); conn.connect(); - final OutputStream stream=conn.getOutputStream(); - stream.write(msg); - stream.close(); + if(msg!=null){ + final OutputStream stream=conn.getOutputStream(); + stream.write(msg); + stream.close(); + } Log.d(getClass().getName(),"HTTP Response: "+conn.getResponseCode()+" "+conn.getResponseMessage()); conn.disconnect(); final String message=conn.getResponseMessage();