- HttpStatus status = response.statusCode();
- HttpHeaders headers = response.headers().asHttpHeaders();
- return
- () -> response
- .bodyToMono(InputStream.class)
- .map(is -> create(status , headers, is))
- .block();
+ return DataBufferUtils.join(response.body(BodyExtractors.toDataBuffers()))
+ .map(dataBuffer -> {
+ byte[] bytes = new byte[dataBuffer.readableByteCount()];
+ dataBuffer.read(bytes);
+ DataBufferUtils.release(dataBuffer);
+ return bytes;
+ })
+ .defaultIfEmpty(new byte[0])
+ .map(bytes -> create(response.statusCode(), response.headers().asHttpHeaders(), bytes));