Cancel disconnected offer analysis and stop remaining provider calls
This commit is contained in:
+5
-2
@@ -1,3 +1,4 @@
|
||||
import { requestLifetime } from './request-lifetime.mjs';
|
||||
import {documentReview,saveDocumentReview,reviewedAnalysisSource} from './document-review.mjs';
|
||||
import { documentMetadataPatch, decodeDocumentUpload } from './document-metadata.mjs';
|
||||
import { deadlineInfo } from '../src/services/tenderCalendar.js';
|
||||
@@ -1457,9 +1458,10 @@ const server = http.createServer(async (req, res) => {
|
||||
const user = userFromAuthHeader(req.headers['authorization']);
|
||||
if (!user) return json(res, 401, { success: false, error: 'oturum yok' });
|
||||
if (!aiConfigured()) return json(res, 503, { success: false, error: 'AI hizmeti şu anda kullanılamıyor. Daha sonra yeniden deneyin; sorun sürerse uygulama yöneticinize bildirin.' });
|
||||
const lifetime = requestLifetime(req,res);
|
||||
try {
|
||||
const body = await readBody(req, 2 * 1024 * 1024);
|
||||
const ortak = { ikn: body.ikn, tender: body.tender, chain: body.chain, text: body.text };
|
||||
const ortak = { signal:lifetime.signal, ikn: body.ikn, tender: body.tender, chain: body.chain, text: body.text };
|
||||
const out = url.pathname === '/api/ai/belge-sor'
|
||||
? await belgeyeSor({ ...ortak, soru: body.soru })
|
||||
: url.pathname === '/api/ai/teklif-denetim'
|
||||
@@ -1467,8 +1469,9 @@ const server = http.createServer(async (req, res) => {
|
||||
: await teklifTaslak({ ...ortak, tur: body.tur, firma: body.firma, belgeler: body.belgeler, fiyat: body.fiyat, gereklilikler: body.gereklilikler });
|
||||
return json(res, 200, { success: true, ...out });
|
||||
} catch (e) {
|
||||
if (lifetime.signal.aborted) return;
|
||||
return json(res, e.attempts ? 502 : 400, { success: false, error: e.message });
|
||||
}
|
||||
} finally { lifetime.dispose(); }
|
||||
}
|
||||
|
||||
if (url.pathname === '/api/tenders') {
|
||||
|
||||
Reference in New Issue
Block a user