private Future<Void> storeQueueRequest(String queue, HttpMethod method, String targetUri, MultiMap queueHeaders) {
log.info("Going to write the queue request for queue '" + queue + "' to the storage");
Future<Void> future = Future.future();
MultiMap queueHeadersCopy = new CaseInsensitiveHeaders().addAll(queueHeaders);
if (HttpRequestHeader.containsHeader(queueHeadersCopy, CONTENT_LENGTH)) {
queueHeadersCopy.set(CONTENT_LENGTH.getName(), "0");
}
HttpRequest request = new HttpRequest(method, targetUri, queueHeadersCopy, null);
storage.storeQueueRequest(queue, request.toJsonObject()).setHandler(storeResult -> {
if (storeResult.failed()) {
log.error("Storing the queue request for queue '" + queue + "' failed. Cause: " + storeResult.cause());
future.fail(storeResult.cause());
} else {
log.info("Successfully stored the queue request for queue '" + queue + "'");
future.complete();
}
});
return future;
}