Recca0120\Terminal\Http\Controllers\TerminalController::media PHP Method

media() public method

media.
public media ( Illuminate\Filesystem\Filesystem $filesystem, string $file ) : Illuminate\Http\Response
$filesystem Illuminate\Filesystem\Filesystem
$file string
return Illuminate\Http\Response
    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);
    }