protected function JsonPathReplacer::addReplacementsForSubject in Subrequests 3.x
Same name and namespace in other branches
- 8.2 src/JsonPathReplacer.php \Drupal\subrequests\JsonPathReplacer::addReplacementsForSubject()
Fill replacement values for a subrequest a subject and an structured token.
Parameters
array $match: The structured replacement token.
\Symfony\Component\HttpFoundation\Response $subject: The response object the token refers to.
array $token_replacements: The accumulated replacements. Adds items onto the array.
1 call to JsonPathReplacer::addReplacementsForSubject()
- JsonPathReplacer::extractTokenReplacements in src/
JsonPathReplacer.php - Extracts the token replacements for a given subrequest.
File
- src/
JsonPathReplacer.php, line 359
Class
Namespace
Drupal\subrequestsCode
protected function addReplacementsForSubject(array $match, Response $subject, $provided_id, array &$token_replacements) {
$json_object = new JsonObject($subject
->getContent());
$to_replace = $json_object
->get($match[2]) ?: [];
$token = $match[0];
// The replacements need to be strings. If not, then the replacement
// is not valid.
$this
->validateJsonPathReplacements($to_replace);
$token_replacements[$provided_id] = empty($token_replacements[$provided_id]) ? [] : $token_replacements[$provided_id];
$token_replacements[$provided_id][$token] = empty($token_replacements[$provided_id][$token]) ? [] : $token_replacements[$provided_id][$token];
$token_replacements[$provided_id][$token] = array_merge($token_replacements[$provided_id][$token], $to_replace);
}