diff --git a/FictionArchive.Service.FileService/Controllers/S3ProxyController.cs b/FictionArchive.Service.FileService/Controllers/S3ProxyController.cs index 65a33fa..27d6c96 100644 --- a/FictionArchive.Service.FileService/Controllers/S3ProxyController.cs +++ b/FictionArchive.Service.FileService/Controllers/S3ProxyController.cs @@ -35,8 +35,16 @@ namespace FictionArchive.Service.FileService.Controllers BucketName = _s3Configuration.Bucket, Key = decodedPath }); - - return new FileStreamResult(s3Response.ResponseStream, s3Response.Headers.ContentType); + + Response.Headers.CacheControl = "public, max-age=604800"; // 7 days + Response.Headers.LastModified = s3Response.LastModified?.ToString("R"); + + if (!string.IsNullOrEmpty(s3Response.ETag)) + { + Response.Headers.ETag = s3Response.ETag; + } + + return File(s3Response.ResponseStream, s3Response.Headers.ContentType); } catch (AmazonS3Exception e) {