diff --git a/src/Resolver/Directory.php b/src/Resolver/Directory.php index 53b15a8..d15448a 100644 --- a/src/Resolver/Directory.php +++ b/src/Resolver/Directory.php @@ -68,6 +68,8 @@ public function resolve($definition) $response->setStream(fopen($path, 'r')); $response->getHeaders()->addHeader(new ContentType($mimeType)); + // Enforce best practice and make sure static assets are cacheable + $response->getHeaders()->addHeaderLine('Cache-Control', 'max-age=31557600'); } return $response; diff --git a/test/Resolver/DirectoryTest.php b/test/Resolver/DirectoryTest.php index 97bcf15..c03754f 100644 --- a/test/Resolver/DirectoryTest.php +++ b/test/Resolver/DirectoryTest.php @@ -100,6 +100,7 @@ public function testResolve(): void verify($result)->is()->instanceOf(Response::class); verify($result->getStatusCode())->is()->sameAs(200); verify($result->getHeaders()->get('Content-Type')->getFieldValue())->is()->sameAs('text/plain'); + verify($result->getHeaders()->get('Cache-Control')->getFieldValue())->is()->sameAs('max-age=31557600'); verify($result->getBody())->is()->equalToFile(__DIR__ . '/_data/sample.txt'); }