class HttpMessage implements Message<T> {

    public String getMethod() {
        if (incomingHttpMetadata != null) {
            return incomingHttpMetadata.getMethod();
        }
        return outgoingHttpMetadata.getMethod();
    }

      HttpMessage(HttpRequestMetadata metadata, T payload, Supplier<CompletionStage<Void>> ack);
      HttpMessage(String method, String url, T payload, Map<String, List<String>> query,
            Map<String, List<String>> headers, Supplier<CompletionStage<Void>> ack);

}