Loading modules/Media/FileManagers/S3.php +14 −4 Original line number Diff line number Diff line Loading @@ -188,6 +188,8 @@ class S3 implements FileManagerInterface public function serve(string $key): Response { $cacheName = 'object_presigned_uri_' . str_replace('/', '-', $key) . '_' . $this->config->s3['bucket']; /** @var string $found */ if (! $found = cache($cacheName)) { try { $cmd = $this->s3->getCommand('GetObject', [ Loading @@ -206,14 +208,20 @@ class S3 implements FileManagerInterface ->save($cacheName, $found, DAY); } /** @var Response $response */ $response = service('response'); if (cache()->getMetaData($cacheName) === null) { return $response->setHeader('HTTP_REFERER', previous_url()) ->redirect($found); } $lastModifiedTimestamp = cache() ->getMetaData($cacheName)['mtime']; $lastModified = new DateTime(); $lastModified->setTimestamp($lastModifiedTimestamp); /** @var Response $response */ $response = service('response'); // Remove Cache-Control header before redefining it header_remove('Cache-Control'); Loading @@ -222,7 +230,9 @@ class S3 implements FileManagerInterface 'last-modified' => $lastModified->format(DATE_RFC7231), 'etag' => md5($cacheName), 'public' => true, ])->redirect($found); ]) ->setHeader('HTTP_REFERER', previous_url()) ->redirect($found); } private function prefixKey(string $key): string Loading Loading
modules/Media/FileManagers/S3.php +14 −4 Original line number Diff line number Diff line Loading @@ -188,6 +188,8 @@ class S3 implements FileManagerInterface public function serve(string $key): Response { $cacheName = 'object_presigned_uri_' . str_replace('/', '-', $key) . '_' . $this->config->s3['bucket']; /** @var string $found */ if (! $found = cache($cacheName)) { try { $cmd = $this->s3->getCommand('GetObject', [ Loading @@ -206,14 +208,20 @@ class S3 implements FileManagerInterface ->save($cacheName, $found, DAY); } /** @var Response $response */ $response = service('response'); if (cache()->getMetaData($cacheName) === null) { return $response->setHeader('HTTP_REFERER', previous_url()) ->redirect($found); } $lastModifiedTimestamp = cache() ->getMetaData($cacheName)['mtime']; $lastModified = new DateTime(); $lastModified->setTimestamp($lastModifiedTimestamp); /** @var Response $response */ $response = service('response'); // Remove Cache-Control header before redefining it header_remove('Cache-Control'); Loading @@ -222,7 +230,9 @@ class S3 implements FileManagerInterface 'last-modified' => $lastModified->format(DATE_RFC7231), 'etag' => md5($cacheName), 'public' => true, ])->redirect($found); ]) ->setHeader('HTTP_REFERER', previous_url()) ->redirect($found); } private function prefixKey(string $key): string Loading