docs: private static String executeRequestInternal(HttpRequestBase httpRequest,
                                                 int retryTimeout,
                                                 int injectSocketTimeout,
                                                 AtomicBoolean canceling,
                                                 boolean withoutCookies,
                                                 boolean includeRetryParameters,
                                                 boolean includeRequestGuid)
    throws SnowflakeSQLException, IOException
    {
      if (logger.isDebugEnabled())
      {
        logger.debug("Pool: {} Executing: {}",
                     HttpUtil.getHttpClientStats(),
                     httpRequest);
      }
  
      String theString;
      StringWriter writer = null;
      CloseableHttpResponse response = null;
      try
      {
        response = RestRequest.execute(getHttpClient(),
                                       httpRequest,
                                       retryTimeout,
                                       injectSocketTimeout,
                                       canceling,
                                       withoutCookies,
                                       includeRetryParameters,
                                       includeRequestGuid);
  
        if (response == null ||
            response.getStatusLine().getStatusCode() != 200)
        {
          logger.error("Error executing request: {}",
                       httpRequest.toString());
  
          SnowflakeUtil.logResponseDetails(response, logger);
  
          if (response != null)
          {
            EntityUtils.consume(response.getEntity());
          }
  
          throw new SnowflakeSQLException(SqlState.IO_ERROR,
                                          ErrorCode.NETWORK_ERROR.getMessageCode(),
                                          "HTTP status="
                                          + ((response != null) ?
                                             response.getStatusLine().getStatusCode() :
                                             "null response"));
        }
  
        writer = new StringWriter();
        try (InputStream ins = response.getEntity().getContent())
        {
          IOUtils.copy(ins, writer, "UTF-8");
        }
  
        theString = writer.toString();
      }
      finally
      {
        IOUtils.closeQuietly(writer);
        IOUtils.closeQuietly(response);
      }
  
      if (logger.isDebugEnabled())
      {
        logger.debug(
            "Pool: {} Request returned for: {}",
            HttpUtil.getHttpClientStats(),
            httpRequest);
      }
  
      return theString;
    }