logRequest method
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());
}
}
}
}
}
}