]>
Commit | Line | Data |
---|---|---|
6fcd19ba | 1 | import * as Promise from 'bluebird' |
0d0e8dd0 | 2 | import { createWriteStream } from 'fs' |
571389d4 | 3 | import * as request from 'request' |
e4f97bab C |
4 | |
5 | function doRequest (requestOptions: request.CoreOptions & request.UriOptions) { | |
6 | return new Promise<{ response: request.RequestResponse, body: any }>((res, rej) => { | |
7 | request(requestOptions, (err, response, body) => err ? rej(err) : res({ response, body })) | |
8 | }) | |
9 | } | |
dac0a531 | 10 | |
0d0e8dd0 C |
11 | function doRequestAndSaveToFile (requestOptions: request.CoreOptions & request.UriOptions, destPath: string) { |
12 | return new Promise<request.RequestResponse>((res, rej) => { | |
13 | request(requestOptions) | |
14 | .on('response', response => res(response as request.RequestResponse)) | |
15 | .on('error', err => rej(err)) | |
16 | .pipe(createWriteStream(destPath)) | |
17 | }) | |
18 | } | |
19 | ||
9f10b292 | 20 | // --------------------------------------------------------------------------- |
dac0a531 | 21 | |
65fcc311 | 22 | export { |
e4f97bab | 23 | doRequest, |
571389d4 | 24 | doRequestAndSaveToFile |
65fcc311 | 25 | } |