formatLookup static method

Map<String, dynamic> formatLookup(
  1. String rawLookup
)

Handles the whois results returned by a whois server. Parses them. Makes them feel pretty.

Implementation

static Map<String, dynamic> formatLookup(String rawLookup) {
  Map<String, dynamic> parsed = {};

  final lines = rawLookup.split(_LINE_BREAK);

  for (final line in lines) {
    if (line.isEmpty) {
      continue;
    }

    if (line.startsWith('>>>') && line.endsWith('<<<')) {
      break;
    }

    final keyEnd = line.indexOf(':');

    if (keyEnd < 0) {
      continue;
    }

    final key = line.substring(0, keyEnd).trim();

    final value = line.substring(keyEnd + 1).trim();

    if (key.isEmpty || value.isEmpty) {
      continue;
    }

    parsed[key] = value;
  }

  // Want it to be last thing
  parsed['_raw'] = rawLookup;

  return parsed;
}