@UnstableApi
    static HttpRequest of(RequestHeaders headers,
                          CompletionStage<? extends StreamMessage<? extends HttpObject>> stage) {
        requireNonNull(headers, "headers");
        requireNonNull(stage, "stage");
        return of(headers, StreamMessage.of(stage));
    }
Creates a new HTTP request whose {@link Publisher} is produced by the specified
{@link CompletionStage}. If the specified {@link CompletionStage} fails, the returned request will be
closed with the same cause as well.

@param stage the {@link CompletionStage} which will produce the actual data and trailers
core/src/main/java/com/linecorp/armeria/common/HttpRequest.java