@@ -11,7 +11,7 @@ const BlockStream = require('block-stream2');
1111exports . ResumeUploader = ResumeUploader ;
1212exports . PutExtra = PutExtra ;
1313
14- function ResumeUploader ( config ) {
14+ function ResumeUploader ( config ) {
1515 this . config = config || new conf . Config ( ) ;
1616}
1717
@@ -23,14 +23,15 @@ function ResumeUploader (config) {
2323// @param progressCallback(uploadBytes, totalBytes) 上传进度回调
2424// @param partSize 分片上传v2必传字段 默认大小为4MB 分片大小范围为1 MB - 1 GB
2525// @param version 分片上传版本 目前支持v1/v2版本 默认v1
26- function PutExtra ( fname , params , mimeType , resumeRecordFile , progressCallback , partSize , version ) {
26+ function PutExtra ( fname , params , mimeType , resumeRecordFile , progressCallback , partSize ,
27+ version ) {
2728 this . fname = fname || '' ;
2829 this . params = params || { } ;
2930 this . mimeType = mimeType || null ;
3031 this . resumeRecordFile = resumeRecordFile || null ;
3132 this . progressCallback = progressCallback || null ;
32- this . partSize = partSize || conf . BLOCK_SIZE
33- this . version = version || 'v1'
33+ this . partSize = partSize || conf . BLOCK_SIZE ;
34+ this . version = version || 'v1' ;
3435}
3536
3637ResumeUploader . prototype . putStream = function ( uploadToken , key , rsStream ,
@@ -63,7 +64,7 @@ ResumeUploader.prototype.putStream = function (uploadToken, key, rsStream,
6364 } ) ;
6465} ;
6566
66- function putReq ( config , uploadToken , key , rsStream , rsStreamLen , putExtra , callbackFunc ) {
67+ function putReq ( config , uploadToken , key , rsStream , rsStreamLen , putExtra , callbackFunc ) {
6768 // set up hosts order
6869 var upHosts = [ ] ;
6970
@@ -100,6 +101,7 @@ function putReq (config, uploadToken, key, rsStream, rsStreamLen, putExtra, call
100101 var finishedCtxList = [ ] ;
101102 var finishedBlkPutRets = [ ] ;
102103 var isSent = false ;
104+ var blkputRets = null ;
103105 var totalBlockNum = Math . ceil ( rsStreamLen / putExtra . partSize ) ;
104106 var finishedEtags = {
105107 etags : [ ] ,
@@ -110,10 +112,9 @@ function putReq (config, uploadToken, key, rsStream, rsStreamLen, putExtra, call
110112 if ( putExtra . resumeRecordFile ) {
111113 try {
112114 var resumeRecords = fs . readFileSync ( putExtra . resumeRecordFile ) . toString ( ) ;
113- var blkputRets = JSON . parse ( resumeRecords ) ;
115+ blkputRets = JSON . parse ( resumeRecords ) ;
114116 } catch ( e ) {
115- console . log ( e )
116- var blkputRets = null
117+ console . log ( e ) ;
117118 }
118119 if ( blkputRets !== null ) {
119120 if ( putExtra . version === 'v1' ) {
@@ -132,17 +133,17 @@ function putReq (config, uploadToken, key, rsStream, rsStreamLen, putExtra, call
132133 finishedBlkPutRets . push ( blkputRet ) ;
133134 }
134135 } else if ( putExtra . version === 'v2' ) {
135- //check etag expired or not
136+ // check etag expired or not
136137 var expiredAt = blkputRets . expiredAt ;
137- var timeNow = new Date ( ) / 1000
138+ var timeNow = new Date ( ) / 1000 ;
138139 if ( expiredAt > timeNow && blkputRets . uploadId !== '' ) {
139140 finishedEtags . etags = blkputRets . etags ;
140141 finishedEtags . uploadId = blkputRets . uploadId ;
141142 finishedEtags . expiredAt = blkputRets . expiredAt ;
142143 finishedBlock = finishedEtags . etags . length ;
143144 }
144145 } else {
145- throw new Error ( " part upload version number error" )
146+ throw new Error ( ' part upload version number error' ) ;
146147 }
147148 }
148149 }
@@ -159,7 +160,7 @@ function putReq (config, uploadToken, key, rsStream, rsStreamLen, putExtra, call
159160 respBody ,
160161 respInfo ) {
161162 var bodyCrc32 = parseInt ( '0x' + getCrc32 ( chunk ) ) ;
162- if ( respInfo . statusCode != 200 || respBody . crc32 != bodyCrc32 ) {
163+ if ( respInfo . statusCode !== 200 || respBody . crc32 != = bodyCrc32 ) {
163164 callbackFunc ( respErr , respBody , respInfo ) ;
164165 destroy ( rsStream ) ;
165166 } else {
@@ -193,23 +194,23 @@ function putReq (config, uploadToken, key, rsStream, rsStreamLen, putExtra, call
193194 destroy ( rsStream ) ;
194195 } ) ;
195196
196- } else if ( putExtra . version === 'v2' ) {
197+ } else if ( putExtra . version === 'v2' ) {
197198 var encodedObjectName = key ? util . urlsafeBase64Encode ( key ) : '~' ;
198199 if ( finishedEtags . uploadId ) {
199- //if it has resumeRecordFile
200- resumUploadV2 ( uploadToken , bucket , encodedObjectName , upDomain , blkStream , isSent , readLen , curBlock , finishedEtags , finishedBlock ,
201- totalBlockNum , putExtra , rsStreamLen , rsStream , callbackFunc ) ;
200+ // if it has resumeRecordFile
201+ resumUploadV2 ( uploadToken , bucket , encodedObjectName , upDomain , blkStream , isSent , readLen , curBlock ,
202+ finishedEtags , finishedBlock , totalBlockNum , putExtra , rsStreamLen , rsStream , callbackFunc ) ;
202203 } else {
203- //init an new uploadId for next step
204- initReq ( uploadToken , bucket , encodedObjectName , upDomain , blkStream , isSent , readLen , curBlock , finishedEtags , finishedBlock ,
205- totalBlockNum , putExtra , rsStreamLen , rsStream , callbackFunc ) ;
204+ // init an new uploadId for next step
205+ initReq ( uploadToken , bucket , encodedObjectName , upDomain , blkStream , isSent , readLen , curBlock ,
206+ finishedEtags , finishedBlock , totalBlockNum , putExtra , rsStreamLen , rsStream , callbackFunc ) ;
206207 }
207208 } else {
208- throw new Error ( " part upload version number error" )
209+ throw new Error ( ' part upload version number error' ) ;
209210 }
210211}
211212
212- function mkblkReq ( upDomain , uploadToken , blkData , callbackFunc ) {
213+ function mkblkReq ( upDomain , uploadToken , blkData , callbackFunc ) {
213214 var requestURI = upDomain + '/mkblk/' + blkData . length ;
214215 var auth = 'UpToken ' + uploadToken ;
215216 var headers = {
@@ -219,7 +220,7 @@ function mkblkReq (upDomain, uploadToken, blkData, callbackFunc) {
219220 rpc . post ( requestURI , blkData , headers , callbackFunc ) ;
220221}
221222
222- function mkfileReq ( upDomain , uploadToken , fileSize , ctxList , key , putExtra ,
223+ function mkfileReq ( upDomain , uploadToken , fileSize , ctxList , key , putExtra ,
223224 callbackFunc ) {
224225 var requestURI = upDomain + '/mkfile/' + fileSize ;
225226 if ( key ) {
@@ -247,8 +248,7 @@ function mkfileReq (upDomain, uploadToken, fileSize, ctxList, key, putExtra,
247248 } ;
248249 var postBody = ctxList . join ( ',' ) ;
249250 rpc . post ( requestURI , postBody , headers , function ( err , ret , info ) {
250- if ( info . statusCode == 200 || info . statusCode == 701 ||
251- info . statusCode == 401 ) {
251+ if ( info . statusCode === 200 || info . statusCode === 701 || info . statusCode === 401 ) {
252252 if ( putExtra . resumeRecordFile ) {
253253 fs . unlinkSync ( putExtra . resumeRecordFile ) ;
254254 }
@@ -257,26 +257,26 @@ function mkfileReq (upDomain, uploadToken, fileSize, ctxList, key, putExtra,
257257 } ) ;
258258}
259259
260- function initReq ( uploadToken , bucket , encodedObjectName , upDomain , blkStream , isSent , readLen , curBlock , finishedEtags , finishedBlock ,
261- totalBlockNum , putExtra , rsStreamLen , rsStream , callbackFunc ) {
262- var requestUrl = upDomain + " /buckets/" + bucket + " /objects/" + encodedObjectName + " /uploads" ;
260+ function initReq ( uploadToken , bucket , encodedObjectName , upDomain , blkStream , isSent , readLen , curBlock , finishedEtags ,
261+ finishedBlock , totalBlockNum , putExtra , rsStreamLen , rsStream , callbackFunc ) {
262+ var requestUrl = upDomain + ' /buckets/' + bucket + ' /objects/' + encodedObjectName + ' /uploads' ;
263263 var headers = {
264264 Authorization : 'UpToken ' + uploadToken ,
265265 'Content-Type' : 'application/json'
266266 } ;
267267 rpc . post ( requestUrl , '' , headers , function ( err , ret , info ) {
268- if ( info . statusCode != 200 ) {
269- callbackFunc ( err , ret , info ) ;
268+ if ( info . statusCode !== 200 ) {
269+ callbackFunc ( err , ret , info ) ;
270270 }
271271 finishedEtags . expiredAt = ret . expireAt ;
272272 finishedEtags . uploadId = ret . uploadId ;
273- resumUploadV2 ( uploadToken , bucket , encodedObjectName , upDomain , blkStream , isSent , readLen , curBlock , finishedEtags , finishedBlock ,
274- totalBlockNum , putExtra , rsStreamLen , rsStream , callbackFunc ) ;
275- } )
273+ resumUploadV2 ( uploadToken , bucket , encodedObjectName , upDomain , blkStream , isSent , readLen , curBlock ,
274+ finishedEtags , finishedBlock , totalBlockNum , putExtra , rsStreamLen , rsStream , callbackFunc ) ;
275+ } ) ;
276276}
277277
278- function resumUploadV2 ( uploadToken , bucket , encodedObjectName , upDomain , blkStream , isSent , readLen , curBlock , finishedEtags , finishedBlock ,
279- totalBlockNum , putExtra , rsStreamLen , rsStream , callbackFunc ) {
278+ function resumUploadV2 ( uploadToken , bucket , encodedObjectName , upDomain , blkStream , isSent , readLen , curBlock , finishedEtags ,
279+ finishedBlock , totalBlockNum , putExtra , rsStreamLen , rsStream , callbackFunc ) {
280280 blkStream . on ( 'data' , function ( chunk ) {
281281 var partNumber = 0 ;
282282 readLen += chunk . length ;
@@ -287,7 +287,7 @@ function resumUploadV2(uploadToken, bucket, encodedObjectName, upDomain, blkStre
287287 var bodyMd5 = util . getMd5 ( chunk ) ;
288288 uploadPart ( bucket , upDomain , uploadToken , encodedObjectName , chunk , finishedEtags . uploadId , partNumber ,
289289 function ( respErr , respBody , respInfo ) {
290- if ( respInfo . statusCode != 200 || respBody . md5 != bodyMd5 ) {
290+ if ( respInfo . statusCode !== 200 || respBody . md5 != = bodyMd5 ) {
291291 callbackFunc ( respErr , respBody , respInfo ) ;
292292 destroy ( rsStream ) ;
293293 } else {
@@ -334,15 +334,15 @@ function uploadPart(bucket, upDomain, uploadToken, encodedObjectName, chunk, upl
334334 'Content-MD5' : util . getMd5 ( chunk )
335335 } ;
336336 var requestUrl = upDomain + '/buckets/' + bucket + '/objects/' + encodedObjectName + '/uploads/' + uploadId ;
337- requestUrl += '/' + partNumber . toString ( ) ;
337+ requestUrl += '/' + partNumber . toString ( ) ;
338338 rpc . put ( requestUrl , chunk , headers , callbackFunc ) ;
339339}
340340
341341function completeParts ( upDomain , bucket , encodedObjectName , uploadToken , finishedEtags ,
342342 customVars , putExtra , callbackFunc ) {
343343 var headers = {
344344 Authorization : 'UpToken ' + uploadToken ,
345- 'Content-Type' : 'application/json' ,
345+ 'Content-Type' : 'application/json'
346346 } ;
347347 var body = {
348348 'fname' : putExtra . fname ,
@@ -351,15 +351,15 @@ function completeParts(upDomain, bucket, encodedObjectName, uploadToken, finishe
351351 'parts' : util . sortObjArr ( finishedEtags . etags )
352352 } ;
353353 var requestUrl = upDomain + '/buckets/' + bucket + '/objects/' + encodedObjectName + '/uploads/' + finishedEtags . uploadId ;
354- requestBody = JSON . stringify ( body ) ;
354+ var requestBody = JSON . stringify ( body ) ;
355355 rpc . post ( requestUrl , requestBody , headers , function ( err , ret , info ) {
356356 if ( info . statusCode !== '200' ) {
357357 if ( putExtra . resumeRecordFile ) {
358358 fs . unlinkSync ( putExtra . resumeRecordFile ) ;
359359 }
360360 }
361361 callbackFunc ( err , ret , info ) ;
362- } )
362+ } ) ;
363363}
364364
365365
0 commit comments