Skip to content

Commit d8c00c5

Browse files
committed
Add empty files support for tempFileHandler
1 parent b24233d commit d8c00c5

File tree

1 file changed

+14
-24
lines changed

1 file changed

+14
-24
lines changed

lib/tempFileHandler.js

+14-24
Original file line numberDiff line numberDiff line change
@@ -18,31 +18,23 @@ module.exports = (options, fieldname, filename) => {
1818
const hash = crypto.createHash('md5');
1919
let fileSize = 0;
2020
let completed = false;
21-
22-
let writeStream = false;
23-
let writePromise = Promise.resolve();
2421

25-
const createWriteStream = () => {
26-
debugLog(options, `Opening write stream for ${fieldname}->${filename}...`);
27-
writeStream = fs.createWriteStream(tempFilePath);
28-
writePromise = new Promise((resolve, reject) => {
29-
writeStream.on('finish', () => {
30-
resolve();
31-
});
32-
writeStream.on('error', (err) => {
33-
debugLog(options, `Error write temp file: ${err}`);
34-
reject(err);
35-
});
22+
debugLog(options, `Opening write stream for ${fieldname}->${filename}...`);
23+
const writeStream = fs.createWriteStream(tempFilePath);
24+
const writePromise = new Promise((resolve, reject) => {
25+
writeStream.on('finish', () => resolve());
26+
writeStream.on('error', (err) => {
27+
debugLog(options, `Error write temp file: ${err}`);
28+
reject(err);
3629
});
37-
};
30+
});
3831

3932
return {
4033
dataHandler: (data) => {
4134
if (completed === true) {
4235
debugLog(options, `Error: got ${fieldname}->${filename} data chunk for completed upload!`);
4336
return;
4437
}
45-
if (writeStream === false) createWriteStream();
4638
writeStream.write(data);
4739
hash.update(data);
4840
fileSize += data.length;
@@ -60,14 +52,12 @@ module.exports = (options, fieldname, filename) => {
6052
},
6153
cleanup: () => {
6254
completed = true;
63-
if (writeStream !== false) {
64-
debugLog(options, `Cleaning up temporary file ${tempFilePath}...`);
65-
writeStream.end();
66-
deleteFile(tempFilePath, err => (err
67-
? debugLog(options, `Cleaning up temporary file ${tempFilePath} failed: ${err}`)
68-
: debugLog(options, `Cleaning up temporary file ${tempFilePath} done.`)
69-
));
70-
}
55+
debugLog(options, `Cleaning up temporary file ${tempFilePath}...`);
56+
writeStream.end();
57+
deleteFile(tempFilePath, err => (err
58+
? debugLog(options, `Cleaning up temporary file ${tempFilePath} failed: ${err}`)
59+
: debugLog(options, `Cleaning up temporary file ${tempFilePath} done.`)
60+
));
7161
},
7262
getWritePromise: () => writePromise
7363
};

0 commit comments

Comments
 (0)