Files
Traefik-Redis-Api/src/Controllers/Controller.php

62 lines
1.5 KiB
PHP

<?php
declare(strict_types=1);
namespace Siteworxpro\App\Controllers;
use League\Route\Http\Exception\NotFoundException;
use Nyholm\Psr7\ServerRequest;
use Psr\Http\Message\ResponseInterface;
use Siteworxpro\App\Facades\Logger;
use Siteworxpro\App\Traefik\ProtocolEnum;
abstract class Controller implements ControllerInterface
{
protected function protocolEnumFromRequest(ServerRequest $request): ProtocolEnum
{
$protocol = $request->getAttribute('protocol');
try {
return ProtocolEnum::fromString($protocol);
} catch (\InvalidArgumentException $e) {
Logger::error($e->getMessage());
return ProtocolEnum::HTTP;
}
}
/**
* @param ServerRequest $request
* @return ResponseInterface
* @throws NotFoundException
*/
public function get(ServerRequest $request): ResponseInterface
{
throw new NotFoundException("not found");
}
/**
* @throws NotFoundException
*/
public function post(ServerRequest $request): ResponseInterface
{
throw new NotFoundException("not found");
}
/**
* @throws NotFoundException
*/
public function delete(ServerRequest $request): ResponseInterface
{
throw new NotFoundException("not found");
}
/**
* @throws NotFoundException
*/
public function patch(ServerRequest $request): ResponseInterface
{
throw new NotFoundException("not found");
}
}