2.1.1 • Published 2 months ago

dl-vampire v2.1.1

Weekly downloads
8
License
MIT
Repository
github
Last release
2 months ago

dl-vampire

download file like a vampire

Build Status Coverage Status npm version npm downloads npm license

vampire

Highlight

  • skip mechanism, local file & content-length
  • retry / timeout support
  • stream to file, not ate memory like the download module
  • download progress support, via awesome got module

Install

$ npm i dl-vampire --save

API

import dl, { Vampire, readUrl } from 'dl-vampire'

dl(options: DlOptions) => Promise<{skip: boolean}>

nametyperequireddefault valuedescription
options.urlStringtruethe download url
options.fileStringtruethe local target file path
options.onprogressfunction(progress)got downloadProgress event listener
options.retryObject{times: 5, timeout: false}retry options, will pass to promise.retry
options.skipExistsbooleantrueif local file already exists AND file stat size match response content-length size, the download will be skiped
options.expectSizenumbervalidate local file stat.size === expectSize, if check pass the download will be skiped
options.expectHashstringvalidate local file file.hash === expectHash, using expectHashAlgorithm if check pass the download will be skiped
options.expectHashAlgorithmstring'md5'the expect hash algorithm, default md5
options.useChromeUaBooleantrueuse user-agent of the Chrome Browser
options.useProxyEnvBooleantrueuse proxy-agent module, will use http_proxy / https_proxy / all_proxy env variable
options.requestOptionsObjectcustom request options, see request options
  • if finally the download is skiped, the return promise will resolve to {skip: true}
  • else it will resolve to {skip: false}

options.retry.*

nametypedescription
options.retry.timesNumbermax retry times
options.retry.timeoutNumber / falsefalse disables timeout check, Number: max wait in ms
options.retry.onerrorfunction(err, index)when retry happens, this hook will be called, whether a normal error or a timeout error, index is 0 based

more see https://github.com/magicdawn/promise.retry

ts types

// options for dl() / readUrl()
import type { DlOptions, ReadUrlOptions, ReadUrlOptionsWithEncoding } from 'dl-vampire'

// onpregress type, and progress arg type
import type { OnProgress, Progress } from 'dl-vampire'

Changelog

CHANGELOG.md

License

the MIT License http://magicdawn.mit-license.org

2.1.1

2 months ago

2.1.0

3 months ago

2.0.0

7 months ago

1.4.1

12 months ago

1.3.3

1 year ago

1.3.2

1 year ago

1.4.0

1 year ago

1.2.0

2 years ago

1.1.0

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

1.2.3

2 years ago

1.3.1

2 years ago

1.2.2

2 years ago

1.3.0

2 years ago

1.2.1

2 years ago

0.5.0

4 years ago

0.4.0

4 years ago

0.3.0

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.0

4 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago