connect static method
Connects to the repository server at baseUrl, fetching its capabilities.
The reported capabilities always have isRemote: true, regardless of what
the server sends.
Implementation
static Future<RemoteRepositoryAdapter> connect(
String baseUrl, {
http.Client? client,
}) async {
final normalized = baseUrl.endsWith('/')
? baseUrl.substring(0, baseUrl.length - 1)
: baseUrl;
final httpClient = client ?? http.Client();
final adapter = RemoteRepositoryAdapter._(
normalized,
httpClient,
client == null,
const RepoCapabilities(isRemote: true),
);
final caps = await adapter._call(Op.capabilities, const {});
adapter._capabilities = RepoCapabilities.fromJson(_asMap(caps))._asRemote();
return adapter;
}