@dimah-s3/server 1.4.1 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -516,33 +516,29 @@ function listedPartsByteSize(parts, excludePartNumber) {
516
516
  }
517
517
  async function finalizeConfirmedObject(client, bucket, key, input) {
518
518
  const { config, route: route2, stored, head, uploadId, acl } = input;
519
- const contentLength = requireContentLength(head);
520
- const fileName = resolveStoredFileName(head.ContentDisposition, key);
521
519
  const rawMetadata = head.Metadata ?? {};
520
+ const fileName = resolveStoredFileName(head.ContentDisposition, key);
521
+ let context;
522
522
  try {
523
+ const contentLength = requireContentLength(head);
523
524
  assertVerifiedConstraints(route2.upload, {
524
525
  fileName,
525
526
  contentType: head.ContentType,
526
527
  contentLength
527
528
  });
528
- } catch (err) {
529
- await deleteObjectBestEffort(client, bucket, key);
530
- throw err;
531
- }
532
- const metadata = stripPreviousKeyMeta(rawMetadata);
533
- const context = {
534
- ...stored,
535
- contentType: head.ContentType,
536
- contentLength,
537
- eTag: head.ETag?.replace(/"/g, ""),
538
- metadata,
539
- acl,
540
- fileName,
541
- versionId: head.VersionId,
542
- lastModified: head.LastModified?.toISOString(),
543
- uploadId
544
- };
545
- try {
529
+ const metadata = stripPreviousKeyMeta(rawMetadata);
530
+ context = {
531
+ ...stored,
532
+ contentType: head.ContentType,
533
+ contentLength,
534
+ eTag: head.ETag?.replace(/"/g, ""),
535
+ metadata,
536
+ acl,
537
+ fileName,
538
+ versionId: head.VersionId,
539
+ lastModified: head.LastModified?.toISOString(),
540
+ uploadId
541
+ };
546
542
  await runLifecycleHook(route2.upload.onConfirmed, context, config);
547
543
  } catch (err) {
548
544
  await deleteObjectBestEffort(client, bucket, key);
@@ -1104,6 +1100,17 @@ async function handleMultipartInit(config, input, request) {
1104
1100
  );
1105
1101
  } catch (err) {
1106
1102
  await abortMultipartBestEffort(route2.client, bucket, key, UploadId);
1103
+ try {
1104
+ await runLifecycleHook(
1105
+ route2.upload.multipart.onAbort,
1106
+ {
1107
+ ...stored,
1108
+ uploadId: UploadId
1109
+ },
1110
+ config
1111
+ );
1112
+ } catch {
1113
+ }
1107
1114
  throw err;
1108
1115
  }
1109
1116
  return { bucket, key, uploadId: UploadId };