private CompletableFuture createWebSocket()

in gemini/src/main/java/deltix/connector/crypto/gemini/GeminiWsClient.java [56:78]


    private CompletableFuture<WebSocket> createWebSocket() {
        final RequestBuilder requestBuilder = new RequestBuilder();
        requestBuilder
                .setMethod(HttpConstants.Methods.GET)
                .setUrl(subscribeUrl)
                .setHeader("Content-Type", "text/plain");

        final DefaultRequest subscribeRequest = new DefaultRequest();
        subscribeRequest.setRequest("/v1/order/events");
        subscribeRequest.setNonce(context.getApiKeyContext().nextNonce());

        final String payload = JsonUtil.valueAsString(context.getObjectMapper(), subscribeRequest);
        if (getLog().isTraceEnabled()) {
            getLog().trace("WS Subscribe Request: %s").with(payload);
        }

        GeminiUtil.setRequestPayload(context, requestBuilder, payload);

        return context.getHttpClient()
                .prepareRequest(requestBuilder)
                .execute(upgradeHandler).toCompletableFuture()
                .handle((nettyWebSocket, throwable) -> nettyWebSocket);
    }