Skip to content

Commit c5c4801

Browse files
fix(webflux): exception handling
1 parent dca3dd2 commit c5c4801

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

‎spring-boot-starter/spring-boot-starter-webflux/src/main/java/com/getyourguide/openapi/validation/filter/decorator/BodyCachingServerHttpResponseDecorator.java‎

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,14 @@ public Mono<Void> writeWith(@NonNull Publisher<? extends DataBuffer> body) {
4747
}
4848

4949
var buffer = DataBufferUtils.join(body).doOnNext(dataBuffer -> {
50-
cachedBody = dataBuffer.toString(StandardCharsets.UTF_8);
51-
if (onBodyCachedListener != null) {
52-
onBodyCachedListener.run();
50+
try {
51+
cachedBody = dataBuffer.toString(StandardCharsets.UTF_8);
52+
if (onBodyCachedListener != null) {
53+
onBodyCachedListener.run();
54+
}
55+
} catch (RuntimeException exception) {
56+
DataBufferUtils.release(dataBuffer);
57+
throw exception;
5358
}
5459
});
5560
return super.writeWith(buffer);

0 commit comments

Comments
 (0)