resolveUri method
Resolve a Ricochet URI to its content
Tries each server in the URI's server list until one succeeds, providing automatic failover and resilience.
Returns null if the resource doesn't exist or all servers fail.
Example:
final uri = RicochetUri.parse('ricochet://12D3KooWBob.../doc/avatar?servers=...');
final resolved = await client.resolveUri(uri);
if (resolved != null) {
final imageData = resolved.content;
final optimizedUri = resolved.optimizedUri; // Server order updated
}
Implementation
Future<ResolvedDocument?> resolveUri(
RicochetUri uri, {
Duration? perServerTimeout,
}) async {
final resolver = RicochetUriResolver(this, defaultPerServerTimeout: perServerTimeout ?? config.messageTimeout);
return resolver.resolveDocument(uri, perServerTimeout: perServerTimeout);
}