toString method

  1. @override
String toString()
override

A string representation of this object.

Some classes have a default textual representation, often paired with a static parse function (like int.parse). These classes will provide the textual representation as their string representation.

Other classes have no meaningful textual representation that a program will care about. Such classes will typically override toString to provide useful information when inspecting the object, mainly for debugging or logging.

Implementation

@override
String toString() {
  var serverResponseDelayStr = serverResponseDelay != null
      ? ', serverResponseDelay: ${serverResponseDelay!.toStringUnit()}'
      : '';

  var domainsStr = domainsRoots.isNotEmpty
      ? ', domains: [${domainsRoots.entries.map((e) {
          var key = e.key;
          var val = e.value;

          return '${key is RegExp ? 'r/${key.pattern}/' : '`$key`'}=${val.path}';
        }).join(' ; ')}]'
      : '';

  var secureStr = securePort < 10
      ? ''
      : ', securePort: $securePort, '
          'letsEncrypt: $letsEncrypt'
          '${(letsEncrypt ? (letsEncryptProduction ? ' @production' : ' @staging') : '')}, '
          'letsEncryptDirectory: ${letsEncryptDirectory?.path}';

  return 'APIServer{ apiRoot: ${apiRoot.name}[${apiRoot.version}] (${apiRoot.runtimeTypeNameUnsafe}), address: $address, port: $port$serverResponseDelayStr$secureStr, totalWorkers: $totalWorkers, cacheStaticFilesResponses: $cacheStaticFilesResponses, hotReload: $hotReload (${APIHotReload.get().isEnabled ? 'enabled' : 'disabled'}), cookieless: $cookieless, SESSIONID: $useSessionID, started: $isStarted, stopped: $isStopped$domainsStr }';
}