public CompletableFuture getObjectWithAsyncResponseHandler()

in oss-20190517/src/main/java/com/aliyun/sdk/service/oss20190517/encryption/internal/DefaultAsyncEncryptionClient.java [98:113]


    public <ReturnT> CompletableFuture<ReturnT> getObjectWithAsyncResponseHandler(GetObjectRequest request, AsyncResponseHandler<GetObjectResponse, ReturnT> responseHandler) {
        return asyncClient.headObject(toHeadObjectRequest(request)).thenCompose(result -> {
            final Map<String, String> headers = result.getHeaders();
            if (Utils.hasEncryptionInfo(headers)) {
                try {
                    CryptoModule crypto = new CryptoModuleDispatcher(ossDirect, encryptionMaterials, cryptoConfiguration);
                    return crypto.getObjectSecurely(request, headers, responseHandler);
                } catch (Exception e) {
                    CompletableFuture<ReturnT> future = new CompletableFuture<>();
                    future.completeExceptionally(e);
                    return future;
                }
            }
            return asyncClient.getObjectWithAsyncResponseHandler(request, responseHandler);
        });
    }