Skip to content

Commit 270ca1e

Browse files
davidwhthomasfubhy
authored andcommitted
Add support for QueryComplexity validation rule. (#885)
1 parent f20bec9 commit 270ca1e

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/GraphQL/Execution/QueryProcessor.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
use GraphQL\Utils\Utils;
2727
use GraphQL\Validator\Rules\AbstractValidationRule;
2828
use GraphQL\Validator\ValidationContext;
29+
use GraphQL\Validator\Rules\QueryComplexity;
2930
use Symfony\Component\HttpFoundation\RequestStack;
3031

3132
// TODO: Refactor this and clean it up.
@@ -350,7 +351,12 @@ protected function validateOperation(ServerConfig $config, OperationParams $para
350351
$schema = $config->getSchema();
351352
$info = new TypeInfo($schema);
352353
$validation = new ValidationContext($schema, $document, $info);
353-
$visitors = array_values(array_map(function (AbstractValidationRule $rule) use ($validation) {
354+
$visitors = array_values(array_map(function (AbstractValidationRule $rule) use ($validation, $params) {
355+
// Set current variable values for QueryComplexity validation rule case
356+
// @see \GraphQL\GraphQL::promiseToExecute for equivalent
357+
if ($rule instanceof QueryComplexity && !empty($params->variables)) {
358+
$rule->setRawVariableValues($params->variables);
359+
}
354360
return $rule($validation);
355361
}, $rules));
356362

0 commit comments

Comments
 (0)