private function getParams(Request $request, array $data = []): array
    {
        // Add default request parameters
        $data = \array_filter($data) + [
                static::PARAM_QUERY => null,
                static::PARAM_VARIABLES => null,
                static::PARAM_OPERATION_NAME => null,
            ];

        // Keep a reference to the query-string
        $qs = $request->query;

        // Override request using query-string parameters
        $query = $qs->has(static::PARAM_QUERY) ? $qs->get(static::PARAM_QUERY) : $data[static::PARAM_QUERY];
        $variables = $qs->has(static::PARAM_VARIABLES) ? $qs->get(static::PARAM_VARIABLES) : $data[static::PARAM_VARIABLES];
        $operationName = $qs->has(static::PARAM_OPERATION_NAME) ? $qs->get(static::PARAM_OPERATION_NAME) : $data[static::PARAM_OPERATION_NAME];

        // `query` parameter is mandatory.
        if (empty($query)) {
            throw new BadRequestHttpException('Must provide query parameter');
        }

        // Variables can be defined using a JSON-encoded object.
        // If the parsing fails, an exception will be thrown.
        if (\is_string($variables)) {
            $variables = \json_decode($variables, true);

            if (\JSON_ERROR_NONE !== \json_last_error()) {
                throw new BadRequestHttpException('Variables are invalid JSON');
            }
        }

        return [
            static::PARAM_QUERY => $query,
            static::PARAM_VARIABLES => $variables,
            static::PARAM_OPERATION_NAME => $operationName,
        ];
    }
private function getParams(Request $request, array $data = []): array
    {
        // Add default request parameters
        $data = \array_filter($data) + [
                static::PARAM_QUERY => null,
                static::PARAM_VARIABLES => null,
                static::PARAM_OPERATION_NAME => null,
            ];

        // Keep a reference to the query-string
        $qs = $request->query;

        // Override request using query-string parameters
        $query = $qs->has(static::PARAM_QUERY) ? $qs->get(static::PARAM_QUERY) : $data[static::PARAM_QUERY];
        $variables = $qs->has(static::PARAM_VARIABLES) ? $qs->get(static::PARAM_VARIABLES) : $data[static::PARAM_VARIABLES];
        $operationName = $qs->has(static::PARAM_OPERATION_NAME) ? $qs->get(static::PARAM_OPERATION_NAME) : $data[static::PARAM_OPERATION_NAME];

        // `query` parameter is mandatory.
        if (empty($query)) {
            throw new BadRequestHttpException('Must provide query parameter');
        }

        // Variables can be defined using a JSON-encoded object.
        // If the parsing fails, an exception will be thrown.
        if (\is_string($variables)) {
            $variables = \json_decode($variables, true);

            if (\JSON_ERROR_NONE !== \json_last_error()) {
                throw new BadRequestHttpException('Variables are invalid JSON');
            }
        }

        return [
            static::PARAM_QUERY => $query,
            static::PARAM_VARIABLES => $variables,
            static::PARAM_OPERATION_NAME => $operationName,
        ];
    }
private function getParams ( Request $ request , array $ data = [ ] ) : array { // Add default request parameters $ data = \ array_filter ( $ data ) + [ static :: PARAM_QUERY => null , static :: PARAM_VARIABLES => null , static :: PARAM_OPERATION_NAME => null , ] ; // Keep a reference to the query-string $ qs = $ request -> query ; // Override request using query-string parameters $ query = $ qs -> has ( static :: PARAM_QUERY ) ? $ qs -> get ( static :: PARAM_QUERY ) : $ data [ static :: PARAM_QUERY ] ; $ variables = $ qs -> has ( static :: PARAM_VARIABLES ) ? $ qs -> get ( static :: PARAM_VARIABLES ) : $ data [ static :: PARAM_VARIABLES ] ; $ operationName = $ qs -> has ( static :: PARAM_OPERATION_NAME ) ? $ qs -> get ( static :: PARAM_OPERATION_NAME ) : $ data [ static :: PARAM_OPERATION_NAME ] ; // `query` parameter is mandatory. if ( empty ( $ query ) ) { throw new BadRequestHttpException ( 'Must provide query parameter' ) ; } // Variables can be defined using a JSON-encoded object. // If the parsing fails, an exception will be thrown. if ( \ is_string ( $ variables ) ) { $ variables = \ json_decode ( $ variables , true ) ; if ( \ JSON_ERROR_NONE !== \ json_last_error ( ) ) { throw new BadRequestHttpException ( 'Variables are invalid JSON' ) ; } } return [ static :: PARAM_QUERY => $ query , static :: PARAM_VARIABLES => $ variables , static :: PARAM_OPERATION_NAME => $ operationName , ] ; }
Gets the GraphQL parameters from the request.

@param Request $request
@param array   $data

@return array
Gets the GraphQL parameters from the request .