From 98ef2b8466fd4f34df7cd2389117adab7124031a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20K=C3=B6rber?= Date: Mon, 26 Feb 2024 18:20:54 +0100 Subject: [PATCH] Give instance URL if user action is required --- .../acme4j/exception/AcmeUserActionRequiredException.java | 7 +++++++ .../exception/AcmeUserActionRequiredExceptionTest.java | 2 ++ 2 files changed, 9 insertions(+) diff --git a/acme4j-client/src/main/java/org/shredzone/acme4j/exception/AcmeUserActionRequiredException.java b/acme4j-client/src/main/java/org/shredzone/acme4j/exception/AcmeUserActionRequiredException.java index 0c43ee86..457e6efd 100644 --- a/acme4j-client/src/main/java/org/shredzone/acme4j/exception/AcmeUserActionRequiredException.java +++ b/acme4j-client/src/main/java/org/shredzone/acme4j/exception/AcmeUserActionRequiredException.java @@ -69,4 +69,11 @@ public class AcmeUserActionRequiredException extends AcmeServerException { } } + @Override + public String toString() { + return getProblem().getInstance() + .map(uri -> "Please visit " + uri + " - details: " + getProblem()) + .orElseGet(super::toString); + } + } diff --git a/acme4j-client/src/test/java/org/shredzone/acme4j/exception/AcmeUserActionRequiredExceptionTest.java b/acme4j-client/src/test/java/org/shredzone/acme4j/exception/AcmeUserActionRequiredExceptionTest.java index ff744c45..81177379 100644 --- a/acme4j-client/src/test/java/org/shredzone/acme4j/exception/AcmeUserActionRequiredExceptionTest.java +++ b/acme4j-client/src/test/java/org/shredzone/acme4j/exception/AcmeUserActionRequiredExceptionTest.java @@ -45,6 +45,7 @@ public class AcmeUserActionRequiredExceptionTest { assertThat(ex.getMessage()).isEqualTo(detail); assertThat(ex.getTermsOfServiceUri().orElseThrow()).isEqualTo(tosUri); assertThat(ex.getInstance()).isEqualTo(instanceUrl); + assertThat(ex.toString()).isEqualTo("Please visit " + instanceUrl + " - details: " + detail); } /** @@ -64,6 +65,7 @@ public class AcmeUserActionRequiredExceptionTest { assertThat(ex.getMessage()).isEqualTo(detail); assertThat(ex.getTermsOfServiceUri()).isEmpty(); assertThat(ex.getInstance()).isEqualTo(instanceUrl); + assertThat(ex.toString()).isEqualTo("Please visit " + instanceUrl + " - details: " + detail); } }