Skip to main content

Module server

Module server 

Source
Expand description

Logical registry handler (feature = “server”).

Wires PublishValidator together with a RegistryStore backend to provide the seven core registry operations enumerated in RFC-ACDP-0003 §2.1 and RFC-ACDP-0005:

  • capabilities — return the CapabilitiesDocument.
  • publish — validate, verify signature, assign identifiers, persist.
  • retrieve — fetch a stored body + registry_state (visibility-filtered).
  • retrieve_body — fetch just the body (visibility-filtered).
  • lineage / current — lineage graph queries.
  • search — keyword + filter projection (visibility-filtered).

This is the building block an HTTP-binding layer can sit on top of; the integration tests in this crate exercise it directly without mocking.

§Conformant publish

[RegistryServer::publish_verified] runs the full RFC-ACDP-0003 §2.1 algorithm — structural validation, hash recomputation, DID resolution, signature verification — before persistence. It requires the client feature for [acdp_did::WebResolver].

RegistryServer::publish_unverified_for_tests performs only steps 1–6 (skipping DID resolution + signature verification) and is intentionally not RFC-conformant; use only in tests where DID resolution would require a live network or mock server.

Structs§

RegistryServer
Logical registry handler over an arbitrary RegistryStore.