forked from wcko87/simple-twitch-streams-bot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
request.js
35 lines (35 loc) · 875 Bytes
/
request.js
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
32
33
34
35
let http;
function request (options, body, passthrough) {
return new Promise((resolve, reject) => {
if (body) {
options.headers['Content-Length'] = Buffer.byteLength(body);
}
if (options.special !== undefined) {
if (options.special.https) {
http = require('https');
}
delete options.special;
} else {
http = require('http');
}
let request = http.request(options, (response) => {
let data = [ ];
response.on('data', (chunk) => {
data.push(chunk);
}).on('end', () => {
data = Buffer.concat(data);
resolve({
"data": data.toString('utf8'),
"headers": response.headers
});
});
}).on('error', (error) => {
reject(error);
});
if (body) {
request.write(body);
}
request.end();
});
}
module.exports = request;