aboutsummaryrefslogtreecommitdiff
path: root/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/HTTPUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/HTTPUtils.java')
-rw-r--r--libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/HTTPUtils.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/HTTPUtils.java b/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/HTTPUtils.java
new file mode 100644
index 000000000..9773d45d7
--- /dev/null
+++ b/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/HTTPUtils.java
@@ -0,0 +1,31 @@
+package org.wordpress.android.util;
+
+import java.io.IOException;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.Map;
+
+public class HTTPUtils {
+ public static final int REQUEST_TIMEOUT_MS = 30000;
+
+ /**
+ * Builds an HttpURLConnection from a URL and header map. Will force HTTPS usage if given an Authorization header.
+ * @throws IOException
+ */
+ public static HttpURLConnection setupUrlConnection(String url, Map<String, String> headers) throws IOException {
+ // Force HTTPS usage if an authorization header was specified
+ if (headers.keySet().contains("Authorization")) {
+ url = UrlUtils.makeHttps(url);
+ }
+
+ HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
+ conn.setReadTimeout(REQUEST_TIMEOUT_MS);
+ conn.setConnectTimeout(REQUEST_TIMEOUT_MS);
+
+ for (Map.Entry<String, String> entry : headers.entrySet()) {
+ conn.setRequestProperty(entry.getKey(), entry.getValue());
+ }
+
+ return conn;
+ }
+}