1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| import type { AxiosRequestConfig } from 'axios';
|
| import type { RequestClient } from '../request-client';
| import type { RequestResponse } from '../types';
|
| class FileDownloader {
| private client: RequestClient;
|
| constructor(client: RequestClient) {
| this.client = client;
| }
|
| public async download(
| url: string,
| config?: AxiosRequestConfig,
| ): Promise<RequestResponse<Blob>> {
| const finalConfig: AxiosRequestConfig = {
| ...config,
| responseType: 'blob',
| };
|
| const response = await this.client.get<RequestResponse<Blob>>(
| url,
| finalConfig,
| );
|
| return response;
| }
| }
|
| export { FileDownloader };
|
|