Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
let receivedSms;
let messageListener = evt => {
receivedSms = evt.body;
subscription.removeListener('message', messageListener);
notify('The subscription is alive. Notification delay:' + (Date.now() - sentTime));
rc.account().extension().messageStore(receivedSms.id).delete({});
rc.account().extension().messageStore(sentSms.id).delete({});
};
subscription.onMessage(messageListener);
let sentSms = await rc.account().extension().sms().post({
from: { phoneNumber: config.user.username },
to: [{ phoneNumber: config.user.username }],
text: 'Test sms to trigger subscription.'
});
let sentTime = Date.now();
await delay(notificationTimeout * 60 * 1000);
if (!receivedSms) {
let msg = 'The notification does not arrive in ' + notificationTimeout + ' minutes.';
await notify(msg);
await subscription.cancel();
process.exit(1);
}
}
async call(endpoint: string, query?: {}, opts?: RequestInit): Promise {
try {
return await this.sendApiCall(endpoint, query, opts);
} catch (e) {
if (this.handleRateLimit && e.code === TOO_MANY_REQUESTS) {
await delay(e['retryAfter']);
return await this.call(endpoint, query, opts);
}
throw e;
}
}