This commit is contained in:
nBiqoz
2025-09-07 13:39:30 +02:00
parent f3c2cb6ff5
commit a0e033b7eb

View File

@@ -174,7 +174,8 @@ export async function POST(req: NextRequest) {
console.log("🔍 Appel à Presidio Analyzer...");
// ✅ Définir l'URL AVANT de l'utiliser
const presidioAnalyzerUrl = "http://localhost:5001/analyze";
const presidioAnalyzerUrl =
"http://analyzer.151.80.20.211.sslip.io/analyze";
try {
const analyzeResponse = await fetch(presidioAnalyzerUrl, {
@@ -211,7 +212,8 @@ export async function POST(req: NextRequest) {
};
console.log("🔍 Appel à Presidio Anonymizer...");
const presidioAnonymizerUrl = "http://localhost:5001/anonymize";
const presidioAnonymizerUrl =
"http://analyzer.151.80.20.211.sslip.io/anonymize";
const anonymizeResponse = await fetch(presidioAnonymizerUrl, {
method: "POST",
@@ -249,46 +251,57 @@ export async function POST(req: NextRequest) {
analyzerResults: AnalyzerResult[]
) => {
const replacementMap: Record<string, string> = {};
// Approche simple : comparer caractère par caractère
let originalIndex = 0;
let anonymizedIndex = 0;
// Trier les résultats par position
const sortedResults = [...analyzerResults].sort((a, b) => a.start - b.start);
const sortedResults = [...analyzerResults].sort(
(a, b) => a.start - b.start
);
for (const result of sortedResults) {
const originalValue = originalText.substring(result.start, result.end);
const originalValue = originalText.substring(
result.start,
result.end
);
// Avancer jusqu'à la position de l'entité dans le texte original
while (originalIndex < result.start) {
originalIndex++;
anonymizedIndex++;
}
// Maintenant on est au début de l'entité
// Dans le texte anonymisé, on doit avoir un remplacement qui commence par '['
if (anonymizedText[anonymizedIndex] === '[') {
if (anonymizedText[anonymizedIndex] === "[") {
// Trouver la fin du remplacement (le ']')
let endBracket = anonymizedIndex;
while (endBracket < anonymizedText.length && anonymizedText[endBracket] !== ']') {
while (
endBracket < anonymizedText.length &&
anonymizedText[endBracket] !== "]"
) {
endBracket++;
}
endBracket++; // Inclure le ']'
const replacementValue = anonymizedText.substring(anonymizedIndex, endBracket);
const replacementValue = anonymizedText.substring(
anonymizedIndex,
endBracket
);
replacementMap[originalValue] = replacementValue;
// Avancer les index
originalIndex = result.end;
anonymizedIndex = endBracket;
} else {
// Si pas de '[', avancer normalement
originalIndex = result.end;
anonymizedIndex += (result.end - result.start);
anonymizedIndex += result.end - result.start;
}
}
console.log("🔧 Valeurs de remplacement extraites:", replacementMap);
return replacementMap;
};