]> git.ktnx.net Git - mobile-ledger.git/blob - app/src/main/java/net/ktnx/mobileledger/NetworkUtil.java
b355b51927a9ba7a066d7bcb3f5218c111b22a06
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / NetworkUtil.java
1 package net.ktnx.mobileledger;
2
3 import android.content.SharedPreferences;
4 import android.util.Base64;
5 import android.util.Log;
6
7 import java.io.IOException;
8 import java.net.HttpURLConnection;
9 import java.net.URL;
10
11 final class NetworkUtil {
12     static HttpURLConnection prepare_connection(SharedPreferences pref, String path) throws IOException {
13         final String backend_url = pref.getString("backend_url", "");
14         final boolean use_auth = pref.getBoolean("backend_use_http_auth", false);
15         Log.d("network", "Connecting to "+backend_url + "/" + path);
16         HttpURLConnection http = (HttpURLConnection) new URL(backend_url + "/" + path).openConnection();
17         if (use_auth) {
18             final String auth_user = pref.getString("backend_auth_user", "");
19             final String auth_password = pref.getString("backend_auth_password", "");
20             final byte[] bytes = (String.format("%s:%s", auth_user, auth_password)).getBytes("UTF-8");
21             final String value = Base64.encodeToString(bytes, Base64.DEFAULT);
22             http.setRequestProperty("Authorization", "Basic " + value);
23         }
24         http.setAllowUserInteraction(false);
25         http.setInstanceFollowRedirects(false);
26         http.setUseCaches(false);
27
28         return http;
29     }
30 }