classify document source outages
This commit is contained in:
+10
-3
@@ -657,6 +657,13 @@ function json(res, code, body) {
|
||||
res.end(JSON.stringify(body));
|
||||
}
|
||||
|
||||
const sourceUnavailable = error => ({
|
||||
success: false,
|
||||
error: error?.message || 'Resmi belge kaynağına ulaşılamadı.',
|
||||
code: 'SOURCE_UNAVAILABLE',
|
||||
retryable: true,
|
||||
});
|
||||
|
||||
function readRaw(req, limit = 1024 * 1024) {
|
||||
return new Promise((resolve, reject) => {
|
||||
let buf = '';
|
||||
@@ -829,7 +836,7 @@ const server = http.createServer(async (req, res) => {
|
||||
const out = await documentUrl(ikn);
|
||||
return json(res, 200, { success: true, ...out });
|
||||
} catch (e) {
|
||||
return json(res, 502, { success: false, error: e.message });
|
||||
return json(res, 502, sourceUnavailable(e));
|
||||
}
|
||||
}
|
||||
// İlan metni + kalemler — analiz için (tarayıcı gerektirmez)
|
||||
@@ -840,7 +847,7 @@ const server = http.createServer(async (req, res) => {
|
||||
const out = await ilanMetni(ikn);
|
||||
return json(res, 200, { success: true, ...out, ...announcementFields(out.metin) });
|
||||
} catch (e) {
|
||||
return json(res, 502, { success: false, error: e.message });
|
||||
return json(res, 502, sourceUnavailable(e));
|
||||
}
|
||||
}
|
||||
// Doküman metni — sunucu tarafı tarayıcı gerektirir
|
||||
@@ -853,7 +860,7 @@ const server = http.createServer(async (req, res) => {
|
||||
const out = await documentText(ikn);
|
||||
return json(res, 200, { success: true, ...out });
|
||||
} catch (e) {
|
||||
return json(res, 502, { success: false, error: e.message });
|
||||
return json(res, 502, sourceUnavailable(e));
|
||||
}
|
||||
}
|
||||
if (url.pathname === '/api/documents/config') {
|
||||
|
||||
Reference in New Issue
Block a user