Error 400 Bad Request

POST http://promotion-provider-service.develop-public.shopadvizor.net/

Exceptions

Must provide query parameter

Exception

Symfony\Component\HttpKernel\Exception\ BadRequestHttpException

Show exception properties
Symfony\Component\HttpKernel\Exception\BadRequestHttpException {#679
  -statusCode: 400
  -headers: []
}
  1. $variables = $queryParameters[static::PARAM_VARIABLES] ?? $data[static::PARAM_VARIABLES];
  2. $operationName = $queryParameters[static::PARAM_OPERATION_NAME] ?? $data[static::PARAM_OPERATION_NAME];
  3. // `query` parameter is mandatory.
  4. if (empty($query)) {
  5. throw new BadRequestHttpException('Must provide query parameter');
  6. }
  7. // Variables can be defined using a JSON-encoded object.
  8. // If the parsing fails, an exception will be thrown.
  9. if (is_string($variables)) {
  1. public function parse(Request $request): array
  2. {
  3. // Extracts the GraphQL request parameters
  4. $parsedBody = $this->getParsedBody($request);
  5. return $this->getParams($request, $parsedBody);
  6. }
  7. /**
  8. * Gets the body from the request based on Content-Type header.
  9. */
  1. return $payloads;
  2. }
  3. private function processNormalQuery(Request $request, ?string $schemaName = null): array
  4. {
  5. $params = $this->requestParser->parse($request);
  6. return $this->requestExecutor->execute($schemaName, $params)->toArray();
  7. }
  8. }
  1. private function processQuery(Request $request, ?string $schemaName, bool $batched): array
  2. {
  3. if ($batched) {
  4. $payload = $this->processBatchQuery($request, $schemaName);
  5. } else {
  6. $payload = $this->processNormalQuery($request, $schemaName);
  7. }
  8. return $payload;
  9. }
  1. $response = new JsonResponse([], 200);
  2. } else {
  3. if (!in_array($request->getMethod(), ['POST', 'GET'])) {
  4. return new JsonResponse('', 405);
  5. }
  6. $payload = $this->processQuery($request, $schemaName, $batched);
  7. $response = new JsonResponse('', 200);
  8. $response->setEncodingOptions(JsonResponse::DEFAULT_ENCODING_OPTIONS | JSON_PRESERVE_ZERO_FRACTION);
  9. $response->setData($payload);
  10. }
  11. $this->addCORSHeadersIfNeeded($response, $request);
  1. /**
  2. * @return JsonResponse|Response
  3. */
  4. public function endpointAction(Request $request, ?string $schemaName = null)
  5. {
  6. return $this->createResponse($request, $schemaName, false);
  7. }
  8. /**
  9. * @return JsonResponse|Response
  10. */
