package com.dgex.offspring.dataprovider.service;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import org.apache.commons.io.IOUtils;
import org.apache.log4j.Logger;
import com.dgex.offspring.dataprovider.internal.DataProvider;
public abstract class HTTPDataProvider extends DataProvider {
private static Logger logger = Logger.getLogger(HTTPDataProvider.class);
private static int sConnectTimeout = 6666;
private static int sReadTimeout = 6666;
protected String get(URL url) throws HTTPDataProviderException, IOException {
StringWriter writer = new StringWriter();
InputStream is = null;
try {
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setDoOutput(true);
connection.setConnectTimeout(sConnectTimeout);
connection.setReadTimeout(sReadTimeout);
connection.setRequestProperty("User-Agent", "Mozilla/5.0");
is = connection.getInputStream();
IOUtils.copy(is, writer, "UTF-8");
if (connection.getResponseCode() != HttpURLConnection.HTTP_OK) { throw new HTTPDataProviderException(
url, connection.getResponseCode()); }
return writer.toString();
}
finally {
writer.close();
if (is != null)
is.close();
}
}
}