OpenFeign/feign

feign.Logger doesn't close response.body()

Closed this issue · 0 comments

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();
        }