35 lines
797 B
JavaScript
35 lines
797 B
JavaScript
|
const phin = require("phin");
|
||
|
const rangi = require("rangi");
|
||
|
|
||
|
async function request(builtObject) {
|
||
|
const requestOptions = {
|
||
|
url: builtObject.ussd.endpoint,
|
||
|
method: "POST",
|
||
|
parse: "string",
|
||
|
timeout: builtObject.ussd.timeout,
|
||
|
form: {
|
||
|
sessionId: builtObject.sessionId,
|
||
|
phoneNumber: builtObject.user.ussdPhone,
|
||
|
serviceCode: builtObject.ussd.serviceCode,
|
||
|
text: builtObject.input,
|
||
|
},
|
||
|
};
|
||
|
|
||
|
try {
|
||
|
const { body } = await phin(requestOptions);
|
||
|
|
||
|
if (body.length > 1) {
|
||
|
console.log(rangi.yellow(`${builtObject.input}\n-------------`));
|
||
|
console.log(rangi.cyan(`${body.slice(4)}\n-------------`));
|
||
|
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
throw new Error("EMPTY_BODY");
|
||
|
} catch (error) {
|
||
|
console.log(error);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = { request };
|