return [
new ExpressionFunction('notFoundOnNull', function ($result) {
return sprintf('(null !== %1$s) ? %1$s : throw new NotFoundHttpException(\'Requested page is invalid.\')', $result);
}, function ($arguments, $result) {
if (null === $result) {
throw new NotFoundHttpException('Requested page is invalid.');
}
return $result;
}),
];
}
return is_string($variable) ? sprintf('"%s"', $variable) : $variable;
}, $expression);
return $this->expression->evaluate($expression, ['container' => $this->container]);
}
private function parseRequestValueTypecast($parameter, Request $request)
{
[$typecast, $castedValue] = explode(' ', $parameter, 2);
if (0 === strpos($parameter, '$')) {
return $request->get(substr($parameter, 1));
}
if (0 === strpos($parameter, 'expr:')) {
return $this->parseRequestValueExpression(substr($parameter, 5), $request);
}
if (0 === strpos($parameter, '!!')) {
return $this->parseRequestValueTypecast($parameter, $request);
}
* {@inheritdoc}
*/
public function create(MetadataInterface $metadata, Request $request): RequestConfiguration
{
$parameters = array_merge($this->defaultParameters, $this->parseApiParameters($request));
$parameters = $this->parametersParser->parseRequestValues($parameters, $request);
return new $this->configurationClass($metadata, $request, new Parameters($parameters));
}
/**
return $this->viewHandler->handle($configuration, $view);
}
public function createAction(Request $request): Response
{
$configuration = $this->requestConfigurationFactory->create($this->metadata, $request);
$this->isGrantedOr403($configuration, ResourceActions::CREATE);
$newResource = $this->newResourceFactory->create($configuration, $this->factory);
$form = $this->resourceFormFactory->create($configuration, $newResource);
$this->dispatcher->dispatch(KernelEvents::CONTROLLER_ARGUMENTS, $event);
$controller = $event->getController();
$arguments = $event->getArguments();
// call controller
$response = $controller(...$arguments);
// view
if (!$response instanceof Response) {
$event = new GetResponseForControllerResultEvent($this, $request, $type, $response);
$this->dispatcher->dispatch(KernelEvents::VIEW, $event);
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
$request->headers->set('X-Php-Ob-Level', ob_get_level());
try {
return $this->handleRaw($request, $type);
} catch (\Exception $e) {
if ($e instanceof RequestExceptionInterface) {
$e = new BadRequestHttpException($e->getMessage(), $e);
}
if (false === $catch) {
No log messages
NotFoundHttpException |
---|
Symfony\Component\HttpKernel\Exception\NotFoundHttpException: Requested page is invalid. at vendor/sylius/sylius/src/Sylius/Bundle/ResourceBundle/ExpressionLanguage/NotNullExpressionFunctionProvider.php:32 at Sylius\Bundle\ResourceBundle\ExpressionLanguage\NotNullExpressionFunctionProvider->Sylius\Bundle\ResourceBundle\ExpressionLanguage\{closure}(array('container' => object(appAppKernelProdDebugContainer)), null) (vendor/symfony/symfony/src/Symfony/Component/ExpressionLanguage/Node/FunctionNode.php:50) at Symfony\Component\ExpressionLanguage\Node\FunctionNode->evaluate(array('constant' => array('compiler' => object(Closure), 'evaluator' => object(Closure)), 'service' => array('compiler' => object(Closure), 'evaluator' => object(Closure)), 'parameter' => array('compiler' => object(Closure), 'evaluator' => object(Closure)), 'notFoundOnNull' => array('compiler' => object(Closure), 'evaluator' => object(Closure))), array('container' => object(appAppKernelProdDebugContainer))) (vendor/symfony/symfony/src/Symfony/Component/ExpressionLanguage/ExpressionLanguage.php:67) at Symfony\Component\ExpressionLanguage\ExpressionLanguage->evaluate('notFoundOnNull(service(\'sylius.repository.product\').findOneByChannelAndSlug(service(\'sylius.context.channel\').getChannel(), service(\'sylius.context.locale\').getLocaleCode(), "ecouteurs-jbl-t110-bleu"))', array('container' => object(appAppKernelProdDebugContainer))) (vendor/sylius/sylius/src/Sylius/Bundle/ResourceBundle/Controller/ParametersParser.php:86) at Sylius\Bundle\ResourceBundle\Controller\ParametersParser->parseRequestValueExpression('notFoundOnNull(service(\'sylius.repository.product\').findOneByChannelAndSlug(service(\'sylius.context.channel\').getChannel(), service(\'sylius.context.locale\').getLocaleCode(), "ecouteurs-jbl-t110-bleu"))', object(Request)) (vendor/sylius/sylius/src/Sylius/Bundle/ResourceBundle/Controller/ParametersParser.php:60) at Sylius\Bundle\ResourceBundle\Controller\ParametersParser->parseRequestValue('expr:notFoundOnNull(service(\'sylius.repository.product\').findOneByChannelAndSlug(service(\'sylius.context.channel\').getChannel(), service(\'sylius.context.locale\').getLocaleCode(), $slug))', object(Request)) (vendor/sylius/sylius/src/Sylius/Bundle/ResourceBundle/Controller/ParametersParser.php:45) at Sylius\Bundle\ResourceBundle\Controller\ParametersParser->Sylius\Bundle\ResourceBundle\Controller\{closure}('expr:notFoundOnNull(service(\'sylius.repository.product\').findOneByChannelAndSlug(service(\'sylius.context.channel\').getChannel(), service(\'sylius.context.locale\').getLocaleCode(), $slug))') at array_map(object(Closure), array('expr:notFoundOnNull(service(\'sylius.repository.product\').findOneByChannelAndSlug(service(\'sylius.context.channel\').getChannel(), service(\'sylius.context.locale\').getLocaleCode(), $slug))', 'expr:service(\'sylius.context.customer\').getCustomer()')) (vendor/sylius/sylius/src/Sylius/Bundle/ResourceBundle/Controller/ParametersParser.php:46) at Sylius\Bundle\ResourceBundle\Controller\ParametersParser->parseRequestValues(array('expr:notFoundOnNull(service(\'sylius.repository.product\').findOneByChannelAndSlug(service(\'sylius.context.channel\').getChannel(), service(\'sylius.context.locale\').getLocaleCode(), $slug))', 'expr:service(\'sylius.context.customer\').getCustomer()'), object(Request)) (vendor/sylius/sylius/src/Sylius/Bundle/ResourceBundle/Controller/ParametersParser.php:42) at Sylius\Bundle\ResourceBundle\Controller\ParametersParser->Sylius\Bundle\ResourceBundle\Controller\{closure}(array('expr:notFoundOnNull(service(\'sylius.repository.product\').findOneByChannelAndSlug(service(\'sylius.context.channel\').getChannel(), service(\'sylius.context.locale\').getLocaleCode(), $slug))', 'expr:service(\'sylius.context.customer\').getCustomer()')) at array_map(object(Closure), array('method' => 'createForSubjectWithReviewer', 'arguments' => array('expr:notFoundOnNull(service(\'sylius.repository.product\').findOneByChannelAndSlug(service(\'sylius.context.channel\').getChannel(), service(\'sylius.context.locale\').getLocaleCode(), $slug))', 'expr:service(\'sylius.context.customer\').getCustomer()'))) (vendor/sylius/sylius/src/Sylius/Bundle/ResourceBundle/Controller/ParametersParser.php:46) at Sylius\Bundle\ResourceBundle\Controller\ParametersParser->parseRequestValues(array('method' => 'createForSubjectWithReviewer', 'arguments' => array('expr:notFoundOnNull(service(\'sylius.repository.product\').findOneByChannelAndSlug(service(\'sylius.context.channel\').getChannel(), service(\'sylius.context.locale\').getLocaleCode(), $slug))', 'expr:service(\'sylius.context.customer\').getCustomer()')), object(Request)) (vendor/sylius/sylius/src/Sylius/Bundle/ResourceBundle/Controller/ParametersParser.php:42) at Sylius\Bundle\ResourceBundle\Controller\ParametersParser->Sylius\Bundle\ResourceBundle\Controller\{closure}(array('method' => 'createForSubjectWithReviewer', 'arguments' => array('expr:notFoundOnNull(service(\'sylius.repository.product\').findOneByChannelAndSlug(service(\'sylius.context.channel\').getChannel(), service(\'sylius.context.locale\').getLocaleCode(), $slug))', 'expr:service(\'sylius.context.customer\').getCustomer()'))) at array_map(object(Closure), array('paginate' => null, 'limit' => null, 'allowed_paginate' => array(10, 20, 30), 'default_page_size' => 10, 'sortable' => false, 'sorting' => null, 'filterable' => false, 'criteria' => null, 'template' => '@SyliusShop/ProductReview/create.html.twig', 'form' => array('options' => array('validation_groups' => array('sylius', 'sylius_review'))), 'factory' => array('method' => 'createForSubjectWithReviewer', 'arguments' => array('expr:notFoundOnNull(service(\'sylius.repository.product\').findOneByChannelAndSlug(service(\'sylius.context.channel\').getChannel(), service(\'sylius.context.locale\').getLocaleCode(), $slug))', 'expr:service(\'sylius.context.customer\').getCustomer()')), 'redirect' => array('route' => 'sylius_shop_product_show', 'parameters' => array('slug' => '$slug')), 'flash' => 'sylius.review.wait_for_the_acceptation')) (vendor/sylius/sylius/src/Sylius/Bundle/ResourceBundle/Controller/ParametersParser.php:46) at Sylius\Bundle\ResourceBundle\Controller\ParametersParser->parseRequestValues(array('paginate' => null, 'limit' => null, 'allowed_paginate' => array(10, 20, 30), 'default_page_size' => 10, 'sortable' => false, 'sorting' => null, 'filterable' => false, 'criteria' => null, 'template' => '@SyliusShop/ProductReview/create.html.twig', 'form' => array('options' => array('validation_groups' => array('sylius', 'sylius_review'))), 'factory' => array('method' => 'createForSubjectWithReviewer', 'arguments' => array('expr:notFoundOnNull(service(\'sylius.repository.product\').findOneByChannelAndSlug(service(\'sylius.context.channel\').getChannel(), service(\'sylius.context.locale\').getLocaleCode(), $slug))', 'expr:service(\'sylius.context.customer\').getCustomer()')), 'redirect' => array('route' => 'sylius_shop_product_show', 'parameters' => array('slug' => '$slug')), 'flash' => 'sylius.review.wait_for_the_acceptation'), object(Request)) (vendor/sylius/sylius/src/Sylius/Bundle/ResourceBundle/Controller/RequestConfigurationFactory.php:49) at Sylius\Bundle\ResourceBundle\Controller\RequestConfigurationFactory->create(object(Metadata), object(Request)) (vendor/sylius/sylius/src/Sylius/Bundle/ResourceBundle/Controller/ResourceController.php:181) at Sylius\Bundle\ResourceBundle\Controller\ResourceController->createAction(object(Request)) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:150) at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:67) at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:198) at Symfony\Component\HttpKernel\Kernel->handle(object(Request)) (web/app.php:27) |