in src/main/java/com/uber/uberscriptquery/util/HttpUtils.java [67:96]
public static HttpResponse post(String url, Map<String, String> header, String body) {
int statusCode = 0;
String responseBody = "";
try {
logger.info(String.format("Getting url: %s", url));
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
HttpPost httpPost = new HttpPost(url);
if (header != null && !header.isEmpty()) {
for (Map.Entry<String, String> entry : header.entrySet()) {
httpPost.addHeader(entry.getKey(), entry.getValue());
}
}
httpPost.setEntity(new StringEntity(body));
try (CloseableHttpResponse httpResponse = httpClient.execute(httpPost)) {
statusCode = httpResponse.getStatusLine().getStatusCode();
try (BufferedReader reader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent()))) {
responseBody = IOUtils.toString(reader);
logger.info(String.format("Finished getting url: %s, Http status: %s, Response body: %s",
url, statusCode, truncateLogString(responseBody)));
}
}
}
return new HttpResponse(statusCode, responseBody);
} catch (Exception ex) {
String msg = String.format("Failed getting url: %s", url);
logger.warn(msg, ex);
throw new RuntimeException(msg, ex);
}
}