### 版本情况

JDK版本：    openjdk_8_201
hutool版本： 5.X.X（请确保最新尝试是否还有问题）

### 问题描述（包括截图）
请问一下我写了一个方法传入url，通过http异步请求，返回响应的输入流，调用此方法的代码用完InputStream后会手动关闭，那么是否还需要关闭HttpResponse？如果要的话要在哪关闭？

1. 复现代码

```java
public InputStream download(String url) {
        HttpResponse response = HttpRequest.get(url)
                .addHeaders(createHeaders())
                .setConnectionTimeout(timeout)
                .setReadTimeout(readTimeout)
                .executeAsync();
        if (!response.isOk()) {
            throw new RuntimeException("http request fail: [" + response.getStatus() + "]" + response.body());
        }
        return response.bodyStream();
}
```

2. 堆栈信息

3. 测试涉及到的文件（注意脱密）

比如报错的Excel文件，有问题的图片等。
请问一下HttpUtil executeAsync方式是否需要手动关闭
This is a GitHub Issue
repo:hutool
owner:dromara
Title : 请问一下HttpUtil executeAsync方式是否需要手动关闭
Issue date:

--- start body ---
### 版本情况

JDK版本：    openjdk_8_201
hutool版本： 5.X.X（请确保最新尝试是否还有问题）

### 问题描述（包括截图）
请问一下我写了一个方法传入url，通过http异步请求，返回响应的输入流，调用此方法的代码用完InputStream后会手动关闭，那么是否还需要关闭HttpResponse？如果要的话要在哪关闭？

1. 复现代码

```java
public InputStream download(String url) {
        HttpResponse response = HttpRequest.get(url)
                .addHeaders(createHeaders())
                .setConnectionTimeout(timeout)
                .setReadTimeout(readTimeout)
                .executeAsync();
        if (!response.isOk()) {
            throw new RuntimeException("http request fail: [" + response.getStatus() + "]" + response.body());
        }
        return response.bodyStream();
}
```

2. 堆栈信息

3. 测试涉及到的文件（注意脱密）

比如报错的Excel文件，有问题的图片等。
--- end body ---
