get method

  1. @override
Future<AtStatus> get(
  1. String atSign
)
override

Implementation

@override
Future<AtStatus> get(String atSign) async {
  atSign = atSign.startsWith('@') ? atSign : '@' + atSign;
  // ignore: omit_local_variable_types
  AtStatus atStatus = AtStatus(atSign: atSign);
  atStatus.atSign = atSign;
  atStatus.rootStatus = RootStatus.notFound;
  // Check if @sign is in directory
  await _getRootStatus(atSign).then((AtStatus status) async {
    atStatus.rootStatus = status.rootStatus;
    atStatus.serverLocation = status.serverLocation;
    // If the @sign serverLocation is found in root, check the status of the @server
    if (atStatus.rootStatus == RootStatus.found &&
        atStatus.serverLocation != null &&
        atStatus.serverLocation!.isNotEmpty) {
      await _getServerStatus(atStatus.atSign, atStatus.serverLocation)
          .then((AtStatus status) async {
        atStatus.serverStatus = status.serverStatus;
      }).catchError((error) {
        atStatus.serverStatus = ServerStatus.unavailable;
      });
    }
  }).catchError((error) {
    atStatus.rootStatus = RootStatus.unavailable;
  });
  return atStatus;
}