When feign.Logger copies Response in method logAndRebufferResponse, it makes new instance of Response.Body, but it doesn't close original Response.Body.
It only closes underlying InputStream in the next line.
|
byte[] bodyData = Util.toByteArray(response.body().asInputStream()); |
Looks like, it could be potential leak of resources/connections. What do you think?
For example Response.Body implementation for apache hc5 is never executed.
@Override
public void close() throws IOException {
try {
EntityUtils.consume(entity);
} finally {
httpResponse.close();
}
When feign.Logger copies Response in method
logAndRebufferResponse, it makes new instance of Response.Body, but it doesn't close original Response.Body.It only closes underlying InputStream in the next line.
feign/core/src/main/java/feign/Logger.java
Line 128 in 9b9d74f
Looks like, it could be potential leak of resources/connections. What do you think?
For example Response.Body implementation for apache hc5 is never executed.