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 };
|