From: Kai Moritz Date: Tue, 8 Apr 2025 05:29:21 +0000 (+0200) Subject: Refactor: DRY für `DeadLetterController` X-Git-Url: http://juplo.de/gitweb/?a=commitdiff_plain;h=59f1bf7dfe61f6cb03415395595ff104305dad2b;p=demos%2Fkafka%2Ftraining Refactor: DRY für `DeadLetterController` --- 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)