prepareConnection: append '/' to the backend URL only if it not already there
authorDamyan Ivanov <dam+mobileledger@ktnx.net>
Mon, 18 Mar 2019 06:03:28 +0000 (08:03 +0200)
committerDamyan Ivanov <dam+mobileledger@ktnx.net>
Mon, 25 Mar 2019 06:17:36 +0000 (06:17 +0000)
avoids URLs like http://server//accounts, which lead to redirects, which
(1) are superflous and (2) MoLe can't handle yet

app/src/main/java/net/ktnx/mobileledger/utils/NetworkUtil.java

index b1eb36b..821a712 100644 (file)
@@ -29,12 +29,14 @@ import java.nio.charset.StandardCharsets;
 
 public final class NetworkUtil {
     private static final int thirtySeconds = 30000;
-    public static HttpURLConnection prepareConnection(MobileLedgerProfile profile, String path) throws IOException {
-        final String backend_url = profile.getUrl();
+    public static HttpURLConnection prepareConnection(MobileLedgerProfile profile, String path)
+            throws IOException {
+        final 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 (!url.endsWith("/")) url.concat("/");
+        url.concat(path);
+        Log.d("network", "Connecting to " + url);
+        HttpURLConnection http = (HttpURLConnection) new URL(url).openConnection();
         if (use_auth) {
             final String auth_user = profile.getAuthUserName();
             final String auth_password = profile.getAuthPassword();