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[${BonesAPI.VERSION}]{ '
      '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 '
      '}';
}