Http 使用Unirest下载大文件时支持用户请求的取消

Http 使用Unirest下载大文件时支持用户请求的取消,http,get,cancellation,unirest,Http,Get,Cancellation,Unirest,我正在尝试使用Unirest下载(可能很大)文件,我正在努力找到支持用户请求取消下载的最佳实践方式(除了进度监控和错误处理) 似乎没有办法将用户请求的取消(即用户按下“取消”按钮)传达给Unirest,从而中止正在运行的传输、关闭流和文件句柄、清理资源等 我查过了,但在地图上什么也没找到 我以前尝试过使用asObject/asObjectAsync,这导致整个传输在写入文件之前都在主内存中结束(因此在大量下载时失败) getRequest .downloadMonitor((__1, __2

我正在尝试使用Unirest下载(可能很大)文件,我正在努力找到支持用户请求取消下载的最佳实践方式(除了进度监控和错误处理)

似乎没有办法将用户请求的取消(即用户按下“取消”按钮)传达给Unirest,从而中止正在运行的传输、关闭流和文件句柄、清理资源等

我查过了,但在地图上什么也没找到

我以前尝试过使用
asObject
/
asObjectAsync
,这导致整个传输在写入文件之前都在主内存中结束(因此在大量下载时失败)

getRequest
  .downloadMonitor((__1, __2, bytesWritten, bytesTotal) -> {
    ... // signal progress (elided)
  })
  .asFile(somePath)
  .ifFailure(response -> {
     someExternalErrorHandler.reportError(response.getStatus(), response::getStatusText);
  })