public function Route::resolveValues in GraphQL 8.3
Retrieve the list of field values.
Always returns a list of field values. Even for single value fields. Single/multi field handling is responsibility of the base class.
Parameters
mixed $value: The current object value.
array $args: Field arguments.
$context: The resolve context.
\GraphQL\Type\Definition\ResolveInfo $info: The resolve info object.
Return value
\Generator The value generator.
Overrides FieldPluginBase::resolveValues
File
- modules/
graphql_core/ src/ Plugin/ GraphQL/ Fields/ Routing/ Route.php, line 151
Class
- Route
- Retrieve a route object based on a path.
Namespace
Drupal\graphql_core\Plugin\GraphQL\Fields\RoutingCode
public function resolveValues($value, array $args, ResolveContext $context, ResolveInfo $info) {
if ($this->redirectRepository) {
$currentLanguage = $this->languageManager
->getCurrentLanguage()
->getId();
$processedPath = $this->pathProcessor
->processInbound($args['path'], Request::create($args['path']));
if ($redirect = $this->redirectRepository
->findMatchingRedirect($processedPath, [], $currentLanguage)) {
(yield $redirect);
return;
}
}
if (($url = $this->pathValidator
->getUrlIfValidWithoutAccessCheck($args['path'])) && $url
->access()) {
(yield $url);
}
else {
(yield (new CacheableValue(NULL))
->addCacheTags([
'4xx-response',
]));
}
}