webhook/node_modules/get-stdin/index.js
Joel Male 1ada95e04a
v2.0.0 (#12)
- Convert project to Javascript/Typescript
- Allow custom headers to be passed in (optional)
- Allow body to be optional
2020-08-26 10:52:47 +10:00

52 lines
754 B
JavaScript

'use strict';
const stdin = process.stdin;
module.exports = () => {
let ret = '';
return new Promise(resolve => {
if (stdin.isTTY) {
resolve(ret);
return;
}
stdin.setEncoding('utf8');
stdin.on('readable', () => {
let chunk;
while ((chunk = stdin.read())) {
ret += chunk;
}
});
stdin.on('end', () => {
resolve(ret);
});
});
};
module.exports.buffer = () => {
const ret = [];
let len = 0;
return new Promise(resolve => {
if (stdin.isTTY) {
resolve(Buffer.concat([]));
return;
}
stdin.on('readable', () => {
let chunk;
while ((chunk = stdin.read())) {
ret.push(chunk);
len += chunk.length;
}
});
stdin.on('end', () => {
resolve(Buffer.concat(ret, len));
});
});
};