Skip to content

Commit 923c7ef

Browse files
committed
fix(tabstractconvertermanager): fix hard return on already processed files, and better file check
1 parent fb57a6d commit 923c7ef

1 file changed

Lines changed: 24 additions & 6 deletions

File tree

sources/core/converters/TAbstractConverterManager.js

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -386,23 +386,41 @@ class TAbstractConverterManager {
386386
const numberOfFiles = files.length
387387
this._convertersOptions = request.body
388388

389+
// protect again multi-request from client on large file that take time to return response
390+
const availableFiles = []
389391
for ( let fileIndex = 0 ; fileIndex < numberOfFiles ; fileIndex++ ) {
392+
390393
let file = files[ fileIndex ]
391-
if ( this._processedFiles.includes( file.filename ) ) { return }
392-
this._processedFiles.push( file.filename )
394+
395+
if ( this._processedFiles.includes( file.name ) ) {
396+
397+
if ( this._useNext ) {
398+
next( `Le fichier ${file.name} à déjà été inséré.` )
399+
} else {
400+
TAbstractConverterManager.returnError( `Le fichier ${file.name} à déjà été inséré.`, response )
401+
}
402+
403+
}
404+
405+
this._processedFiles.push( file.name )
406+
availableFiles.push( file )
407+
393408
}
394409

395-
if ( numberOfFiles === 0 ) {
410+
const availableFilesNumber = availableFiles.length
411+
if ( availableFilesNumber === 0 ) {
396412

397413
if ( this._useNext ) {
398-
next( `Impossible d'analyser ${numberOfFiles} fichiers associatifs simultanément !` )
414+
next( `Impossible d'analyser ${availableFilesNumber} fichiers associatifs simultanément !` )
399415
} else {
400-
TAbstractConverterManager.returnError( `Impossible d'analyser ${numberOfFiles} fichiers associatifs simultanément !`, response )
416+
TAbstractConverterManager.returnError( `Impossible d'analyser ${availableFilesNumber} fichiers associatifs simultanément !`, response )
401417
}
402418

403419
}
404420

405-
this._processFiles( files, this._convertersOptions, response, next )
421+
this._filesToProcess += availableFilesNumber
422+
423+
this._processFiles( availableFiles, this._convertersOptions, response, next )
406424

407425
}
408426

0 commit comments

Comments
 (0)