private Optional<String> getResponse(final String requestType, final String requestXML) throws IOException {
        final HttpUriRequest postRequest = RequestBuilder.post(updateServiceURL)
            .addParameter("type", requestType)
            .addParameter("query", requestXML)
            .build();

        try (final CloseableHttpClient httpClient = HttpClients.custom().setRoutePlanner(getRoutePlanner()).build();
             final CloseableHttpResponse response = httpClient.execute(postRequest)) {
            final int statusCode = response.getStatusLine().getStatusCode();
            if (statusCode == HttpStatus.SC_OK) {
                return Optional.of(EntityUtils.toString(response.getEntity()));
            } else {
                return Optional.empty();
            }
        }
    }
Queries the igniterealtime.org server. It's response is expected to include a list of
plugins that are available on the server / for download.

@param notificationsEnabled true if admins will be notified when new updates are found.
@throws Exception if some error happens during the query.
xmppserver/src/main/java/org/jivesoftware/openfire/update/UpdateManager.java