X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Futils%2FNetworkUtil.java;h=c0802a4547b1f0668faf3810f4852f668155649f;hb=34ab3549cf6cbd1e9db2da1707b5932514f5e3a7;hp=e6cc9acb73c5067bf5dfc5eac260bfcbf4821ef2;hpb=bde37d0aa472d31606b53491240c79af3374f09b;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/utils/NetworkUtil.java b/app/src/main/java/net/ktnx/mobileledger/utils/NetworkUtil.java index e6cc9acb..c0802a45 100644 --- a/app/src/main/java/net/ktnx/mobileledger/utils/NetworkUtil.java +++ b/app/src/main/java/net/ktnx/mobileledger/utils/NetworkUtil.java @@ -1,50 +1,41 @@ /* * Copyright © 2019 Damyan Ivanov. - * This file is part of Mobile-Ledger. - * Mobile-Ledger is free software: you can distribute it and/or modify it + * This file is part of MoLe. + * MoLe is free software: you can distribute it and/or modify it * under the term of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your opinion), any later version. * - * Mobile-Ledger is distributed in the hope that it will be useful, + * MoLe is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License terms for details. * * You should have received a copy of the GNU General Public License - * along with Mobile-Ledger. If not, see . + * along with MoLe. If not, see . */ package net.ktnx.mobileledger.utils; -import android.util.Base64; -import android.util.Log; - -import net.ktnx.mobileledger.model.Data; import net.ktnx.mobileledger.model.MobileLedgerProfile; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; +import static net.ktnx.mobileledger.utils.Logger.debug; + public final class NetworkUtil { private static final int thirtySeconds = 30000; - public static HttpURLConnection prepareConnection(String path) throws IOException { - MobileLedgerProfile profile = Data.profile.get(); - final String backend_url = profile.getUrl(); + public static HttpURLConnection prepareConnection(MobileLedgerProfile profile, String path) + throws IOException { + String url = profile.getUrl(); final boolean use_auth = profile.isAuthEnabled(); - Log.d("network", "Connecting to " + backend_url + "/" + path); - HttpURLConnection http = - (HttpURLConnection) new URL(backend_url + "/" + path).openConnection(); - if (use_auth) { - final String auth_user = profile.getAuthUserName(); - final String auth_password = profile.getAuthPassword(); - 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); + if (!url.endsWith("/")) url += "/"; + url += path; + debug("network", "Connecting to " + url); + HttpURLConnection http = (HttpURLConnection) new URL(url).openConnection(); + http.setAllowUserInteraction(true); http.setRequestProperty("Accept-Charset", "UTF-8"); http.setInstanceFollowRedirects(false); http.setUseCaches(false);