blob: 9773d45d7629eab5108fee3ee46f44521fcf317f [file] [log] [blame]
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;
}
}