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);
}