logInterceptor function

FutureOr<Request> logInterceptor(
  1. dynamic request
)

日志拦截器

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;
}