@@ -56,8 +56,6 @@ async function parseFormData(request, response, requestContexts, log) {
5656
5757 formDataParser . on ( 'file' , async ( fieldname , file , filename , encoding , mimetype ) => {
5858 if ( fileEventData ) {
59- const err = errors . InvalidArgument
60- . customizeDescription ( 'POST requires exactly one file upload per request.' ) ;
6159 file . resume ( ) ; // Resume the stream to drain and discard the file
6260 if ( tempFilePath ) {
6361 fs . unlink ( tempFilePath , unlinkErr => {
@@ -66,15 +64,15 @@ async function parseFormData(request, response, requestContexts, log) {
6664 }
6765 } ) ;
6866 }
69- return reject ( err ) ;
67+ return reject ( errors . InvalidArgument
68+ . customizeDescription ( 'POST requires exactly one file upload per request.' ) ) ;
7069 }
7170
7271 fileEventData = { fieldname, file, filename, encoding, mimetype } ;
7372 if ( ! ( 'key' in request . formData ) ) {
74- const err = errors . InvalidArgument
73+ return reject ( errors . InvalidArgument
7574 . customizeDescription ( 'Bucket POST must contain a field named '
76- + "'key'. If it is specified, please check the order of the fields." ) ;
77- return reject ( err ) ;
75+ + "'key'. If it is specified, please check the order of the fields." ) ) ;
7876 }
7977 // Replace `${filename}` with the actual filename
8078 request . formData . key = request . formData . key . replace ( '${filename}' , filename ) ;
@@ -111,9 +109,8 @@ async function parseFormData(request, response, requestContexts, log) {
111109
112110 formDataParser . on ( 'finish' , ( ) => {
113111 if ( ! fileEventData ) {
114- const err = errors . InvalidArgument
115- . customizeDescription ( 'POST requires exactly one file upload per request.' ) ;
116- return reject ( err ) ;
112+ return reject ( errors . InvalidArgument
113+ . customizeDescription ( 'POST requires exactly one file upload per request.' ) ) ;
117114 }
118115 return formParserFinishedPromiseResolve ( ) ;
119116 } ) ;
@@ -130,11 +127,12 @@ async function parseFormData(request, response, requestContexts, log) {
130127 } ) ;
131128}
132129
133- function getFileStat ( filePath ) {
130+ function getFileStat ( filePath , log ) {
134131 return new Promise ( ( resolve , reject ) => {
135132 fs . stat ( filePath , ( err , stats ) => {
136133 if ( err ) {
137- return reject ( err ) ;
134+ log . trace ( 'Error getting file size' , { error : err } ) ;
135+ return reject ( errors . InternalError ) ;
138136 }
139137 return resolve ( stats ) ;
140138 } ) ;
@@ -151,7 +149,7 @@ async function processPostForm(request, response, requestContexts, log, callback
151149 const { userInfo, authorizationResults, streamingV4Params } =
152150 await parseFormData ( request , response , requestContexts , log ) ;
153151
154- const fileStat = await getFileStat ( request . fileEventData . file ) ;
152+ const fileStat = await getFileStat ( request . fileEventData . file , log ) ;
155153 request . parsedContentLength = fileStat . size ;
156154 request . fileEventData . file = fs . createReadStream ( request . fileEventData . file ) ;
157155 if ( request . formData [ 'content-type' ] ) {
0 commit comments