mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-22 05:24:18 +02:00
refactor: reverse visibility for get_resource_template/_get_resource_template methods
This commit is contained in:
parent
b9e32ca6a6
commit
676e43a939
8 changed files with 16 additions and 16 deletions
|
|
@ -204,7 +204,7 @@ class AuthMiddleware(Middleware):
|
|||
# Get resource/template (component auth is checked in get_*, raises if unauthorized)
|
||||
component = await fastmcp.fastmcp.get_resource(str(uri))
|
||||
if component is None:
|
||||
component = await fastmcp.fastmcp._get_resource_template(str(uri))
|
||||
component = await fastmcp.fastmcp.get_resource_template(str(uri))
|
||||
if component is None:
|
||||
raise AuthorizationError(
|
||||
f"Authorization failed for resource '{uri}': resource not found"
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@ class AggregateProvider(Provider):
|
|||
)
|
||||
return self._collect_list_results(results, "list_resource_templates")
|
||||
|
||||
async def get_resource_template(
|
||||
async def _get_resource_template(
|
||||
self, uri: str, version: VersionSpec | None = None
|
||||
) -> ResourceTemplate | None:
|
||||
"""Get resource template by URI.
|
||||
|
|
@ -198,7 +198,7 @@ class AggregateProvider(Provider):
|
|||
If specified, returns highest version matching the spec from any provider.
|
||||
"""
|
||||
results = await gather(
|
||||
*[p._get_resource_template(uri, version) for p in self._providers],
|
||||
*[p.get_resource_template(uri, version) for p in self._providers],
|
||||
return_exceptions=True,
|
||||
)
|
||||
return self._get_highest_version_result(
|
||||
|
|
|
|||
|
|
@ -184,7 +184,7 @@ class Provider:
|
|||
|
||||
return await chain()
|
||||
|
||||
async def _get_resource_template(
|
||||
async def get_resource_template(
|
||||
self, uri: str, version: VersionSpec | None = None
|
||||
) -> ResourceTemplate | None:
|
||||
"""Get resource template by transformed URI with all transforms applied.
|
||||
|
|
@ -197,7 +197,7 @@ class Provider:
|
|||
async def base(
|
||||
u: str, version: VersionSpec | None = None
|
||||
) -> ResourceTemplate | None:
|
||||
return await self.get_resource_template(u, version)
|
||||
return await self._get_resource_template(u, version)
|
||||
|
||||
chain = base
|
||||
for transform in self.transforms:
|
||||
|
|
@ -311,7 +311,7 @@ class Provider:
|
|||
"""
|
||||
return []
|
||||
|
||||
async def get_resource_template(
|
||||
async def _get_resource_template(
|
||||
self, uri: str, version: VersionSpec | None = None
|
||||
) -> ResourceTemplate | None:
|
||||
"""Get a resource template that matches the given URI.
|
||||
|
|
|
|||
|
|
@ -550,16 +550,16 @@ class FastMCPProvider(Provider):
|
|||
FastMCPProviderResourceTemplate.wrap(self.server, t) for t in raw_templates
|
||||
]
|
||||
|
||||
async def get_resource_template(
|
||||
async def _get_resource_template(
|
||||
self, uri: str, version: VersionSpec | None = None
|
||||
) -> ResourceTemplate | None:
|
||||
"""Get a resource template that matches the given URI.
|
||||
|
||||
Passes the full VersionSpec to the nested server, which handles both
|
||||
exact version matching and range filtering. Uses _get_resource_template
|
||||
exact version matching and range filtering. Uses get_resource_template
|
||||
to ensure the nested server's transforms are applied.
|
||||
"""
|
||||
raw_template = await self.server._get_resource_template(uri, version)
|
||||
raw_template = await self.server.get_resource_template(uri, version)
|
||||
if raw_template is None:
|
||||
return None
|
||||
return FastMCPProviderResourceTemplate.wrap(self.server, raw_template)
|
||||
|
|
|
|||
|
|
@ -203,12 +203,12 @@ class FileSystemProvider(LocalProvider):
|
|||
await self._ensure_loaded()
|
||||
return await super()._list_resource_templates()
|
||||
|
||||
async def get_resource_template(
|
||||
async def _get_resource_template(
|
||||
self, uri: str, version: VersionSpec | None = None
|
||||
) -> ResourceTemplate | None:
|
||||
"""Get a resource template, reloading if in reload mode."""
|
||||
await self._ensure_loaded()
|
||||
return await super().get_resource_template(uri, version)
|
||||
return await super()._get_resource_template(uri, version)
|
||||
|
||||
async def list_prompts(self) -> Sequence[Prompt]:
|
||||
"""Return all prompts, reloading if in reload mode."""
|
||||
|
|
|
|||
|
|
@ -558,7 +558,7 @@ class LocalProvider(Provider):
|
|||
if isinstance(v, ResourceTemplate) and self._is_component_enabled(v)
|
||||
]
|
||||
|
||||
async def get_resource_template(
|
||||
async def _get_resource_template(
|
||||
self, uri: str, version: VersionSpec | None = None
|
||||
) -> ResourceTemplate | None:
|
||||
"""Get a resource template that matches the given URI.
|
||||
|
|
|
|||
|
|
@ -383,7 +383,7 @@ class OpenAPIProvider(Provider):
|
|||
"""Return all resource templates created from the OpenAPI spec."""
|
||||
return list(self._templates.values())
|
||||
|
||||
async def get_resource_template(
|
||||
async def _get_resource_template(
|
||||
self, uri: str, version: VersionSpec | None = None
|
||||
) -> ResourceTemplate | None:
|
||||
"""Get a resource template that matches the given URI."""
|
||||
|
|
|
|||
|
|
@ -1324,12 +1324,12 @@ class FastMCP(Provider, Generic[LifespanResultT]):
|
|||
|
||||
return _dedupe_with_versions(authorized, lambda t: t.uri_template)
|
||||
|
||||
async def get_resource_template(
|
||||
async def _get_resource_template(
|
||||
self, uri: str, version: VersionSpec | None = None
|
||||
) -> ResourceTemplate | None:
|
||||
"""Get a resource template by URI via aggregation from providers.
|
||||
|
||||
This is the raw lookup that Provider._get_resource_template() wraps with transforms.
|
||||
This is the raw lookup that Provider.get_resource_template() wraps with transforms.
|
||||
Aggregates from all sub-providers and applies component-level auth.
|
||||
|
||||
Args:
|
||||
|
|
@ -1341,7 +1341,7 @@ class FastMCP(Provider, Generic[LifespanResultT]):
|
|||
"""
|
||||
# Aggregate from all sub-providers (each applies their own transforms)
|
||||
results = await gather(
|
||||
*[p._get_resource_template(uri, version) for p in self._providers],
|
||||
*[p.get_resource_template(uri, version) for p in self._providers],
|
||||
return_exceptions=True,
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue