v1.0.1
This commit is contained in:
53
lib/requests/common/custom_interceptor.dart
Normal file
53
lib/requests/common/custom_interceptor.dart
Normal file
@@ -0,0 +1,53 @@
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:flutter_dmzj/app/log.dart';
|
||||
|
||||
class CustomInterceptor extends Interceptor {
|
||||
@override
|
||||
void onRequest(RequestOptions options, RequestInterceptorHandler handler) {
|
||||
options.extra["ts"] = DateTime.now().millisecondsSinceEpoch;
|
||||
super.onRequest(options, handler);
|
||||
}
|
||||
|
||||
@override
|
||||
void onError(DioException err, ErrorInterceptorHandler handler) {
|
||||
var time =
|
||||
DateTime.now().millisecondsSinceEpoch - err.requestOptions.extra["ts"];
|
||||
Log.e('''【HTTP请求错误】 耗时:${time}ms
|
||||
Request Method:${err.requestOptions.method}
|
||||
Response Code:${err.response?.statusCode}
|
||||
Request URL:${err.requestOptions.uri}
|
||||
Request Query:${err.requestOptions.queryParameters}
|
||||
Request Data:${err.requestOptions.data}
|
||||
Request Headers:${err.requestOptions.headers}
|
||||
Response Headers:${err.response?.headers.map}
|
||||
Response Data:${err.response?.data}''', err.stackTrace);
|
||||
super.onError(err, handler);
|
||||
}
|
||||
|
||||
@override
|
||||
void onResponse(Response response, ResponseInterceptorHandler handler) {
|
||||
var time = DateTime.now().millisecondsSinceEpoch -
|
||||
response.requestOptions.extra["ts"];
|
||||
if (response.requestOptions.uri.toString().contains(".txt")) {
|
||||
Log.i(
|
||||
'''【HTTP请求响应】 耗时:${time}ms
|
||||
Request Method:${response.requestOptions.method}
|
||||
Request Code:${response.statusCode}
|
||||
Request URL:${response.requestOptions.uri}''',
|
||||
);
|
||||
return super.onResponse(response, handler);
|
||||
}
|
||||
Log.i(
|
||||
'''【HTTP请求响应】 耗时:${time}ms
|
||||
Request Method:${response.requestOptions.method}
|
||||
Request Code:${response.statusCode}
|
||||
Request URL:${response.requestOptions.uri}
|
||||
Request Query:${response.requestOptions.queryParameters}
|
||||
Request Data:${response.requestOptions.data}
|
||||
Request Headers:${response.requestOptions.headers}
|
||||
Response Headers:${response.headers.map}
|
||||
Response Data:${response.data}''',
|
||||
);
|
||||
super.onResponse(response, handler);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user