in client/src/main/java/org/apache/cassandra/sidecar/client/RequestExecutor.java [332:360]
private <T> void processResponse(CompletableFuture<T> future,
Request request,
HttpResponse response,
Throwable throwable)
{
if (throwable != null)
{
logger.error("Failed to process request={}, response={}", request, response, throwable);
future.completeExceptionally(throwable);
return;
}
try
{
if (request instanceof DecodableRequest)
{
DecodableRequest<T> decodableRequest = (DecodableRequest<T>) request;
future.complete(decodableRequest.decode(response.raw()));
}
else
{
future.complete((T) response.contentAsString());
}
}
catch (Throwable t)
{
future.completeExceptionally(t);
}
}