ArchethicDAppClient.auto constructor
ArchethicDAppClient.auto({
- required RequestOrigin origin,
- required String replyBaseUrl,
Creates a Deeplink or Websocket client according to current Platform capabilities.
Implementation
factory ArchethicDAppClient.auto({
required RequestOrigin origin,
required String replyBaseUrl,
}) {
final transportMethodsReport = ArchethicDAppTransportMethodsReport.check();
log('''
[Transport methods check]
$transportMethodsReport
''');
if (transportMethodsReport.webBrowserExtension) {
log('Using Web browser extension');
return ArchethicDAppClient.webBrowserExtension(origin: origin);
}
if (transportMethodsReport.messageChannel) {
log('Using Message Channel');
return ArchethicDAppClient.messageChannel(origin: origin);
}
if (transportMethodsReport.websocket) {
log('Using WebSocket');
return ArchethicDAppClient.websocket(origin: origin);
}
if (transportMethodsReport.deeplink) {
log('Using Deeplink');
return ArchethicDAppClient.deeplink(
origin: origin,
replyBaseUrl: replyBaseUrl,
);
}
throw Exception(
'No ArchethicDAppClient implementation for your current operating system ${Platform.operatingSystem}',
);
}