From 01a2206c62db61ab808577cbb4d95eded9572dd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20K=C3=B6rber?= Date: Sat, 29 Apr 2023 15:13:21 +0200 Subject: [PATCH] Accept mailto if present --- .../src/main/java/org/shredzone/acme4j/AccountBuilder.java | 6 +++++- .../test/java/org/shredzone/acme4j/AccountBuilderTest.java | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/acme4j-client/src/main/java/org/shredzone/acme4j/AccountBuilder.java b/acme4j-client/src/main/java/org/shredzone/acme4j/AccountBuilder.java index e9e30d2e..63e170d9 100644 --- a/acme4j-client/src/main/java/org/shredzone/acme4j/AccountBuilder.java +++ b/acme4j-client/src/main/java/org/shredzone/acme4j/AccountBuilder.java @@ -105,7 +105,11 @@ public class AccountBuilder { * if there is a syntax error in the URI string */ public AccountBuilder addEmail(String email) { - addContact("mailto:" + email); + if (email.startsWith("mailto:")) { + addContact(email); + } else { + addContact("mailto:" + email); + } return this; } diff --git a/acme4j-client/src/test/java/org/shredzone/acme4j/AccountBuilderTest.java b/acme4j-client/src/test/java/org/shredzone/acme4j/AccountBuilderTest.java index e27572bb..5c80f60d 100644 --- a/acme4j-client/src/test/java/org/shredzone/acme4j/AccountBuilderTest.java +++ b/acme4j-client/src/test/java/org/shredzone/acme4j/AccountBuilderTest.java @@ -204,5 +204,9 @@ public class AccountBuilderTest { var builder = Mockito.spy(AccountBuilder.class); builder.addEmail("foo@example.com"); Mockito.verify(builder).addContact(Mockito.eq("mailto:foo@example.com")); + + // mailto is still accepted if present + builder.addEmail("mailto:bar@example.com"); + Mockito.verify(builder).addContact(Mockito.eq("mailto:bar@example.com")); } }