Skip to content

Commit 6f8127a

Browse files
committed
GH-1176 Add java.net to trusted packages (headers)
Resolves #1176 `HttpHeaders` renders the `Location` header as a `URI`.
1 parent 159619d commit 6f8127a

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

spring-kafka/src/main/java/org/springframework/kafka/support/DefaultKafkaHeaderMapper.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,9 @@ public class DefaultKafkaHeaderMapper extends AbstractKafkaHeaderMapper {
6262

6363
private static final List<String> DEFAULT_TRUSTED_PACKAGES =
6464
Arrays.asList(
65-
"java.util",
6665
"java.lang",
66+
"java.net",
67+
"java.util",
6768
"org.springframework.util"
6869
);
6970

spring-kafka/src/test/java/org/springframework/kafka/support/DefaultKafkaHeaderMapperTests.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import static org.assertj.core.api.Assertions.assertThat;
2020
import static org.assertj.core.api.Assertions.entry;
2121

22+
import java.net.URI;
2223
import java.nio.charset.StandardCharsets;
2324
import java.util.Arrays;
2425
import java.util.Collections;
@@ -64,10 +65,11 @@ public void testTrustedAndNot() {
6465
.setHeader(MessageHeaders.CONTENT_TYPE, utf8Text)
6566
.setHeader("simpleContentType", MimeTypeUtils.TEXT_PLAIN_VALUE)
6667
.setHeader("customToString", new Bar("fiz"))
68+
.setHeader("uri", URI.create("https://foo.bar"))
6769
.build();
6870
RecordHeaders recordHeaders = new RecordHeaders();
6971
mapper.fromHeaders(message.getHeaders(), recordHeaders);
70-
assertThat(recordHeaders.toArray().length).isEqualTo(9); // 8 + json_types
72+
assertThat(recordHeaders.toArray().length).isEqualTo(10); // 9 + json_types
7173
Map<String, Object> headers = new HashMap<>();
7274
mapper.toHeaders(recordHeaders, headers);
7375
assertThat(headers.get("foo")).isInstanceOf(byte[].class);
@@ -80,10 +82,11 @@ public void testTrustedAndNot() {
8082
assertThat(headers.get(MessageHeaders.REPLY_CHANNEL)).isNull();
8183
assertThat(headers.get(MessageHeaders.ERROR_CHANNEL)).isEqualTo("errors");
8284
assertThat(headers.get("customToString")).isEqualTo("Bar [field=fiz]");
85+
assertThat(headers.get("uri")).isEqualTo(URI.create("https://foo.bar"));
8386
NonTrustedHeaderType ntht = (NonTrustedHeaderType) headers.get("fix");
8487
assertThat(ntht.getHeaderValue()).isNotNull();
8588
assertThat(ntht.getUntrustedType()).isEqualTo(Foo.class.getName());
86-
assertThat(headers).hasSize(8);
89+
assertThat(headers).hasSize(9);
8790

8891
mapper.addTrustedPackages(getClass().getPackage().getName());
8992
headers = new HashMap<>();
@@ -92,7 +95,7 @@ public void testTrustedAndNot() {
9295
assertThat(new String((byte[]) headers.get("foo"))).isEqualTo("bar");
9396
assertThat(headers.get("baz")).isEqualTo("qux");
9497
assertThat(headers.get("fix")).isEqualTo(new Foo());
95-
assertThat(headers).hasSize(8);
98+
assertThat(headers).hasSize(9);
9699
}
97100

98101
@Test

0 commit comments

Comments
 (0)