package fi.bitrite.android.ws.util.http;
import android.os.Build;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParams;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import fi.bitrite.android.ws.BuildConfig;
public class HttpUtils {
private static final int TIMEOUT_MS = 20000;
public static String encodeUrl(String urlString) throws MalformedURLException, URISyntaxException {
URL url = new URL(urlString);
URI uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), url.getQuery(), url.getRef());
url = uri.toURL();
return url.toString();
}
public static HttpClient getDefaultClient() {
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_MS);
HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MS);
String userAgentString = new StringBuilder().
append("WSAndroid ").append(BuildConfig.VERSION_NAME).append(" ")
.append(Build.MANUFACTURER).append(" ")
.append(Build.MODEL).append(" ")
.append("Android v").append(Build.VERSION.RELEASE)
.toString();
httpParams.setParameter(HttpProtocolParams.USER_AGENT, userAgentString);
return new DefaultHttpClient(httpParams);
}
}