💡 Update comments for release path search

This commit is contained in:
C-3PO 2018-06-22 17:59:22 +02:00
parent 07caf282d8
commit ee3fd0a60f
Signed by: c3po
GPG key ID: 62993C4BB4D86F24
4 changed files with 21 additions and 9 deletions

35
src/cdn/getUrlContents.ts Normal file
View file

@ -0,0 +1,35 @@
import * as http from 'http';
export default function getUrlContents({ host, path }: {host: string, path: string}): Promise<ArrayBuffer> {
return new Promise((resolve, reject) => {
const request = http.request({
family: 4,
host,
path,
}, (response) => {
if (response.statusCode !== 200) {
return reject(`Expected status code 200 but received ${response.statusCode}`);
}
const headerLength = Number(response.headers['content-length']);
const chunkList: Buffer[] = [];
let totalLength = 0;
response.on('data', (chunk: Buffer) => {
chunkList.push(chunk);
totalLength += chunk.length;
});
response.on('end', () => {
if (totalLength !== headerLength) {
return reject(`Expected length ${headerLength} but received ${totalLength}`);
}
const fileContents = Buffer.concat(chunkList, totalLength);
resolve(fileContents.buffer as ArrayBuffer);
});
});
request.on('error', (e) => {
reject(e);
});
request.end();
});
}