Skip to content

PPM passed wrong object type to the application #123

Closed
@CvekCoding

Description

@CvekCoding

Hello!
I use Symfony 4.1 with Api-platform on top. When I launch it through ppm (ppm is in docker) the api-platform crashes with the following stack:

phppm_1     | string(5880) "TypeError: json_decode() expects parameter 1 to be string, object given in /var/www/vendor/api-platform/core/src/GraphQl/Action/EntrypointAction.php:86
phppm_1     | Stack trace:
phppm_1     | #0 /var/www/vendor/api-platform/core/src/GraphQl/Action/EntrypointAction.php(86): json_decode(Object(RingCentral\Psr7\BufferStream), true)
phppm_1     | #1 /var/www/vendor/api-platform/core/src/GraphQl/Action/EntrypointAction.php(54): ApiPlatform\Core\GraphQl\Action\EntrypointAction->parseRequest(Object(Symfony\Component\HttpFoundation\Request))
phppm_1     | #2 /var/www/vendor/symfony/http-kernel/HttpKernel.php(149): ApiPlatform\Core\GraphQl\Action\EntrypointAction->__invoke(Object(Symfony\Component\HttpFoundation\Request))
phppm_1     | #3 /var/www/vendor/symfony/http-kernel/HttpKernel.php(66): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
phppm_1     | #4 /var/www/vendor/symfony/http-kernel/Kernel.php(188): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
phppm_1     | #5 /ppm/vendor/php-pm/httpkernel-adapter/Bridges/HttpKernel.php(90): Symfony\Component\HttpKernel\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request))
phppm_1     | #6 /ppm/vendor/php-pm/php-pm/src/ProcessSlave.php(428): PHPPM\Bridges\HttpKernel->handle(Object(React\Http\Io\ServerRequest))
phppm_1     | #7 /ppm/vendor/php-pm/php-pm/src/ProcessSlave.php(389): PHPPM\ProcessSlave->handleRequest(Object(React\Http\Io\ServerRequest))
phppm_1     | #8 /ppm/vendor/react/http/src/Io/MiddlewareRunner.php(49): PHPPM\ProcessSlave->onRequest(Object(React\Http\Io\ServerRequest))
phppm_1     | #9 /ppm/vendor/react/http/src/Io/MiddlewareRunner.php(54): React\Http\Io\MiddlewareRunner->call(Object(React\Http\Io\ServerRequest), 3)
phppm_1     | #10 /ppm/vendor/react/http/src/Middleware/RequestBodyParserMiddleware.php(34): React\Http\Io\MiddlewareRunner->React\Http\Io\{closure}(Object(React\Http\Io\ServerRequest))
phppm_1     | #11 /ppm/vendor/react/http/src/Io/MiddlewareRunner.php(59): React\Http\Middleware\RequestBodyParserMiddleware->__invoke(Object(React\Http\Io\ServerRequest), Object(Closure))
phppm_1     | #12 /ppm/vendor/react/http/src/Io/MiddlewareRunner.php(54): React\Http\Io\MiddlewareRunner->call(Object(React\Http\Io\ServerRequest), 2)
phppm_1     | #13 /ppm/vendor/react/http/src/Middleware/RequestBodyBufferMiddleware.php(58): React\Http\Io\MiddlewareRunner->React\Http\Io\{closure}(Object(React\Http\Io\ServerRequest))
phppm_1     | #14 /ppm/vendor/react/promise/src/FulfilledPromise.php(25): React\Http\Middleware\RequestBodyBufferMiddleware->React\Http\Middleware\{closure}('{"query":"\\n  q...')
phppm_1     | #15 /ppm/vendor/react/promise/src/Promise.php(134): React\Promise\FulfilledPromise->then(Object(Closure), Object(Closure))
phppm_1     | #16 /ppm/vendor/react/promise/src/Promise.php(168): React\Promise\Promise::React\Promise\{closure}(Object(React\Promise\FulfilledPromise))
phppm_1     | #17 /ppm/vendor/react/promise/src/Promise.php(231): React\Promise\Promise->settle(Object(React\Promise\FulfilledPromise))
phppm_1     | #18 /ppm/vendor/react/promise/src/FulfilledPromise.php(39): React\Promise\Promise::React\Promise\{closure}('{"query":"\\n  q...')
phppm_1     | #19 /ppm/vendor/react/promise/src/Promise.php(135): React\Promise\FulfilledPromise->done(Object(Closure), Object(Closure), Object(Closure))
phppm_1     | #20 /ppm/vendor/react/promise/src/Promise.php(168): React\Promise\Promise::React\Promise\{closure}(Object(React\Promise\FulfilledPromise))
phppm_1     | #21 /ppm/vendor/react/promise/src/Promise.php(231): React\Promise\Promise->settle(Object(React\Promise\FulfilledPromise))
phppm_1     | #22 /ppm/vendor/react/promise-stream/src/functions.php(43): React\Promise\Promise::React\Promise\{closure}('{"query":"\\n  q...')
phppm_1     | #23 /ppm/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(123): React\Promise\Stream\{closure}()
phppm_1     | #24 /ppm/vendor/react/http/src/Io/HttpBodyStream.php(80): Evenement\EventEmitter->emit('close')
phppm_1     | #25 /ppm/vendor/react/http/src/Io/HttpBodyStream.php(179): React\Http\Io\HttpBodyStream->close()
phppm_1     | #26 /ppm/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(123): React\Http\Io\HttpBodyStream->handleEnd()
phppm_1     | #27 /ppm/vendor/react/http/src/Io/LengthLimitedStream.php(87): Evenement\EventEmitter->emit('end')
phppm_1     | #28 /ppm/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(123): React\Http\Io\LengthLimitedStream->handleData('{"query":"\\n  q...')
phppm_1     | #29 /ppm/vendor/react/http/src/Io/CloseProtectionStream.php(96): Evenement\EventEmitter->emit('data', Array)
phppm_1     | #30 /ppm/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(123): React\Http\Io\CloseProtectionStream->handleData('{"query":"\\n  q...')
phppm_1     | #31 /ppm/vendor/react/http/src/StreamingServer.php(179): Evenement\EventEmitter->emit('data', Array)
phppm_1     | #32 /ppm/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(123): React\Http\StreamingServer->React\Http\{closure}(Object(React\Http\Io\ServerRequest), '{"query":"\\n  q...')
phppm_1     | #33 /ppm/vendor/react/http/src/Io/RequestHeaderParser.php(59): Evenement\EventEmitter->emit('headers', Array)
phppm_1     | #34 /ppm/vendor/react/http/src/Io/RequestHeaderParser.php(47): React\Http\Io\RequestHeaderParser->parseAndEmitRequest(866)
phppm_1     | #35 /ppm/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(123): React\Http\Io\RequestHeaderParser->feed('POST /api/graph...')
phppm_1     | #36 /ppm/vendor/react/stream/src/Util.php(71): Evenement\EventEmitter->emit('data', Array)
phppm_1     | #37 /ppm/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(123): React\Stream\Util::React\Stream\{closure}('POST /api/graph...')
phppm_1     | #38 /ppm/vendor/react/stream/src/DuplexResourceStream.php(193): Evenement\EventEmitter->emit('data', Array)
phppm_1     | #39 /ppm/vendor/react/event-loop/src/StreamSelectLoop.php(238): React\Stream\DuplexResourceStream->handleData(Resource id #1246)
phppm_1     | #40 /ppm/vendor/react/event-loop/src/StreamSelectLoop.php(205): React\EventLoop\StreamSelectLoop->waitForStreamActivity(NULL)
phppm_1     | #41 /ppm/vendor/php-pm/php-pm/src/ProcessSlave.php(348): React\EventLoop\StreamSelectLoop->run()
phppm_1     | #42 /tmp/dbgadjGmO(36): PHPPM\ProcessSlave->run()
phppm_1     | #43 {main}"

Here is a code near of 86 row /var/www/vendor/api-platform/core/src/GraphQl/Action/EntrypointAction.php :

        if ('json' === $request->getContentType()) {
            $input = \json_decode($request->getContent(), true);

            if (isset($input['query'])) {
                $query = $input['query'];
            }

Can you advise me how to fix this? Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions