public static HttpResponse post()

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);
        }
    }