From 59f1bf7dfe61f6cb03415395595ff104305dad2b Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Tue, 8 Apr 2025 07:29:21 +0200 Subject: [PATCH] =?utf8?q?Refactor:=20DRY=20f=C3=BCr=20`DeadLetterControll?= =?utf8?q?er`?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../java/de/juplo/kafka/DeadLetterController.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/juplo/kafka/DeadLetterController.java b/src/main/java/de/juplo/kafka/DeadLetterController.java index 17cc7ea..54cce83 100644 --- a/src/main/java/de/juplo/kafka/DeadLetterController.java +++ b/src/main/java/de/juplo/kafka/DeadLetterController.java @@ -49,14 +49,14 @@ public class DeadLetterController builder.header( prefixed(KEY), - UriUtils.encodePathSegment(new String(record.key()), StandardCharsets.UTF_8)); + encode(new String(record.key()))); builder.header( prefixed(TIMESTAMP), Long.toString(record.timestamp())); record.headers().forEach(header -> builder.header( - UriUtils.encodePathSegment(prefixed(header.key()), StandardCharsets.UTF_8), - UriUtils.encodePathSegment(new String(header.value(), StandardCharsets.UTF_8), StandardCharsets.UTF_8))); + encode(prefixed(header.key())), + encode(header.value()))); return builder.body(record.value()); }); @@ -67,6 +67,15 @@ public class DeadLetterController return headerPrefix + headerName; } + String encode(byte[] bytes) + { + return encode(new String(bytes, StandardCharsets.UTF_8)); + } + + String encode(String string) + { + return UriUtils.encodePathSegment(string, StandardCharsets.UTF_8); + } @ResponseStatus(value= HttpStatus.NOT_FOUND) @ExceptionHandler(OffsetOutOfRangeException.class) -- 2.20.1