Skip to content

GraphQLMiddleware - error when processing queries with an empty request body #427

@ironexdev

Description

@ironexdev

When I send query {{domain}}/graphql?query={whatever} using GET http method to GraphQLite server I get the following error

image

InvalidArgumentException: Syntax error in body: "" in file /home/dockeruser/app/vendor/thecodingmachine/graphqlite/src/Http/WebonyxGraphqlMiddleware.php on line 87
Stack trace:
  1. InvalidArgumentException->() /home/dockeruser/app/vendor/thecodingmachine/graphqlite/src/Http/WebonyxGraphqlMiddleware.php:87
  2. TheCodingMachine\GraphQLite\Http\WebonyxGraphqlMiddleware->process() /home/dockeruser/app/src/Core/MiddlewareStack.php:54
  3. App\Core\MiddlewareStack->handle() /home/dockeruser/app/vendor/tuupola/cors-middleware/src/CorsMiddleware.php:124
  4. Tuupola\Middleware\CorsMiddleware->process() /home/dockeruser/app/src/Core/MiddlewareStack.php:54
  5. App\Core\MiddlewareStack->handle() /home/dockeruser/app/src/Core/Kernel.php:69
  6. App\Core\Kernel->processRequest() /home/dockeruser/app/src/Core/Kernel.php:42
  7. App\Core\Kernel->__construct() /home/dockeruser/app/vendor/php-di/php-di/src/Definition/Resolver/ObjectCreator.php:143
  8. DI\Definition\Resolver\ObjectCreator->createInstance() /home/dockeruser/app/vendor/php-di/php-di/src/Definition/Resolver/ObjectCreator.php:71
  9. DI\Definition\Resolver\ObjectCreator->resolve() /home/dockeruser/app/vendor/php-di/php-di/src/Definition/Resolver/ResolverDispatcher.php:71
 10. DI\Definition\Resolver\ResolverDispatcher->resolve() /home/dockeruser/app/vendor/php-di/php-di/src/Container.php:390
 11. DI\Container->resolveDefinition() /home/dockeruser/app/vendor/php-di/php-di/src/Container.php:199
 12. DI\Container->make() /home/dockeruser/app/src/bootstrap.php:42
 13. require() /home/dockeruser/app/public/index.php:3

However, when I add a body to the request, it works

image

It seems to work as it should after I added condition $request->getBody()->getContents() to check if request body is not empty before it is decoded from json

if (empty($request->getParsedBody())) {

image

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions