fix: Feed API POST auth gate + sanitize e.message in error responses

This commit is contained in:
posimai 2026-04-06 09:09:26 +09:00
parent 9e90008575
commit 3cd8ebd0b6
1 changed files with 13 additions and 13 deletions

View File

@ -2060,7 +2060,7 @@ ${excerpt}
try { try {
const count = await runFeedFetch(); const count = await runFeedFetch();
res.json({ ok: true, fetched: count }); res.json({ ok: true, fetched: count });
} catch (e) { console.error(e); res.status(500).json({ error: e.message }); } } catch (e) { console.error(e); res.status(500).json({ error: 'Internal server error' }); }
}); });
// ── TTS (VOICEVOX) ───────────────────────────────────────────── // ── TTS (VOICEVOX) ─────────────────────────────────────────────
@ -2382,7 +2382,7 @@ ${excerpt}
if (result.rows.length === 0) return res.status(404).json({ error: 'グループが見つかりません' }); if (result.rows.length === 0) return res.status(404).json({ error: 'グループが見つかりません' });
res.json(result.rows[0]); res.json(result.rows[0]);
} catch (e) { } catch (e) {
res.status(500).json({ error: e.message }); res.status(500).json({ error: 'Internal server error' });
} }
}); });
@ -2395,7 +2395,7 @@ ${excerpt}
); );
res.json(result.rows); res.json(result.rows);
} catch (e) { } catch (e) {
res.status(500).json({ error: e.message }); res.status(500).json({ error: 'Internal server error' });
} }
}); });
@ -2423,7 +2423,7 @@ ${excerpt}
if (url) archiveShare(share.id, url); if (url) archiveShare(share.id, url);
} catch (e) { } catch (e) {
console.error('[together/share]', e.message); console.error('[together/share]', e.message);
res.status(500).json({ error: e.message }); res.status(500).json({ error: 'Internal server error' });
} }
}); });
@ -2440,7 +2440,7 @@ ${excerpt}
res.json({ ok: true }); res.json({ ok: true });
} catch (e) { } catch (e) {
console.error('[together/share DELETE]', e.message); console.error('[together/share DELETE]', e.message);
res.status(500).json({ error: e.message }); res.status(500).json({ error: 'Internal server error' });
} }
}); });
@ -2466,7 +2466,7 @@ ${excerpt}
res.json(result.rows); res.json(result.rows);
} catch (e) { } catch (e) {
console.error('[together/feed]', e.message); console.error('[together/feed]', e.message);
res.status(500).json({ error: e.message }); res.status(500).json({ error: 'Internal server error' });
} }
}); });
@ -2480,7 +2480,7 @@ ${excerpt}
if (result.rows.length === 0) return res.status(404).json({ error: '見つかりません' }); if (result.rows.length === 0) return res.status(404).json({ error: '見つかりません' });
res.json(result.rows[0]); res.json(result.rows[0]);
} catch (e) { } catch (e) {
res.status(500).json({ error: e.message }); res.status(500).json({ error: 'Internal server error' });
} }
}); });
@ -2509,7 +2509,7 @@ ${excerpt}
} }
} catch (e) { } catch (e) {
console.error('[together/react]', e.message); console.error('[together/react]', e.message);
res.status(500).json({ error: e.message }); res.status(500).json({ error: 'Internal server error' });
} }
}); });
@ -2522,7 +2522,7 @@ ${excerpt}
); );
res.json(result.rows); res.json(result.rows);
} catch (e) { } catch (e) {
res.status(500).json({ error: e.message }); res.status(500).json({ error: 'Internal server error' });
} }
}); });
@ -2540,7 +2540,7 @@ ${excerpt}
res.json(result.rows[0]); res.json(result.rows[0]);
} catch (e) { } catch (e) {
console.error('[together/comments POST]', e.message); console.error('[together/comments POST]', e.message);
res.status(500).json({ error: e.message }); res.status(500).json({ error: 'Internal server error' });
} }
}); });
@ -2564,7 +2564,7 @@ ${excerpt}
res.json(result.rows); res.json(result.rows);
} catch (e) { } catch (e) {
console.error('[together/search]', e.message); console.error('[together/search]', e.message);
res.status(500).json({ error: e.message }); res.status(500).json({ error: 'Internal server error' });
} }
}); });
@ -2665,7 +2665,7 @@ ${excerpt}
}); });
}); });
req2.on('timeout', () => { req2.destroy(); res.status(500).json({ error: 'Timeout' }); }); req2.on('timeout', () => { req2.destroy(); res.status(500).json({ error: 'Timeout' }); });
req2.on('error', (e) => { res.status(500).json({ error: e.message, code: e.code }); }); req2.on('error', (e) => { console.error('[proxy] error:', e.code, e.message); res.status(500).json({ error: 'Proxy error', code: e.code }); });
req2.end(); req2.end();
}); });
@ -2710,7 +2710,7 @@ ${excerpt}
req2.on('error', (e) => { req2.on('error', (e) => {
console.error('[atlas/tailscale-scan] error:', e.code, e.message); console.error('[atlas/tailscale-scan] error:', e.code, e.message);
res.status(500).json({ error: e.message, code: e.code }); res.status(500).json({ error: 'Scan error', code: e.code });
}); });
req2.end(); req2.end();