onResponse method

  1. @override
void onResponse(
  1. AdapterResponse response,
  2. ResponseInterceptorHandler handler
)
override

响应拦截

在收到响应后调用,可以修改响应或抛出错误

response 响应对象 handler 拦截器处理器

Implementation

@override
void onResponse(
    AdapterResponse response,
    ResponseInterceptorHandler handler,
    ) {
  LogUtil.v('┌─────────────────────────────────────────────────');
  LogUtil.v('│ 📥 RESPONSE');
  LogUtil.v('├─────────────────────────────────────────────────');
  LogUtil.v('│ Status Code: ${response.statusCode}');
  LogUtil.v('│ URL: ${response.request.buildFullUrl()}');

  if (logHeaders && response.headers.isNotEmpty) {
    LogUtil.v('│ Headers:');
    response.headers.forEach((key, values) {
      LogUtil.v('│   $key: ${values.join(', ')}');
    });
  }

  if (logBody && response.data != null) {
    final dataStr = response.data.toString();
    if (dataStr.length > 500) {
      LogUtil.v('│ Data: ${dataStr.substring(0, 500)}... (truncated)');
    } else {
      LogUtil.v('│ Data: $dataStr');
    }
  }

  LogUtil.v('└─────────────────────────────────────────────────');

  // 继续响应
  handler.next(response);
}