Skip to content

Commit f1662eb

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

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
@@ -63,8 +63,9 @@ public class DefaultKafkaHeaderMapper extends AbstractKafkaHeaderMapper {
6363

6464
private static final List<String> DEFAULT_TRUSTED_PACKAGES =
6565
Arrays.asList(
66-
"java.util",
6766
"java.lang",
67+
"java.net",
68+
"java.util",
6869
"org.springframework.util"
6970
);
7071

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.Charset;
2324
import java.util.Collections;
2425
import java.util.HashMap;
@@ -62,10 +63,11 @@ public void testTrustedAndNot() {
6263
.setHeader(MessageHeaders.CONTENT_TYPE, utf8Text)
6364
.setHeader("simpleContentType", MimeTypeUtils.TEXT_PLAIN)
6465
.setHeader("customToString", new Bar("fiz"))
66+
.setHeader("uri", URI.create("https://foo.bar"))
6567
.build();
6668
RecordHeaders recordHeaders = new RecordHeaders();
6769
mapper.fromHeaders(message.getHeaders(), recordHeaders);
68-
assertThat(recordHeaders.toArray().length).isEqualTo(9); // 8 + json_types
70+
assertThat(recordHeaders.toArray().length).isEqualTo(10); // 9 + json_types
6971
Map<String, Object> headers = new HashMap<>();
7072
mapper.toHeaders(recordHeaders, headers);
7173
assertThat(headers.get("foo")).isInstanceOf(byte[].class);
@@ -78,10 +80,11 @@ public void testTrustedAndNot() {
7880
assertThat(headers.get(MessageHeaders.REPLY_CHANNEL)).isNull();
7981
assertThat(headers.get(MessageHeaders.ERROR_CHANNEL)).isEqualTo("errors");
8082
assertThat(headers.get("customToString")).isEqualTo("Bar [field=fiz]");
83+
assertThat(headers.get("uri")).isEqualTo(URI.create("https://foo.bar"));
8184
NonTrustedHeaderType ntht = (NonTrustedHeaderType) headers.get("fix");
8285
assertThat(ntht.getHeaderValue()).isNotNull();
8386
assertThat(ntht.getUntrustedType()).isEqualTo(Foo.class.getName());
84-
assertThat(headers).hasSize(8);
87+
assertThat(headers).hasSize(9);
8588

8689
mapper.addTrustedPackages(getClass().getPackage().getName());
8790
headers = new HashMap<>();
@@ -90,7 +93,7 @@ public void testTrustedAndNot() {
9093
assertThat(new String((byte[]) headers.get("foo"))).isEqualTo("bar");
9194
assertThat(headers.get("baz")).isEqualTo("qux");
9295
assertThat(headers.get("fix")).isEqualTo(new Foo());
93-
assertThat(headers).hasSize(8);
96+
assertThat(headers).hasSize(9);
9497
}
9598

9699
@Test

0 commit comments

Comments
 (0)