logInterceptor function
日志拦截器
Implementation
FutureOr<Request> logInterceptor(request) async {
Request req = request as Request;
String requestStr = "\n==================== REQUEST ====================\n"
'- URL:\n${'${req.url.host}:${req.url.port}${req.url.path}'}\n'
'- METHOD: ${req.method}\n';
requestStr += '- HEADER:\n${req.headers.toStructureString()}\n';
requestStr += '- PATH:\n${req.url.queryParameters.toStructureString()}\n';
final data = req.bodyBytes;
if (data is Map) {
requestStr += '- BODY:\n${(data as Map).toStructureString()}\n';
} else if (data is FormData) {
final formDataMap = {}
..addEntries((data as Map).entries)
..addEntries((data as Map).entries);
requestStr += '- BODY:\n${formDataMap.toStructureString()}\n';
} else {
requestStr += '- BODY:\n${data.toString()}\n';
}
MyLogUtil.d(requestStr);
return request;
}