diff --git a/src/config/FileTransfer.ts b/src/config/FileTransfer.ts index bb9e38a..766c962 100644 --- a/src/config/FileTransfer.ts +++ b/src/config/FileTransfer.ts @@ -116,6 +116,13 @@ export class FileTransferConfig { */ s3ForcePathStyle = $bool("FILE_TRANSFER_S3_FORCE_PATH_STYLE", false); + /** + * Whether to follow redirects. + * @default true + * @env FILE_TRANSFER_S3_FOLLOW_REDIRECT + */ + s3FollowRedirect = $bool("FILE_TRANSFER_S3_FOLLOW_REDIRECT", true); + /** * The time in minutes after which a file is deleted. * @default 15 diff --git a/src/services/s3.service.ts b/src/services/s3.service.ts index 7f3b6bd..5886ec5 100644 --- a/src/services/s3.service.ts +++ b/src/services/s3.service.ts @@ -37,6 +37,7 @@ export class S3Service implements OnModuleInit { endpoint: cfg.s3Endpoint, region: cfg.s3Region, forcePathStyle: cfg.s3ForcePathStyle, + followRegionRedirects: cfg.s3FollowRedirect, credentials: { accessKeyId: cfg.s3AccessKeyId, secretAccessKey: cfg.s3SecretAccessKey, @@ -46,6 +47,7 @@ export class S3Service implements OnModuleInit { endpoint: cfg.s3PublicEndpoint || cfg.s3Endpoint, region: cfg.s3Region, forcePathStyle: cfg.s3ForcePathStyle, + followRegionRedirects: cfg.s3FollowRedirect, credentials: { accessKeyId: cfg.s3AccessKeyId, secretAccessKey: cfg.s3SecretAccessKey,