This commit is contained in:
parent
b8152cbc39
commit
d84a5a69b0
|
|
@ -118,7 +118,7 @@ async function markEmailAsProcessed(domain, key, status, processor = 'rest-api',
|
||||||
// Process endpoint
|
// Process endpoint
|
||||||
app.post('/process/:domain', async (req, res) => {
|
app.post('/process/:domain', async (req, res) => {
|
||||||
const { domain } = req.params;
|
const { domain } = req.params;
|
||||||
const auth = req.headers.get('authorization');
|
const auth = req.headers['authorization']; // Fixed: Use req.headers['authorization'] instead of req.headers.get
|
||||||
if (auth !== `Bearer ${API_TOKEN}`) {
|
if (auth !== `Bearer ${API_TOKEN}`) {
|
||||||
return res.status(401).json({ error: 'Unauthorized' });
|
return res.status(401).json({ error: 'Unauthorized' });
|
||||||
}
|
}
|
||||||
|
|
@ -137,6 +137,7 @@ app.post('/process/:domain', async (req, res) => {
|
||||||
|
|
||||||
logger.info(`[${requestId}] INCOMING POST /process/${domain}: payload_summary=${JSON.stringify(payloadSummary)}`);
|
logger.info(`[${requestId}] INCOMING POST /process/${domain}: payload_summary=${JSON.stringify(payloadSummary)}`);
|
||||||
|
|
||||||
|
let recipients = [];
|
||||||
try {
|
try {
|
||||||
// Decode and parse email
|
// Decode and parse email
|
||||||
const content = data.email_content;
|
const content = data.email_content;
|
||||||
|
|
@ -154,7 +155,7 @@ app.post('/process/:domain', async (req, res) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
const fromAddr = parser.from?.value[0]?.address || `lambda@${domain}`;
|
const fromAddr = parser.from?.value[0]?.address || `lambda@${domain}`;
|
||||||
const recipients = [
|
recipients = [
|
||||||
...(parser.to?.value || []),
|
...(parser.to?.value || []),
|
||||||
...(parser.cc?.value || []),
|
...(parser.cc?.value || []),
|
||||||
...(parser.bcc?.value || [])
|
...(parser.bcc?.value || [])
|
||||||
|
|
@ -198,10 +199,10 @@ app.post('/process/:domain', async (req, res) => {
|
||||||
res.status(200).json({
|
res.status(200).json({
|
||||||
message: 'Email forwarded',
|
message: 'Email forwarded',
|
||||||
forwarded_to: validRecipients
|
forwarded_to: validRecipients
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(`[${requestId}] Error in /process/${domain}: ${error.message}`);
|
logger.error(`[${requestId}] Error in /process/${domain}: ${error.message}`);
|
||||||
await markEmailAsProcessed(domain, data.s3_key, 'error', 'rest-api', fromAddr, recipients);
|
await markEmailAsProcessed(domain, data.s3_key, 'error', 'rest-api', parser?.from?.value[0]?.address || `lambda@${domain}`, recipients);
|
||||||
res.status(500).json({ error: 'Internal server error' });
|
res.status(500).json({ error: 'Internal server error' });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -209,7 +210,7 @@ app.post('/process/:domain', async (req, res) => {
|
||||||
// Stats endpoint
|
// Stats endpoint
|
||||||
app.get('/stats/:domain', async (req, res) => {
|
app.get('/stats/:domain', async (req, res) => {
|
||||||
const { domain } = req.params;
|
const { domain } = req.params;
|
||||||
const auth = req.headers.get('authorization');
|
const auth = req.headers['authorization']; // Fixed: Use req.headers['authorization'] instead of req.headers.get
|
||||||
if (auth !== `Bearer ${API_TOKEN}`) {
|
if (auth !== `Bearer ${API_TOKEN}`) {
|
||||||
return res.status(401).json({ error: 'Unauthorized' });
|
return res.status(401).json({ error: 'Unauthorized' });
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue