debug: Ajout de timeout et logs détaillés pour diagnostiquer le problème de réseau
- Ajout d'un timeout de 10 secondes avec AbortController - Logs détaillés du début de la requête fetch - Headers explicites pour la requête - Gestion d'erreur spécifique pour les timeouts - Logs du parsing JSON Fixes: Diagnostic du problème de requête qui ne retourne jamais
This commit is contained in:
parent
41dc846f9a
commit
177792929f
@ -106,8 +106,23 @@ export async function getFolderResults(folderHash: string): Promise<FolderRespon
|
||||
console.log(`[API] URL: ${API_BASE_URL}/folders/${folderHash}/results`)
|
||||
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}/folders/${folderHash}/results`)
|
||||
// Créer un AbortController pour gérer le timeout
|
||||
const controller = new AbortController()
|
||||
const timeoutId = setTimeout(() => {
|
||||
console.log(`[API] Timeout après 10 secondes`)
|
||||
controller.abort()
|
||||
}, 10000)
|
||||
|
||||
console.log(`[API] Début de la requête fetch...`)
|
||||
const response = await fetch(`${API_BASE_URL}/folders/${folderHash}/results`, {
|
||||
signal: controller.signal,
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
})
|
||||
|
||||
clearTimeout(timeoutId)
|
||||
console.log(`[API] Réponse reçue:`, response.status, response.statusText)
|
||||
console.log(`[API] Headers:`, Object.fromEntries(response.headers.entries()))
|
||||
|
||||
@ -116,12 +131,17 @@ export async function getFolderResults(folderHash: string): Promise<FolderRespon
|
||||
throw new Error(`Erreur lors de la récupération des résultats du dossier: ${response.statusText}`)
|
||||
}
|
||||
|
||||
console.log(`[API] Début du parsing JSON...`)
|
||||
const data = await response.json()
|
||||
console.log(`[API] Données reçues:`, data)
|
||||
console.log(`[API] Nombre de résultats:`, data.results?.length || 0)
|
||||
|
||||
return data
|
||||
} catch (error) {
|
||||
if (error.name === 'AbortError') {
|
||||
console.error(`[API] Requête annulée (timeout)`)
|
||||
throw new Error('Timeout: La requête a pris trop de temps')
|
||||
}
|
||||
console.error(`[API] Erreur lors de l'appel API:`, error)
|
||||
throw error
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user