Skip to content

Commit

Permalink
Closes Response.body() in Logger after rebuffering to avoid resources…
Browse files Browse the repository at this point in the history
… leak

Fixes #2529
  • Loading branch information
Nazukin-Dmitry committed Aug 29, 2024
1 parent 9b9d74f commit 5f4a81b
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion core/src/main/java/feign/Logger.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2012-2023 The Feign Authors
* Copyright 2012-2024 The Feign Authors
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
Expand All @@ -15,6 +15,7 @@

import static feign.Util.UTF_8;
import static feign.Util.decodeOrDefault;
import static feign.Util.ensureClosed;
import static feign.Util.valuesOrEmpty;
import static java.util.Objects.nonNull;
import java.io.IOException;
Expand Down Expand Up @@ -126,6 +127,7 @@ protected Response logAndRebufferResponse(String configKey,
log(configKey, ""); // CRLF
}
byte[] bodyData = Util.toByteArray(response.body().asInputStream());
ensureClosed(response.body());
bodyLength = bodyData.length;
if (logLevel.ordinal() >= Level.FULL.ordinal() && bodyLength > 0) {
log(configKey, "%s", decodeOrDefault(bodyData, UTF_8, "Binary data"));
Expand Down

0 comments on commit 5f4a81b

Please sign in to comment.