summaryrefslogtreecommitdiff
path: root/src/misc/download-text-file.ts
blob: d6fd17fc1302e902fc9c67a05b67ad3e3548598b (plain)
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
import * as fs from 'fs';
import * as util from 'util';
import Logger from '../services/logger';
import { createTemp } from './create-temp';
import { downloadUrl } from './download-url';

const logger = new Logger('download-text-file');

export async function downloadTextFile(url: string): Promise<string> {
	// Create temp file
	const [path, cleanup] = await createTemp();

	logger.info(`Temp file is ${path}`);

	try {
		// write content at URL to temp file
		await downloadUrl(url, path);

		const text = await util.promisify(fs.readFile)(path, 'utf8');

		return text;
	} finally {
		cleanup();
	}
}