private RequestOptions buildRequestOptions() {
        final RequestOptions requestOptions;
        final boolean requestStreaming = isRequestStreaming();
        if (requestOptionsBuilder != null) {
            if (requestOptionsBuilder.exchangeType() == null) {
                if (!requestStreaming) {
                    requestOptionsBuilder.exchangeType(ExchangeType.RESPONSE_STREAMING);
                }
            }
            requestOptions = requestOptionsBuilder.build();
        } else {
            if (!requestStreaming) {
                requestOptions = RESPONSE_STREAMING_REQUEST_OPTIONS;
            } else {
                requestOptions = RequestOptions.of();
            }
        }
        return requestOptions;
    }
Prepares and executes a new {@link HttpRequest} for {@link WebClient}.
core/src/main/java/com/linecorp/armeria/client/WebClientRequestPreparation.java