. namespace core\router; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; /** * Response Validator. * * @package core * @copyright 2024 Andrew Lyons * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class response_validator implements response_validator_interface { #[\Override] public function validate_response( ServerRequestInterface $request, ResponseInterface $response, ): void { $moodleroute = $request->getAttribute(route::class); if (!$moodleroute) { return; } $expectedresponse = $moodleroute->get_response_with_status_code($response->getStatusCode()); if (!$expectedresponse) { // Decide what we should do here. // Probably just throw heaps of debugging information. // Maybe Except with debugging enabled. return; } else { $expectedresponse->validate($response); } } }