QueryDepth
extends QuerySecurityRule
in package
Table of Contents
- DISABLED = 0
- $calculatedFragments : array<string|int, mixed>
- $fragments : array<string|int, mixed>
- $maxQueryDepth : int
- $name : string
- __construct() : mixed
- getMaxQueryDepth() : int
- getName() : string
- getSDLVisitor() : array<string|int, mixed>
- Returns structure suitable for @see \Automattic\WooCommerce\Vendor\GraphQL\Language\Visitor.
- getVisitor() : array<string|int, mixed>
- maxQueryDepthErrorMessage() : string
- setMaxQueryDepth() : void
- Set max query depth. If equal to 0 no check is done. Must be greater or equal to 0.
- checkIfGreaterOrEqualToZero() : void
- collectFieldASTsAndDefs() : ArrayObject
- Given a selectionSet, adds all fields in that selection to the passed in map of fields, and returns it at the end.
- fieldDepth() : int
- gatherFragmentDefinition() : void
- getFieldName() : string
- getFragment() : FragmentDefinitionNode|null
- getFragments() : array<string, FragmentDefinitionNode>
- invokeIfNeeded() : array<string|int, mixed>
- isEnabled() : bool
- nodeDepth() : int
Constants
DISABLED
public
mixed
DISABLED
= ""
Properties
$calculatedFragments
protected
array<string|int, mixed>
$calculatedFragments
= []
$fragments
protected
array<string|int, mixed>
$fragments
= []
$maxQueryDepth
protected
int
$maxQueryDepth
$name
protected
string
$name
Methods
__construct()
public
__construct(int $maxQueryDepth) : mixed
Parameters
- $maxQueryDepth : int
Tags
Return values
mixed —getMaxQueryDepth()
public
getMaxQueryDepth() : int
Return values
int —getName()
public
getName() : string
Return values
string —getSDLVisitor()
Returns structure suitable for @see \Automattic\WooCommerce\Vendor\GraphQL\Language\Visitor.
public
getSDLVisitor(SDLValidationContext $context) : array<string|int, mixed>
Parameters
- $context : SDLValidationContext
Tags
Return values
array<string|int, mixed> —getVisitor()
public
getVisitor(QueryValidationContext $context) : array<string|int, mixed>
Parameters
- $context : QueryValidationContext
Return values
array<string|int, mixed> —maxQueryDepthErrorMessage()
public
static maxQueryDepthErrorMessage(int $max, int $count) : string
Parameters
- $max : int
- $count : int
Return values
string —setMaxQueryDepth()
Set max query depth. If equal to 0 no check is done. Must be greater or equal to 0.
public
setMaxQueryDepth(int $maxQueryDepth) : void
Parameters
- $maxQueryDepth : int
Tags
Return values
void —checkIfGreaterOrEqualToZero()
protected
checkIfGreaterOrEqualToZero(string $name, int $value) : void
Parameters
- $name : string
- $value : int
Tags
Return values
void —collectFieldASTsAndDefs()
Given a selectionSet, adds all fields in that selection to the passed in map of fields, and returns it at the end.
protected
collectFieldASTsAndDefs(QueryValidationContext $context, Type|null $parentType, SelectionSetNode $selectionSet[, ArrayObject<string, true>|null $visitedFragmentNames = null ][, ArrayObject|null $astAndDefs = null ]) : ArrayObject
Note: This is not the same as execution's collectFields because at static time we do not know what object type will be used, so we unconditionally spread in all fragments.
Parameters
- $context : QueryValidationContext
- $parentType : Type|null
- $selectionSet : SelectionSetNode
- $visitedFragmentNames : ArrayObject<string, true>|null = null
- $astAndDefs : ArrayObject|null = null
Tags
Return values
ArrayObject —fieldDepth()
protected
fieldDepth(OperationDefinitionNode|FieldNode|InlineFragmentNode|FragmentDefinitionNode $node, int $depth, int $maxDepth) : int
Parameters
- $node : OperationDefinitionNode|FieldNode|InlineFragmentNode|FragmentDefinitionNode
- $depth : int
- $maxDepth : int
Return values
int —gatherFragmentDefinition()
protected
gatherFragmentDefinition(QueryValidationContext $context) : void
Parameters
- $context : QueryValidationContext
Return values
void —getFieldName()
protected
getFieldName(FieldNode $node) : string
Parameters
- $node : FieldNode
Return values
string —getFragment()
protected
getFragment(FragmentSpreadNode $fragmentSpread) : FragmentDefinitionNode|null
Parameters
- $fragmentSpread : FragmentSpreadNode
Return values
FragmentDefinitionNode|null —getFragments()
protected
getFragments() : array<string, FragmentDefinitionNode>
Return values
array<string, FragmentDefinitionNode> —invokeIfNeeded()
protected
invokeIfNeeded(QueryValidationContext $context, array<string|int, mixed> $validators) : array<string|int, mixed>
Parameters
- $context : QueryValidationContext
- $validators : array<string|int, mixed>
Tags
Return values
array<string|int, mixed> —isEnabled()
protected
isEnabled() : bool
Return values
bool —nodeDepth()
protected
nodeDepth(Node $node, int $depth, int $maxDepth) : int
Parameters
- $node : Node
- $depth : int
- $maxDepth : int