in vendor/symfony/http-kernel/HttpKernel.php -> endpointAction (line 183)
  1. $this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);
  2. $controller = $event->getController();
  3. $arguments = $event->getArguments();
  4. // call controller
  5. $response = $controller(...$arguments);
  6. // view
  7. if (!$response instanceof Response) {
  8. $event = new ViewEvent($this, $request, $type, $response, $event);
  9. $this->dispatcher->dispatch($event, KernelEvents::VIEW);
  1. $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  2. $this->requestStack->push($request);
  3. $response = null;
  4. try {
  5. return $response = $this->handleRaw($request, $type);
  6. } catch (\Throwable $e) {
  7. if ($e instanceof \Error && !$this->handleAllThrowables) {
  8. throw $e;
  9. }
  1. if (!$this->handlingHttpCache) {
  2. $this->resetServices = true;
  3. }
  4. try {
  5. return $this->getHttpKernel()->handle($request, $type, $catch);
  6. } finally {
  7. --$this->requestStackSize;
  8. }
  9. }
  1. ) {
  2. }
  3. public function run(): int
  4. {
  5. $response = $this->kernel->handle($this->request);
  6. if (Kernel::VERSION_ID >= 60400) {
  7. $response->send(false);
  8. if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in vendor/autoload_runtime.php -> run (line 32)
  1. $app = $app(...$args);
  2. exit(
  3. $runtime
  4. ->getRunner($app)
  5. ->run()
  6. );
require_once('/app/vendor/autoload_runtime.php') in public/index.php (line 5)
  1. <?php
  2. use Saz\PromotionProviderService\Kernel;
  3. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  4. return function (array $context) {
  5. return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  6. };

Logs

Level Channel Message
INFO 09:44:29 request Matched route "_profiler".
{
    "route": "_profiler",
    "route_parameters": {
        "_route": "_profiler",
        "_controller": "web_profiler.controller.profiler::panelAction",
        "token": "32c866"
    },
    "request_uri": "http://promotion-provider-service.develop-public.shopadvizor.net/_profiler/32c866?panel=exception&type=request",
    "method": "GET"
}
DEBUG 09:44:29 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure"
}
DEBUG 09:44:29 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest"
}
DEBUG 09:44:29 event Notified event "kernel.request" to listener "Overblog\GraphQLBundle\EventListener\ClassLoaderListener::load".
{
    "event": "kernel.request",
    "listener": "Overblog\\GraphQLBundle\\EventListener\\ClassLoaderListener::load"
}
DEBUG 09:44:29 event Notified event "kernel.request" to listener "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest"
}
DEBUG 09:44:29 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale"
}
DEBUG 09:44:29 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest"
}
DEBUG 09:44:29 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest"
}
DEBUG 09:44:29 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelRequest"
}
DEBUG 09:44:29 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator"
}
DEBUG 09:44:29 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest"
}
DEBUG 09:44:29 event Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Bundle\\FrameworkBundle\\DataCollector\\RouterDataCollector::onKernelController"
}
DEBUG 09:44:29 event Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelController"
}
INFO 09:44:29 deprecation User Deprecated: Support for MySQL < 8 is deprecated and will be removed in DBAL 5 (AbstractMySQLDriver.php:75 called by AbstractDriverMiddleware.php:32, https://github.com/doctrine/dbal/pull/6343, package doctrine/dbal)
{
    "exception": {}
}
DEBUG 09:44:29 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\IsSignatureValidAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\IsSignatureValidAttributeListener::onKernelControllerArguments"
}
DEBUG 09:44:29 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsGrantedAttributeListener::onKernelControllerArguments"
}
DEBUG 09:44:29 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelControllerArguments"
}
DEBUG 09:44:29 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestPayloadValueResolver::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\RequestPayloadValueResolver::onKernelControllerArguments"
}
DEBUG 09:44:29 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onControllerArguments"
}

Stack Trace

BadRequestHttpException
Symfony\Component\HttpKernel\Exception\BadRequestHttpException:
Must provide query parameter

  at vendor/overblog/graphql-bundle/src/Request/Parser.php:102
  at Overblog\GraphQLBundle\Request\Parser->getParams(object(Request), array('query' => null, 'variables' => null, 'operationName' => null))
     (vendor/overblog/graphql-bundle/src/Request/Parser.php:27)
  at Overblog\GraphQLBundle\Request\Parser->parse(object(Request))
     (vendor/overblog/graphql-bundle/src/Controller/GraphController.php:117)
  at Overblog\GraphQLBundle\Controller\GraphController->processNormalQuery(object(Request), null)
     (vendor/overblog/graphql-bundle/src/Controller/GraphController.php:91)
  at Overblog\GraphQLBundle\Controller\GraphController->processQuery(object(Request), null, false)
     (vendor/overblog/graphql-bundle/src/Controller/GraphController.php:65)
  at Overblog\GraphQLBundle\Controller\GraphController->createResponse(object(Request), null, false)
     (vendor/overblog/graphql-bundle/src/Controller/GraphController.php:43)
  at Overblog\GraphQLBundle\Controller\GraphController->endpointAction(object(Request), null)
     (vendor/symfony/http-kernel/HttpKernel.php:183)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
     (vendor/symfony/http-kernel/Kernel.php:193)
  at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
     (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (vendor/autoload_runtime.php:32)
  at require_once('/app/vendor/autoload_runtime.php')
     (public/index.php:5)