truncateBody function

Object? truncateBody(
  1. Object? data,
  2. int maxLength
)

Cuts a text body to maxLength chars before capture; Maps and Lists pass through so formatting is paid only when shown.

Example:

event.responseBody = truncateBody(response.data, 10000);
truncateBody('abcdef', 3); // 'abc… [truncated, 6 chars total]'

Implementation

Object? truncateBody(Object? data, int maxLength) {
  if (data == null) return null;
  if (data is Uint8List || data is FormData) return prettyFormatBody(data);
  if (data is String && data.length > maxLength) {
    return '${data.substring(0, maxLength)}… [truncated, ${data.length} chars total]';
  }
  return data;
}