private void processResponse()

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