Close input stream on CloudEventHttpMessageReader (#421)

Signed-off-by: Joke de Buhr <joke.debuhr@eventim.de>
This commit is contained in:
Joke de Buhr 2021-11-03 09:54:38 +01:00 committed by GitHub
parent 32adfe9123
commit a94bc5c81c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 2 deletions

View File

@ -28,6 +28,7 @@ import org.springframework.util.StreamUtils;
import reactor.core.publisher.Flux; import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono; import reactor.core.publisher.Mono;
import java.io.InputStream;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -62,8 +63,8 @@ public class CloudEventHttpMessageReader implements HttpMessageReader<CloudEvent
Map<String, Object> hints) { Map<String, Object> hints) {
HttpHeaders headers = message.getHeaders(); HttpHeaders headers = message.getHeaders();
Mono<byte[]> body = DataBufferUtils.join(message.getBody()).map(buffer -> { Mono<byte[]> body = DataBufferUtils.join(message.getBody()).map(buffer -> {
try { try (InputStream inputStream = buffer.asInputStream(true)) {
return StreamUtils.copyToByteArray(buffer.asInputStream(true)); return StreamUtils.copyToByteArray(inputStream);
} }
catch (Exception e) { catch (Exception e) {
throw new IllegalArgumentException(e); throw new IllegalArgumentException(e);