Учитывая Symfony 4 документация нет исключения для выброса при возникновении ошибки 418 (я чайник)
Я тогда написал новое исключение, реализующее Symfony\Component\HttpKernel\Exception\HttpExceptionInterface
namespace App\Exception;
use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface;
class HttpTeapotException extends \Exception implements HttpExceptionInterface
{
public function getStatusCode()
{
return (418);
}
public function getHeaders()
{
$header = array();
return ($header);
}
}
А затем, контроллер для /teapot
маршрута
namespace App\TeaPot\Controller;
use App\Exception\HttpTeapotException;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
class TeaPotController extends Controller
{
public function tea(Request $request)
{
throw new HttpTeapotException();
}
}
При переходе на /teapot
я, очевидно, получил это как вывод:
Oops! Произошла ошибка
Сервер вернул «418 Я чайник».
Что-то сломано. Пожалуйста, дайте нам знать, что вы делали, когда произошла эта ошибка. Мы исправим это как можно скорее. Приносим извинения за доставленные неудобства.
У меня такой вопрос: есть ли способ правильно обработать и выдать 418, когда сервер является чайником, особенно при построении заголовков, которые соответствуют WC3 (Web-Controlled Coffee Consortium)?