<?php

namespace Shasoft\SamoyedCMG;

use 
Shasoft\SamoyedCMG\Service\IRequest;
use 
Symfony\Component\HttpFoundation\Response;

// Генерация ответа маршрута
trait AppRouteOnRequest
{
    
// Обработка запроса
    
static protected function onRequest(IRequest $request): Response
    
{
        
// Имя файла с контентом
        
$filepath __DIR__ '/../../vendor/shasoft/s-demo/@assets/favicon.ico';
        
// Проверим наличие файла?
        
if( is_file($filepath) && file_exists($filepath) )
        {
            
// В качестве ответа вернуть файл
            
$response = new \Symfony\Component\HttpFoundation\BinaryFileResponse($filepath);
            
// Установить параметры ответа по параметрам запроса
            
$response->prepare($request->getSymfonyRequest());
        } else {
            
// Страница не существует
            
$response = new Response('Файла не существует!'Response::HTTP_NOT_FOUND);
        } 
        
// Вернуть ответ
        
return $response;
    }
}