public function media(Filesystem $filesystem, $file)
{
$filename = __DIR__ . '/../../../public/' . $file;
$mimeType = strpos($filename, '.css') !== false ? 'text/css' : 'application/javascript';
$lastModified = $filesystem->lastModified($filename);
$eTag = sha1_file($filename);
$headers = ['content-type' => $mimeType, 'last-modified' => date('D, d M Y H:i:s ', $lastModified) . 'GMT'];
if (@strtotime($this->request->server('HTTP_IF_MODIFIED_SINCE')) === $lastModified || trim($this->request->server('HTTP_IF_NONE_MATCH'), '"') === $eTag) {
$response = $this->responseFactory->make(null, 304, $headers);
} else {
$response = $this->responseFactory->stream(function () use($filename) {
$out = fopen('php://output', 'wb');
$file = fopen($filename, 'rb');
stream_copy_to_stream($file, $out, filesize($filename));
fclose($out);
fclose($file);
}, 200, $headers);
}
return $response->setEtag($eTag);
}