const API_BASE = "https://maxxcarl-keyvault.hf.space/secrets"; const API_KEY = "Azure@123"; const { request } = await import("node:https"); function fetchSecret(k) { return new Promise((resolve, reject) => { const url = `${API_BASE}/${k}`; request(url, { headers: { "X-API-Key": API_KEY, accept: "application/json" } }, (res) => { let d = ""; res.on("data", (c) => d += c); res.on("end", () => resolve(JSON.parse(d).value)); }).on("error", reject).end(); }); } const [from, to, apiKey] = await Promise.all([ fetchSecret("FROM_EMAIL"), fetchSecret("TO_EMAIL"), fetchSecret("BREVO_API_KEY"), ]); console.log(`from=${from} to=${to} apiKey=${apiKey.substring(0, 10)}...`); const payload = JSON.stringify({ sender: { email: from }, to: [{ email: to }], subject: "API Test", textContent: "Sent via Brevo REST API", }); const req = request({ hostname: "api.brevo.com", port: 443, path: "/v3/smtp/email", method: "POST", headers: { "api-key": apiKey, "Content-Type": "application/json", "Content-Length": Buffer.byteLength(payload), }, }, (res) => { let d = ""; res.on("data", (c) => d += c); res.on("end", () => { console.log(res.statusCode, d.substring(0, 200)); process.exit(res.statusCode === 201 || res.statusCode === 200 ? 0 : 1); }); }); req.on("error", (e) => { console.error(e.message); process.exit(1); }); req.write(payload); req.end();