From cc7ba081cc65b568743f0254e09d7d13a4376b3f Mon Sep 17 00:00:00 2001 From: Satya Date: Mon, 20 Jan 2025 22:34:51 +0800 Subject: [PATCH] fix: #99 Interrupt download gracefully on ctrl+c --- .../cardano/yacicli/commands/common/DownloadService.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/applications/cli/src/main/java/com/bloxbean/cardano/yacicli/commands/common/DownloadService.java b/applications/cli/src/main/java/com/bloxbean/cardano/yacicli/commands/common/DownloadService.java index db8af8f..96c7b58 100644 --- a/applications/cli/src/main/java/com/bloxbean/cardano/yacicli/commands/common/DownloadService.java +++ b/applications/cli/src/main/java/com/bloxbean/cardano/yacicli/commands/common/DownloadService.java @@ -339,6 +339,12 @@ private Path download(String component, String downloadUrl, String targetDir, St int percentCompleted; while ((bytesRead = inputStream.read(buffer)) != -1) { + if (Thread.currentThread().isInterrupted()) { + writeLn(warnLabel("Download", "Download interrupted by user.")); + Files.deleteIfExists(targetPath); + return null; + } + outputStream.write(buffer, 0, bytesRead); totalBytesRead += bytesRead; percentCompleted = (int) ((totalBytesRead * 100) / fileSize);