logResponse method

void logResponse(
  1. ResponseData data
)

Implementation

void logResponse(ResponseData data) {
  if (logLevel == LogLevel.NONE) {
    return;
  }

  if (logLevel == LogLevel.BASIC) {
    _printBlock('<-- ${data.statusCode} (${data.contentLength}-byte Body)');
    return;
  }

  var logBody = logLevel == LogLevel.BODY;
  var logHeaders = logBody || logLevel == LogLevel.HEADERS;

  if (logHeaders) {
    _printResponseHeader(data);

    // prettyPrintJson('URL: ${data.url}');
    // print('HEADERS:');
    // var headers = data.headers;
    // if (headers == null || headers.isEmpty) {
    //   print('Request has no headers.');
    // } else {
    //   var headersBuffer = StringBuffer();
    //   headers.forEach((key, value) => headersBuffer.write('$key: $value\n'));
    //   prettyPrintJson(headersBuffer.toString());
  }
  // }

  //Log the request body
  if (logBody) {
    final responseHeaders = <String, String>{};
    data.headers?.forEach((k, list) => responseHeaders[k] = list.toString());
    _printMapAsTable(responseHeaders, header: 'Headers');
    logPrint('╔ Body');
    logPrint('║');
    _printResponse(data);
    logPrint('║');
    _printLine('╚');
  }
}