(request, response, log, callback)
| 1083 | } |
| 1084 | |
| 1085 | function putPart(request, response, log, callback) { |
| 1086 | const err = _checkMultipleBackendRequest(request, log); |
| 1087 | if (err) { |
| 1088 | return callback(err); |
| 1089 | } |
| 1090 | const storageLocation = request.headers['x-scal-storage-class']; |
| 1091 | const partNumber = request.headers['x-scal-part-number']; |
| 1092 | const uploadId = request.headers['x-scal-upload-id']; |
| 1093 | const payloadLen = parseInt(request.headers['content-length'], 10); |
| 1094 | return dataClient.uploadPart( |
| 1095 | undefined, |
| 1096 | {}, |
| 1097 | request, |
| 1098 | payloadLen, |
| 1099 | storageLocation, |
| 1100 | request.objectKey, |
| 1101 | uploadId, |
| 1102 | partNumber, |
| 1103 | request.bucketName, |
| 1104 | log, |
| 1105 | (err, data) => { |
| 1106 | if (err) { |
| 1107 | log.error('error putting MPU part', { |
| 1108 | error: err, |
| 1109 | method: 'putPart', |
| 1110 | }); |
| 1111 | return callback(err); |
| 1112 | } |
| 1113 | const dataRetrievalInfo = { |
| 1114 | partNumber, |
| 1115 | ETag: data.dataStoreETag, |
| 1116 | numberSubParts: data.numberSubParts, |
| 1117 | }; |
| 1118 | return _respond(response, dataRetrievalInfo, log, callback); |
| 1119 | }, |
| 1120 | ); |
| 1121 | } |
| 1122 | |
| 1123 | function completeMultipartUpload(request, response, log, callback) { |
| 1124 | const err = _checkMultipleBackendRequest(request, log); |
nothing calls this directly
no test coverage detected