From a94bc5c81c83d21b5d6ec367830b66b0d9569a6d Mon Sep 17 00:00:00 2001 From: Joke de Buhr Date: Wed, 3 Nov 2021 09:54:38 +0100 Subject: [PATCH] Close input stream on CloudEventHttpMessageReader (#421) Signed-off-by: Joke de Buhr --- .../spring/webflux/CloudEventHttpMessageReader.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/spring/src/main/java/io/cloudevents/spring/webflux/CloudEventHttpMessageReader.java b/spring/src/main/java/io/cloudevents/spring/webflux/CloudEventHttpMessageReader.java index fe8a9b37..92892aa9 100644 --- a/spring/src/main/java/io/cloudevents/spring/webflux/CloudEventHttpMessageReader.java +++ b/spring/src/main/java/io/cloudevents/spring/webflux/CloudEventHttpMessageReader.java @@ -28,6 +28,7 @@ import org.springframework.util.StreamUtils; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +import java.io.InputStream; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -62,8 +63,8 @@ public class CloudEventHttpMessageReader implements HttpMessageReader hints) { HttpHeaders headers = message.getHeaders(); Mono body = DataBufferUtils.join(message.getBody()).map(buffer -> { - try { - return StreamUtils.copyToByteArray(buffer.asInputStream(true)); + try (InputStream inputStream = buffer.asInputStream(true)) { + return StreamUtils.copyToByteArray(inputStream); } catch (Exception e) { throw new IllegalArgumentException(e);