From: Damyan Ivanov Date: Mon, 3 Dec 2018 21:21:06 +0000 (+0000) Subject: network helper class X-Git-Tag: v0.3~351 X-Git-Url: https://git.ktnx.net/?a=commitdiff_plain;h=00e4ce35092278cd64134e3b0b4bff3b40844413;p=mobile-ledger.git network helper class --- diff --git a/app/src/main/java/net/ktnx/mobileledger/NetworkUtil.java b/app/src/main/java/net/ktnx/mobileledger/NetworkUtil.java new file mode 100644 index 00000000..b355b519 --- /dev/null +++ b/app/src/main/java/net/ktnx/mobileledger/NetworkUtil.java @@ -0,0 +1,30 @@ +package net.ktnx.mobileledger; + +import android.content.SharedPreferences; +import android.util.Base64; +import android.util.Log; + +import java.io.IOException; +import java.net.HttpURLConnection; +import java.net.URL; + +final class NetworkUtil { + static HttpURLConnection prepare_connection(SharedPreferences pref, String path) throws IOException { + final String backend_url = pref.getString("backend_url", ""); + final boolean use_auth = pref.getBoolean("backend_use_http_auth", false); + Log.d("network", "Connecting to "+backend_url + "/" + path); + HttpURLConnection http = (HttpURLConnection) new URL(backend_url + "/" + path).openConnection(); + if (use_auth) { + final String auth_user = pref.getString("backend_auth_user", ""); + final String auth_password = pref.getString("backend_auth_password", ""); + final byte[] bytes = (String.format("%s:%s", auth_user, auth_password)).getBytes("UTF-8"); + final String value = Base64.encodeToString(bytes, Base64.DEFAULT); + http.setRequestProperty("Authorization", "Basic " + value); + } + http.setAllowUserInteraction(false); + http.setInstanceFollowRedirects(false); + http.setUseCaches(false); + + return http; + } +}