| 182 | * @returns {Promise<{buffer(): Buffer; text(encoding?: BufferEncoding): string; type(): string}>} |
| 183 | */ |
| 184 | export function httpsRequest(url) { |
| 185 | return new Promise((resolve) => { |
| 186 | /** @type {Uint8Array[]} */ |
| 187 | const data = []; |
| 188 | https.get(url, (response) => { |
| 189 | response |
| 190 | .on('data', (chunk) => data.push(chunk)) |
| 191 | .on('end', () => { |
| 192 | const buffer = Buffer.concat(data); |
| 193 | resolve({ |
| 194 | buffer: () => buffer, |
| 195 | text: (encoding = 'utf8') => buffer.toString(encoding), |
| 196 | type: () => response.headers['content-type'] || '', |
| 197 | }); |
| 198 | }); |
| 199 | }); |
| 200 | }); |
| 201 | } |