import Bluebird = require("bluebird"); import Fs = require("fs"); import Request = require("request-promise"); export async function GetLinkFromFile() { const data = await Bluebird.promisify(Fs.readFile)("/tmp/authelia/notification.txt") const regexp = new RegExp(/Link: (.+)/); const match = regexp.exec(data.toLocaleString()); if (match == null) { throw new Error('No match'); } return match[1]; }; export async function GetLinkFromEmail() { const data = await Request({ method: "GET", uri: "https://mail.example.com:8080/messages", json: true, rejectUnauthorized: false, }); const messageId = data[data.length - 1].id; const data2 = await Request({ method: "GET", rejectUnauthorized: false, uri: `https://mail.example.com:8080/messages/${messageId}.html` }); const regexp = new RegExp(/Continue<\/a>/); const match = regexp.exec(data2); if (match == null) { throw new Error('No match'); } return match[1]; };