for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace LunixREST\Server;
use LunixREST\Endpoint\Exceptions\UnknownEndpointException;
use LunixREST\Exceptions\AccessDeniedException;
use LunixREST\Exceptions\InvalidAPIKeyException;
use LunixREST\Exceptions\ThrottleLimitExceededException;
use LunixREST\APIRequest\APIRequest;
use LunixREST\APIResponse\Exceptions\NotAcceptableResponseTypeException;
use LunixREST\APIResponse\APIResponse;
use LunixREST\Server\Exceptions\MethodNotFoundException;
/**
* Turns an APIRequest into an APIResponse
* Interface Server
* @package LunixREST\Server
*/
interface Server
{
* @param APIRequest $request
* @return APIResponse
* @throws InvalidAPIKeyException
* @throws AccessDeniedException
* @throws ThrottleLimitExceededException
* @throws UnknownEndpointException
* @throws MethodNotFoundException
* @throws NotAcceptableResponseTypeException
public function handleRequest(APIRequest $request): APIResponse;
}