2018-06-21 15:44:13 +02:00
|
|
|
import * as http from 'http';
|
|
|
|
|
|
|
|
export const getFileContents: () => Promise<Buffer> = () => new Promise((resolve, reject) => {
|
|
|
|
const product = 'assets_swtor_de_de';
|
|
|
|
|
|
|
|
//Generate URL
|
|
|
|
const url = `http://cdn-patch.swtor.com/patch/${product}/${product}_-1to0.solidpkg`;
|
|
|
|
const path = `/patch/${product}/${product}_-1to0.solidpkg`;
|
|
|
|
const fileName = url.substr(url.lastIndexOf('/') + 1);
|
|
|
|
|
|
|
|
const request = http.request({
|
|
|
|
family: 4,
|
|
|
|
host: 'cdn-patch.swtor.com',
|
|
|
|
path,
|
|
|
|
}, (response) => {
|
|
|
|
console.log(`STATUS: ${response.statusCode}`);
|
|
|
|
console.log(`HEADERS: ${JSON.stringify(response.headers)}`);
|
|
|
|
|
|
|
|
const chunkList: Buffer[] = [];
|
|
|
|
let totalLength = 0;
|
2018-06-21 15:50:25 +02:00
|
|
|
response.on('data', (chunk: Buffer) => {
|
2018-06-21 15:44:13 +02:00
|
|
|
console.log(`BODY: ${chunk.length}`);
|
|
|
|
chunkList.push(chunk);
|
|
|
|
totalLength += chunk.length;
|
|
|
|
});
|
|
|
|
response.on('end', () => {
|
|
|
|
console.log('No more data in response.');
|
|
|
|
const fileContents = Buffer.concat(chunkList, totalLength);
|
|
|
|
resolve(fileContents);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
request.on('error', (e) => {
|
|
|
|
console.error(`problem with request: ${e.message}`);
|
|
|
|
reject(e);
|
|
|
|
});
|
|
|
|
request.end();
|
|
|
|
});
|
|
|
|
|
|
|
|
getFileContents();
|