private void handleResponseWithoutContent(RetryConfig<HttpResponse> config, ClientRequestContext ctx,
                                              HttpRequestDuplicator rootReqDuplicator, HttpRequest originalReq,
                                              HttpResponse returnedRes, CompletableFuture<HttpResponse> future,
                                              ClientRequestContext derivedCtx, HttpResponse response,
                                              @Nullable Throwable responseCause) {
        if (responseCause != null) {
            responseCause = Exceptions.peel(responseCause);
        }
        try {
            final RetryRule retryRule = retryRule(config);
            final CompletionStage<RetryDecision> f = retryRule.shouldRetry(derivedCtx, responseCause);
            f.handle((decision, shouldRetryCause) -> {
                warnIfExceptionIsRaised(retryRule, shouldRetryCause);
                handleRetryDecision(decision, ctx, derivedCtx, rootReqDuplicator,
                                    originalReq, returnedRes, future, response);
                return null;
            });
        } catch (Throwable cause) {
            response.abort();
            handleException(ctx, rootReqDuplicator, future, cause, false);
        }
    }
Creates a new instance that decorates the specified {@link HttpClient}.
core/src/main/java/com/linecorp/armeria/client/retry/RetryingClient.java