src/Rebing/GraphQL/GraphQLServiceProvider.php
protected function applySecurityRules()
    {
        $maxQueryComplexity = config('graphql.security.query_max_complexity');
        if ($maxQueryComplexity !== null) {
            /** @var QueryComplexity $queryComplexity */
            $queryComplexity = DocumentValidator::getRule('QueryComplexity');
            $queryComplexity->setMaxQueryComplexity($maxQueryComplexity);
        }

        $maxQueryDepth = config('graphql.security.query_max_depth');
        if ($maxQueryDepth !== null) {
            /** @var QueryDepth $queryDepth */
            $queryDepth = DocumentValidator::getRule('QueryDepth');
            $queryDepth->setMaxQueryDepth($maxQueryDepth);
        }

        $disableIntrospection = config('graphql.security.disable_introspection');
        if ($disableIntrospection === true) {
            /** @var DisableIntrospection $disableIntrospection */
            $disableIntrospection = DocumentValidator::getRule('DisableIntrospection');
            $disableIntrospection->setEnabled(DisableIntrospection::ENABLED);
        }
    }
protected function applySecurityRules()
    {
        $maxQueryComplexity = config('graphql.security.query_max_complexity');
        if ($maxQueryComplexity !== null) {
            /** @var QueryComplexity $queryComplexity */
            $queryComplexity = DocumentValidator::getRule('QueryComplexity');
            $queryComplexity->setMaxQueryComplexity($maxQueryComplexity);
        }

        $maxQueryDepth = config('graphql.security.query_max_depth');
        if ($maxQueryDepth !== null) {
            /** @var QueryDepth $queryDepth */
            $queryDepth = DocumentValidator::getRule('QueryDepth');
            $queryDepth->setMaxQueryDepth($maxQueryDepth);
        }

        $disableIntrospection = config('graphql.security.disable_introspection');
        if ($disableIntrospection === true) {
            /** @var DisableIntrospection $disableIntrospection */
            $disableIntrospection = DocumentValidator::getRule('DisableIntrospection');
            $disableIntrospection->setEnabled(DisableIntrospection::ENABLED);
        }
    }
protected function applySecurityRules ( ) { $ maxQueryComplexity = config ( 'graphql.security.query_max_complexity' ) ; if ( $ maxQueryComplexity !== null ) { /** @var QueryComplexity $queryComplexity */ $ queryComplexity = DocumentValidator :: getRule ( 'QueryComplexity' ) ; $ queryComplexity -> setMaxQueryComplexity ( $ maxQueryComplexity ) ; } $ maxQueryDepth = config ( 'graphql.security.query_max_depth' ) ; if ( $ maxQueryDepth !== null ) { /** @var QueryDepth $queryDepth */ $ queryDepth = DocumentValidator :: getRule ( 'QueryDepth' ) ; $ queryDepth -> setMaxQueryDepth ( $ maxQueryDepth ) ; } $ disableIntrospection = config ( 'graphql.security.disable_introspection' ) ; if ( $ disableIntrospection === true ) { /** @var DisableIntrospection $disableIntrospection */ $ disableIntrospection = DocumentValidator :: getRule ( 'DisableIntrospection' ) ; $ disableIntrospection -> setEnabled ( DisableIntrospection :: ENABLED ) ; } }
Configure security from config

@return void
Configure security from config