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