Protocol Routing
ProtocolRouter::new() starts with no resolvers.
Workflow and current contract
ProtocolRouter::new() starts with no resolvers. Register a resolver explicitly before calling resolve. The router uses the scheme returned by extract_scheme and returns an error if none matches. The result is raw bytes.
HttpsResolver and HttpResolver provide HTTP transports. WeaveResolver::new(Arc<WeaveNode>) handles the node-backed path. Remote Weave descriptors carry peer DID, peer authentication key, Strand writer key, endpoint, and optional live mode. An arbitrary host/port is not a complete authenticated resource descriptor.
HnsResolver remains a placeholder in the source; listing it does not establish working Handshake resolution. IPFS requires a registered implementation rather than merely passing an ipfs:// URL.
Source reference
protocoldeclarations —libs/weave-browser-engine/src/protocol.rs.