(request, response, log, callback)
| 1258 | } |
| 1259 | |
| 1260 | function deleteObjectTagging(request, response, log, callback) { |
| 1261 | const err = _checkMultipleBackendRequest(request, log); |
| 1262 | if (err) { |
| 1263 | return callback(err); |
| 1264 | } |
| 1265 | const sourceVersionId = request.headers['x-scal-source-version-id']; |
| 1266 | const sourceBucket = request.headers['x-scal-source-bucket']; |
| 1267 | const site = request.headers['x-scal-replication-endpoint-site']; |
| 1268 | let dataStoreVersionId = request.headers['x-scal-data-store-version-id']; |
| 1269 | // If the tagging request is made before the replication has completed, the |
| 1270 | // Kafka entry will not have the dataStoreVersionId available so we |
| 1271 | // retrieve it from metadata here. |
| 1272 | if (dataStoreVersionId === '') { |
| 1273 | return metadataGetObject(sourceBucket, request.objectKey, sourceVersionId, null, log, (err, objMD) => { |
| 1274 | if (err) { |
| 1275 | return callback(err); |
| 1276 | } |
| 1277 | if (!objMD) { |
| 1278 | return callback(errors.NoSuchKey); |
| 1279 | } |
| 1280 | const backend = objMD.replicationInfo.backends.find(o => o.site === site); |
| 1281 | dataStoreVersionId = backend.dataStoreVersionId; |
| 1282 | return handleTaggingOperation(request, response, 'Delete', dataStoreVersionId, log, callback); |
| 1283 | }); |
| 1284 | } |
| 1285 | return handleTaggingOperation(request, response, 'Delete', dataStoreVersionId, log, callback); |
| 1286 | } |
| 1287 | |
| 1288 | function _createAzureConditionalDeleteObjectGetInfo(request) { |
| 1289 | const { objectKey, bucketName, headers } = request; |
nothing calls this directly
no test coverage detected