fix: extract and pass URI template variables to resource handlers (#123)

This commit is contained in:
Kyrian Obikwelu 2025-10-27 22:20:48 +01:00 • committed by GitHub
commit 55f860808c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -65,11 +65,14 @@ final class ReadResourceHandler implements RequestHandlerInterface
'_session' => $session,
];
$result = $this->referenceHandler->handle($reference, $arguments);
if ($reference instanceof ResourceTemplateReference) {
$variables = $reference->extractVariables($uri);
$arguments = array_merge($arguments, $variables);
$result = $this->referenceHandler->handle($reference, $arguments);
$formatted = $reference->formatResult($result, $uri, $reference->resourceTemplate->mimeType);
} else {
$result = $this->referenceHandler->handle($reference, $arguments);
$formatted = $reference->formatResult($result, $uri, $reference->schema->mimeType);
}