Exemple #1
0
 public function handelStaticFile($requestUrl, \swoole_http_response $respone)
 {
     $filename = Angel::app()->basePath . $requestUrl;
     if (is_file($filename)) {
         $mimeType = FileHelper::getMimeType($filename);
         if (empty($mimeType)) {
             $mimeType = 'text/html';
         }
         $laseModifyTime = @filemtime($filename);
         if ($_SERVER['HTTP_IF_MODIFIED_SINCE'] && $_SERVER['HTTP_IF_MODIFIED_SINCE'] == $laseModifyTime) {
             $respone->status(304);
             Angel::app()->endend();
         } else {
             if (filesize($filename) > self::MIN_GZIP_SIZE) {
                 $respone->gzip();
             }
             $respone->header('Content-Type', $mimeType);
             $respone->header('last-modified', $laseModifyTime);
             swoole_async_read($filename, function ($filename, $content) use($respone) {
                 Angel::app()->end($content);
             });
         }
         return true;
     }
     return false;
 }