logRequest method

void logRequest(
  1. RequestData data
)

Implementation

void logRequest(RequestData data) {
  if (logLevel == LogLevel.NONE) {
    return;
  }

  var method = data.method.toString().split('.')[1];

  var bodyInBytes =
      data.body != null ? (utf8.encode(data.body.toString()).length) : 0;

  if (logLevel == LogLevel.BASIC) {
    _printBlock('--> $method ${data.url} ($bodyInBytes-byte Body)');
    return;
  }

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

  if (logHeaders) {
    _printRequestHeader(data);

    //Log the request body
    if (logBody) {
      _printMapAsTable(data.headers, header: 'Query Parameters');

      if (data.body != null && data.method != Method.GET) {
        final _data = data.body;
        if (_data != null) {
          if (_data is String) {
            _printMapAsTable(jsonDecode(_data), header: 'Body');
          }
          if (_data is Map) _printMapAsTable(_data, header: 'Body');
          if (_data is MultipartRequest) {
            final formDataMap = {}
              ..addAll(_data.fields)
              ..addAll(_getMultiPartRequestFiles(_data));
            _printMapAsTable(formDataMap,
                header: 'Form _data | ${_data.contentLength}');
          } else {
            _printBlock(_data.toString());
          }
        }
      }
    }
  }
}