aries_cloudagent.resolver package

Interfaces and base classes for DID Resolution.

aries_cloudagent.resolver.setup(context: aries_cloudagent.config.injection_context.InjectionContext)[source]

Set up default resolvers.

Submodules

aries_cloudagent.resolver.base module

Base Class for DID Resolvers.

class aries_cloudagent.resolver.base.BaseDIDResolver(type_: aries_cloudagent.resolver.base.ResolverType = None)[source]

Bases: abc.ABC

Base Class for DID Resolvers.

native

Return if this resolver is native.

resolve(profile: aries_cloudagent.core.profile.Profile, did: Union[str, <sphinx.ext.autodoc.importer._MockObject object at 0x7f42e2eeac70>], service_accept: Optional[Sequence[str]] = None) → dict[source]

Resolve a DID using this resolver.

setup(context: aries_cloudagent.config.injection_context.InjectionContext)[source]

Do asynchronous resolver setup.

supported_did_regex

Supported DID regex for matching this resolver to DIDs it can resolve.

Override this property with a class var or similar to use regex matching on DIDs to determine if this resolver supports a given DID.

supported_methods

Return supported methods.

DEPRECATED: Use supported_did_regex instead.

supports(profile: aries_cloudagent.core.profile.Profile, did: str) → bool[source]

Return if this resolver supports the given DID.

Override this method to determine if this resolver supports a DID based on information other than just a regular expression; i.e. check a value in storage, query a resolver connection record, etc.

exception aries_cloudagent.resolver.base.DIDMethodNotSupported(*args, error_code: str = None, **kwargs)[source]

Bases: aries_cloudagent.resolver.base.ResolverError

Raised when no resolver is registered for a given did method.

exception aries_cloudagent.resolver.base.DIDNotFound(*args, error_code: str = None, **kwargs)[source]

Bases: aries_cloudagent.resolver.base.ResolverError

Raised when DID is not found in verifiable data registry.

class aries_cloudagent.resolver.base.ResolutionMetadata[source]

Bases: tuple

Resolution Metadata.

duration

Alias for field number 3

resolver

Alias for field number 1

resolver_type

Alias for field number 0

retrieved_time

Alias for field number 2

serialize() → dict[source]

Return serialized resolution metadata.

class aries_cloudagent.resolver.base.ResolutionResult(did_document: dict, metadata: aries_cloudagent.resolver.base.ResolutionMetadata)[source]

Bases: object

Resolution Class to pack the DID Doc and the resolution information.

serialize() → dict[source]

Return serialized resolution result.

exception aries_cloudagent.resolver.base.ResolverError(*args, error_code: str = None, **kwargs)[source]

Bases: aries_cloudagent.core.error.BaseError

Base class for resolver exceptions.

class aries_cloudagent.resolver.base.ResolverType[source]

Bases: enum.Enum

Resolver Type declarations.

NATIVE = 'native'
NON_NATIVE = 'non-native'

aries_cloudagent.resolver.did_resolver module

the did resolver.

responsible for keeping track of all resolvers. more importantly retrieving did’s from different sources provided by the method type.

class aries_cloudagent.resolver.did_resolver.DIDResolver(resolvers: List[aries_cloudagent.resolver.base.BaseDIDResolver] = None)[source]

Bases: object

did resolver singleton.

dereference(profile: aries_cloudagent.core.profile.Profile, did_url: str, *, document: Optional[<sphinx.ext.autodoc.importer._MockObject object at 0x7f42e2df8b20>] = None) → <sphinx.ext.autodoc.importer._MockObject object at 0x7f42e2df8ac0>[source]

Dereference a DID URL to its corresponding DID Doc object.

register_resolver(resolver: aries_cloudagent.resolver.base.BaseDIDResolver)[source]

Register a new resolver.

resolve(profile: aries_cloudagent.core.profile.Profile, did: Union[str, <sphinx.ext.autodoc.importer._MockObject object at 0x7f42e2df89a0>], service_accept: Optional[Sequence[str]] = None) → dict[source]

Resolve a DID.

resolve_with_metadata(profile: aries_cloudagent.core.profile.Profile, did: Union[str, <sphinx.ext.autodoc.importer._MockObject object at 0x7f42e2df89a0>]) → aries_cloudagent.resolver.base.ResolutionResult[source]

Resolve a DID and return the ResolutionResult.

aries_cloudagent.resolver.routes module

Resolve did document admin routes.

“/resolver/resolve/{did}”: {
“get”: {
“responses”: {
“200”: {
“schema”: {
“$ref”: “#/definitions/DIDDoc”

}, “description”: null

}

}, “parameters”: [

{
“in”: “path”, “name”: “did”, “required”: true, “type”: “string”, “pattern”: “did:([a-z]+):((?:[a-zA-Z0-9._-]*:)*[a-zA-Z0-9._-]+)”, “description”: “decentralize identifier(DID)”, “example”: “did:ted:WgWxqztrNooG92RXvxSTWv”

}

],

“tags”: [ “resolver” ], “summary”: “Retrieve doc for requested did”, “produces”: [ “application/json” ]

}

}

class aries_cloudagent.resolver.routes.DIDMatchInfoSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Path parameters and validators for request taking DID.

did

Used by autodoc_mock_imports.

class aries_cloudagent.resolver.routes.ResolutionResultSchema(*args, **kwargs)[source]

Bases: aries_cloudagent.messaging.models.openapi.OpenAPISchema

Result schema for did document query.

did_document

Used by autodoc_mock_imports.

metadata

Used by autodoc_mock_imports.

class aries_cloudagent.resolver.routes.W3cDID[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Validate value against w3c DID.

EXAMPLE = 'did:ted:WgWxqztrNooG92RXvxSTWv'
PATTERN

Used by autodoc_mock_imports.

aries_cloudagent.resolver.routes.post_process_routes(app: <sphinx.ext.autodoc.importer._MockObject object at 0x7f42e0d42760>)[source]

Amend swagger API.

aries_cloudagent.resolver.routes.register(app: <sphinx.ext.autodoc.importer._MockObject object at 0x7f42e0d42760>)[source]

Register routes.

aries_cloudagent.resolver.routes.resolve_did(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7f42e0d42760>)[source]

Retrieve a did document.