From 5d0154e5db6d1e24e0a7f72f79c5949e0cacff6c Mon Sep 17 00:00:00 2001 From: bono007 Date: Mon, 29 Mar 2021 01:13:07 -0500 Subject: [PATCH] Handle null kafka header values (#1629) Fixes gh-1628 --- .../kafka/ContractVerifierKafkaConfiguration.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/kafka/ContractVerifierKafkaConfiguration.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/kafka/ContractVerifierKafkaConfiguration.java index ed9fab3055..b513e34f99 100644 --- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/kafka/ContractVerifierKafkaConfiguration.java +++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/messaging/kafka/ContractVerifierKafkaConfiguration.java @@ -17,8 +17,8 @@ package org.springframework.cloud.contract.verifier.messaging.kafka; import java.nio.charset.StandardCharsets; +import java.util.HashMap; import java.util.Map; -import java.util.stream.Collectors; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -89,11 +89,17 @@ class ContractVerifierKafkaHelper extends ContractVerifierMessaging> } private MessageHeaders convertHeaders(Map headers) { - return new MessageHeaders(headers.entrySet().stream() - .collect(Collectors.toMap(Map.Entry::getKey, e -> maybeConvertValue(e.getValue())))); + final Map headersMap = new HashMap<>(); + if (headers != null) { + headers.forEach((k, v) -> headersMap.put(k, maybeConvertValue(v))); + } + return new MessageHeaders(headersMap); } private Object maybeConvertValue(Object value) { + if (value == null) { + return value; + } if (!(value instanceof byte[])) { return value; }