onRequest method
Implementation
List<String> onRequest(RequestOptions options) {
final logs = <String>[];
if (request) {
logs.addAll(_printRequestHeader(options));
}
if (requestHeader) {
logs.addAll(_printMapAsTable(options.queryParameters, header: 'Query Parameters'));
final requestHeaders = {};
requestHeaders.addAll(options.headers);
requestHeaders['contentType'] = options.contentType?.toString();
requestHeaders['responseType'] = options.responseType.toString();
requestHeaders['followRedirects'] = options.followRedirects;
requestHeaders['connectTimeout'] = options.connectTimeout;
requestHeaders['receiveTimeout'] = options.receiveTimeout;
logs.addAll(_printMapAsTable(requestHeaders, header: 'Headers'));
logs.addAll(_printMapAsTable(options.extra, header: 'Extras'));
}
if (requestBody && options.method != 'GET') {
final data = options.data;
if (data != null) {
if (data is Map) _printMapAsTable(options.data, header: 'Body');
if (data is FormData) {
final formDataMap = {}
..addEntries(data.fields)
..addEntries(data.files);
logs.addAll(_printMapAsTable(formDataMap, header: 'Form data | ${data.boundary}'));
} else {
logs.addAll(_printBlock(data.toString()));
}
}
}
return logs;
}