From 0785f405ed35fc541513786c764d544969c7e357 Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Wed, 28 Nov 2018 13:51:44 +0100 Subject: [PATCH] Return empty array if null body. Fixes gh-804 --- .../restdocs/ContractResultHandler.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/ContractResultHandler.java b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/ContractResultHandler.java index 1f5a21f379..5245c4d671 100644 --- a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/ContractResultHandler.java +++ b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/ContractResultHandler.java @@ -29,6 +29,7 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; + import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -42,12 +43,6 @@ import com.github.tomakehurst.wiremock.http.QueryParameter; import com.github.tomakehurst.wiremock.http.Request; import com.github.tomakehurst.wiremock.http.RequestMethod; import com.github.tomakehurst.wiremock.servlet.WireMockHttpServletMultipartAdapter; -import org.springframework.http.MediaType; -import org.springframework.mock.web.MockHttpServletRequest; -import org.springframework.mock.web.MockHttpServletResponse; -import org.springframework.restdocs.mockmvc.MockMvcRestDocumentation; -import org.springframework.test.web.servlet.MvcResult; -import org.springframework.test.web.servlet.ResultHandler; import wiremock.com.google.common.base.Function; import wiremock.com.google.common.base.Joiner; import wiremock.com.google.common.base.Optional; @@ -57,6 +52,13 @@ import wiremock.com.google.common.collect.ImmutableMultimap; import wiremock.com.google.common.collect.Maps; import wiremock.org.eclipse.jetty.util.MultiPartInputStreamParser; +import org.springframework.http.MediaType; +import org.springframework.mock.web.MockHttpServletRequest; +import org.springframework.mock.web.MockHttpServletResponse; +import org.springframework.restdocs.mockmvc.MockMvcRestDocumentation; +import org.springframework.test.web.servlet.MvcResult; +import org.springframework.test.web.servlet.ResultHandler; + import static com.github.tomakehurst.wiremock.common.Encoding.encodeBase64; import static com.github.tomakehurst.wiremock.common.Exceptions.throwUnchecked; import static com.github.tomakehurst.wiremock.common.Strings.stringFromBytes; @@ -127,9 +129,10 @@ public class ContractResultHandler extends @Override protected byte[] getRequestBodyContent(MvcResult result) { - return new WireMockHttpServletRequestAdapter(result.getRequest()).getBody(); + byte[] body = new WireMockHttpServletRequestAdapter(result.getRequest()) + .getBody(); + return body != null ? body : new byte[0]; } - } // COPIED FROM WIREMOCK