70 lines
1.9 KiB
Java
70 lines
1.9 KiB
Java
package org.gcube.portlets.user.geoportaldataviewer.server.util;
|
|
|
|
import java.io.BufferedReader;
|
|
import java.io.InputStreamReader;
|
|
import java.net.HttpURLConnection;
|
|
import java.net.URL;
|
|
|
|
import org.gcube.portlets.user.geoportaldataviewer.server.GeoportalDataViewerServiceImpl;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
/**
|
|
* The Class HTTPRequestUtil.
|
|
*
|
|
* @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it
|
|
*
|
|
* Jun 5, 2023
|
|
*/
|
|
public class HTTPRequestUtil {
|
|
|
|
private static final Logger LOG = LoggerFactory.getLogger(GeoportalDataViewerServiceImpl.class);
|
|
|
|
/**
|
|
* Gets the response.
|
|
*
|
|
* @param url the url
|
|
* @return the response
|
|
*/
|
|
public static String getResponse(String url) {
|
|
if (url == null || url.isEmpty())
|
|
return null;
|
|
|
|
StringBuffer response = new StringBuffer();
|
|
String theResponseString = "";
|
|
HttpURLConnection con = null;
|
|
LOG.debug("Calling URL: " + url);
|
|
try {
|
|
URL obj = new URL(url);
|
|
con = (HttpURLConnection) obj.openConnection();
|
|
con.setRequestMethod("GET");
|
|
int responseCode = con.getResponseCode();
|
|
LOG.debug("GET Response Code: " + responseCode);
|
|
if (responseCode == HttpURLConnection.HTTP_OK) { // success
|
|
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
|
|
String inputLine;
|
|
while ((inputLine = in.readLine()) != null) {
|
|
response.append(inputLine);
|
|
}
|
|
in.close();
|
|
} else {
|
|
LOG.info("GET request did not work.");
|
|
}
|
|
|
|
theResponseString = response.toString();
|
|
// LOG.trace(theResponseString);
|
|
|
|
if (LOG.isDebugEnabled()) {
|
|
LOG.debug("getResponse is empty? " + theResponseString.isEmpty());
|
|
}
|
|
} catch (Exception e) {
|
|
LOG.error("Error on performing the request to URL: " + url, e);
|
|
} finally {
|
|
|
|
}
|
|
LOG.debug("returning response with size: " + theResponseString.length());
|
|
return theResponseString;
|
|
}
|
|
|
|
}
|