toString method

  1. @override
String toString(
  1. {bool short = false}
)
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({bool short = false}) {
  if (short) {
    return super.toString();
  }

  final result = StringBuffer('$message ($errorCode) ${request.method} ${response.request!.url}\n');

  if (errorData?.fieldErrors.isNotEmpty ?? false) {
    result.writeln('Errors:');

    for (final field in errorData!.fieldErrors.values) {
      result.writeln('  ${field.name}: ${field.errorMessage} (${field.errorCode})');
    }
  }

  // Trim trailing newline
  return result.toString().trim();
}