Просмотр исходного кода

Revert not needed change on respond method in file-uploader

arvid-e 9 месяцев назад
Родитель
Сommit
f2214ef9ec

+ 2 - 2
apps/app/src/server/service/file-uploader/file-uploader.ts

@@ -42,7 +42,7 @@ export interface FileUploader {
   doCheckLimit(uploadFileSize: number, maxFileSize: number, totalLimit: number): Promise<ICheckLimitResult>,
   doCheckLimit(uploadFileSize: number, maxFileSize: number, totalLimit: number): Promise<ICheckLimitResult>,
   determineResponseMode(): ResponseMode,
   determineResponseMode(): ResponseMode,
   uploadAttachment(readable: Readable, attachment: IAttachmentDocument): Promise<void>,
   uploadAttachment(readable: Readable, attachment: IAttachmentDocument): Promise<void>,
-  respond(res: Response, attachment: IAttachmentDocument, opts?: RespondOptions): Promise<void>;
+  respond(res: Response, attachment: IAttachmentDocument, opts?: RespondOptions): void,
   findDeliveryFile(attachment: IAttachmentDocument): Promise<NodeJS.ReadableStream>,
   findDeliveryFile(attachment: IAttachmentDocument): Promise<NodeJS.ReadableStream>,
   generateTemporaryUrl(attachment: IAttachmentDocument, opts?: RespondOptions): Promise<TemporaryUrl>,
   generateTemporaryUrl(attachment: IAttachmentDocument, opts?: RespondOptions): Promise<TemporaryUrl>,
   createMultipartUploader: (uploadKey: string, maxPartSize: number) => MultipartUploader,
   createMultipartUploader: (uploadKey: string, maxPartSize: number) => MultipartUploader,
@@ -181,7 +181,7 @@ export abstract class AbstractFileUploader implements FileUploader {
   /**
   /**
    * Respond to the HTTP request.
    * Respond to the HTTP request.
    */
    */
-  abstract respond(res: Response, attachment: IAttachmentDocument, opts?: RespondOptions): Promise<void>;
+  abstract respond(res: Response, attachment: IAttachmentDocument, opts?: RespondOptions): void;
 
 
   /**
   /**
    * Find the file and Return ReadStream
    * Find the file and Return ReadStream

+ 2 - 20
apps/app/src/server/service/file-uploader/gcs/index.ts

@@ -152,27 +152,9 @@ class GcsFileUploader extends AbstractFileUploader {
 
 
   /**
   /**
    * @inheritdoc
    * @inheritdoc
-   * <--- FIX: Corrected signature and implemented actual logic
    */
    */
-  override async respond(res: Response, attachment: IAttachmentDocument, opts?: RespondOptions): Promise<void> {
-    const responseMode = this.determineResponseMode();
-
-    if (responseMode === ResponseMode.REDIRECT) {
-      const temporaryUrl = await this.generateTemporaryUrl(attachment, opts);
-      res.redirect(temporaryUrl.url);
-    }
-    else if (responseMode === ResponseMode.RELAY) {
-      const readableStream = await this.findDeliveryFile(attachment);
-      const isDownload = opts?.download ?? false;
-      // ContentHeaders.create already correctly uses this.configManager
-      const contentHeaders = await ContentHeaders.create(this.configManager, attachment, { inline: !isDownload });
-      applyHeaders(res, contentHeaders.toExpressHttpHeaders()); // <--- Uses applyHeaders
-      readableStream.pipe(res);
-    }
-    else {
-      // If you're only expecting REDIRECT or RELAY, this error is appropriate
-      throw new Error(`GcsFileUploader encountered an unsupported or unexpected ResponseMode: ${responseMode}.`);
-    }
+  override respond(): void {
+    throw new Error('GcsFileUploader does not support ResponseMode.DELEGATE.');
   }
   }
 
 
   /**
   /**