diff --git a/src/Controllers/AbstractController.php b/src/Controllers/AbstractController.php index 826875f..85d1bb7 100644 --- a/src/Controllers/AbstractController.php +++ b/src/Controllers/AbstractController.php @@ -98,25 +98,23 @@ abstract class AbstractController { $response = new Response(); - if (!$filesystem->has($filename)) { + if (!$filesystem->fileExists($filename)) { return $this->pageNotFound(); } - // Get file metadata from flysystem - $meta = $filesystem->getMetadata($filename); - $etag = md5(implode($meta)); + // Generate an etag + $etag = md5($filesystem->lastModified($filename) . $filename); + $response = $this->cacheProvider->withEtag($response, $etag); // Detect mimetype for content-type header from file meta $mimetype = (new ExtensionMimeTypeDetector()) - ->detectMimeTypeFromPath($meta['path']) - ; + ->detectMimeTypeFromPath($filename); // No dice? Early-load the data and interrogate that for mimetype then I GUESS. if (!$mimetype) { $data = $filesystem->read($filename); $mimetype = (new FinfoMimeTypeDetector()) - ->detectMimeTypeFromBuffer($data) - ; + ->detectMimeTypeFromBuffer($data); } // If we have mimetype by this point, send the contenttype @@ -124,11 +122,10 @@ abstract class AbstractController $response = $response->withHeader('Content-Type', $mimetype); } - // Attach ETag - $response = $this->cacheProvider->withEtag($response, $etag); - - $response->getBody() - ->write($data ?? $filesystem->read($filename)) + // Send back the response + $response + ->getBody() + ->write($data ?? $filesystem->read($filename)) ; return $response; diff --git a/src/Services/QueueService.php b/src/Services/QueueService.php index 98b4144..f96aa10 100644 --- a/src/Services/QueueService.php +++ b/src/Services/QueueService.php @@ -4,7 +4,7 @@ namespace Benzine\Services; use Benzine\Redis\Redis; use Benzine\Workers\WorkerWorkItem; -use Gone\UUID\UUID; +use MatthewBaggett\UUID\UUID; use Monolog\Logger; class QueueService