bug fix
This commit is contained in:
@@ -5,20 +5,20 @@ import 'package:uuid/uuid.dart';
|
||||
|
||||
class TraceDio {
|
||||
final Dio _dio;
|
||||
final Logger _logger;
|
||||
final Logger? _logger;
|
||||
final Uuid uuid = Uuid();
|
||||
|
||||
static late TraceDio _traceDio;
|
||||
String? token;
|
||||
|
||||
TraceDio(Logger logger)
|
||||
TraceDio(Logger? logger)
|
||||
: _dio = Dio(),
|
||||
_logger = logger {
|
||||
// 配置 Dio
|
||||
// 设置连接超时
|
||||
_dio.options.connectTimeout = Duration(seconds: 5);
|
||||
_dio.options.connectTimeout = Duration(seconds: 60);
|
||||
// 设置接收超时
|
||||
_dio.options.receiveTimeout = Duration(seconds: 5);
|
||||
_dio.options.receiveTimeout = Duration(seconds: 60);
|
||||
//保留原始大小写
|
||||
_dio.options.preserveHeaderCase = true;
|
||||
|
||||
@@ -36,7 +36,7 @@ class TraceDio {
|
||||
options.headers['X-Span-ID'] = spanId;
|
||||
}
|
||||
// 记录请求日志
|
||||
_logger.info('Sending request: ${options.method} ${options.uri}',
|
||||
_logger?.info('Sending request: ${options.method} ${options.uri}',
|
||||
tag: "DIO", traceId: traceId, spanId: spanId);
|
||||
return handler.next(options); // 继续请求
|
||||
},
|
||||
@@ -44,7 +44,7 @@ class TraceDio {
|
||||
// 记录响应日志
|
||||
String? traceId = response.headers.value('X-Trace-ID');
|
||||
String? spanId = response.headers.value('X-Span-ID');
|
||||
_logger.info(
|
||||
_logger?.info(
|
||||
'Response received: ${response.statusCode} ${response.statusMessage}',
|
||||
tag: "DIO",
|
||||
traceId: traceId,
|
||||
@@ -58,7 +58,7 @@ class TraceDio {
|
||||
// 记录错误日志
|
||||
String? traceId = e.requestOptions.headers['X-Trace-ID'];
|
||||
String? spanId = e.requestOptions.headers['X-Span-ID'];
|
||||
_logger.error('Request failed: ${e.message}',
|
||||
_logger?.error('Request failed: ${e.message}',
|
||||
tag: "DIO", traceId: traceId, spanId: spanId);
|
||||
return handler.next(e); // 继续处理错误
|
||||
},
|
||||
@@ -93,45 +93,57 @@ class TraceDio {
|
||||
Future<Response> get(String url,
|
||||
{Map<String, dynamic>? queryParameters,
|
||||
sf.Request? request,
|
||||
ResponseType? responseType}) async {
|
||||
ResponseType? responseType,
|
||||
Duration? receiveTimeout}) async {
|
||||
return await _dio.get(url,
|
||||
queryParameters: queryParameters,
|
||||
options: Options(
|
||||
headers: getHeader(request: request), responseType: responseType));
|
||||
receiveTimeout: receiveTimeout,
|
||||
headers: getHeader(request: request),
|
||||
responseType: responseType));
|
||||
}
|
||||
|
||||
// 发起 POST 请求
|
||||
Future<Response> post(String url,
|
||||
{Object? data,
|
||||
Map<String, dynamic>? queryParameters,
|
||||
sf.Request? request}) async {
|
||||
sf.Request? request,
|
||||
Duration? receiveTimeout}) async {
|
||||
return await _dio.post(url,
|
||||
data: data,
|
||||
queryParameters: queryParameters,
|
||||
options: Options(headers: getHeader(request: request)));
|
||||
options: Options(
|
||||
receiveTimeout: receiveTimeout,
|
||||
headers: getHeader(request: request)));
|
||||
}
|
||||
|
||||
// 发起 PUT 请求
|
||||
Future<Response> put(String url,
|
||||
{Object? data,
|
||||
Map<String, dynamic>? queryParameters,
|
||||
sf.Request? request}) async {
|
||||
sf.Request? request,
|
||||
Duration? receiveTimeout}) async {
|
||||
return await _dio.put(url,
|
||||
data: data,
|
||||
queryParameters: queryParameters,
|
||||
options: Options(headers: getHeader(request: request)));
|
||||
options: Options(
|
||||
receiveTimeout: receiveTimeout,
|
||||
headers: getHeader(request: request)));
|
||||
}
|
||||
|
||||
// 发起 DELETE 请求
|
||||
Future<Response> delete(String url,
|
||||
{Object? data,
|
||||
Map<String, dynamic>? queryParameters,
|
||||
sf.Request? request}) async {
|
||||
sf.Request? request,
|
||||
Duration? receiveTimeout}) async {
|
||||
return await _dio.delete(
|
||||
url,
|
||||
data: data,
|
||||
queryParameters: queryParameters,
|
||||
options: Options(headers: getHeader(request: request)),
|
||||
options: Options(
|
||||
receiveTimeout: receiveTimeout,
|
||||
headers: getHeader(request: request)),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user