proc download(url, filepath: string): Future[HttpCode] {.async.} =
      let client = newAsyncHttpClient()
      var file = openasync(filepath, fmWrite)
      
      try:
        let resp = await client.request(url)
        await file.writeFromStream(resp.bodyStream)
        result = resp.code
      except Exception as e:
        echo e.msg
      finally:
        client.close()
        file.close()
    
    
    Run

Reply via email to