polywrap_uri_resolvers.resolvers.aggregator.uri_resolver_aggregator_base module

This module contains the UriResolverAggregator Resolver.

class polywrap_uri_resolvers.resolvers.aggregator.uri_resolver_aggregator_base.UriResolverAggregatorBase(*args, **kwargs)[source]

Bases: UriResolver, ABC

Defines a base resolver that aggregates a list of resolvers.

This resolver aggregates a list of resolvers and tries to resolve the uri with each of them. If a resolver returns a value other than the resolving uri, the value is returned.

abstract get_resolvers(client: InvokerClient, resolution_context: UriResolutionContext) List[UriResolver][source]

Get the list of resolvers to aggregate.

abstract get_step_description() str | None[source]

Get the description of the resolution step. Defaults to the class name.

try_resolve_uri(uri: Uri, client: InvokerClient, resolution_context: UriResolutionContext) Uri | UriWrapper | UriPackage[source]

Try to resolve a URI to a wrap package, a wrapper, or a URI.

This method tries to resolve the uri with each of the aggregated resolvers. If a resolver returns a value other than the resolving uri, the value is returned.

Parameters:
  • uri (Uri) – The URI to resolve.

  • client (InvokerClient) – The client to use for resolving the URI.

  • resolution_context (UriResolutionContext) – The resolution context to update.