新增 token自动提交
This commit is contained in:
@@ -9,6 +9,7 @@ class TraceDio {
|
||||
final Uuid uuid = Uuid();
|
||||
|
||||
static late TraceDio _traceDio;
|
||||
String? token;
|
||||
|
||||
TraceDio(Logger logger)
|
||||
: _dio = Dio(),
|
||||
@@ -48,6 +49,9 @@ class TraceDio {
|
||||
tag: "DIO",
|
||||
traceId: traceId,
|
||||
spanId: spanId);
|
||||
if (response.headers["token"] != null) {
|
||||
token = response.headers["token"]?[0];
|
||||
}
|
||||
return handler.next(response); // 继续处理响应
|
||||
},
|
||||
onError: (DioException e, handler) {
|
||||
@@ -71,21 +75,29 @@ class TraceDio {
|
||||
|
||||
Map<String, dynamic>? getHeader(
|
||||
{Map<String, dynamic>? headers, sf.Request? request}) {
|
||||
headers ??= {};
|
||||
if (request != null) {
|
||||
return {
|
||||
...headers,
|
||||
"X-Trace-ID": request.context['request_trace_id'] as String,
|
||||
"X-Span-ID": request.context['request_span_id'] as String
|
||||
};
|
||||
}
|
||||
return null;
|
||||
if (token != null) {
|
||||
headers["token"] = token;
|
||||
}
|
||||
return headers;
|
||||
}
|
||||
|
||||
// 发起 GET 请求
|
||||
Future<Response> get(String url,
|
||||
{Map<String, dynamic>? queryParameters, sf.Request? request}) async {
|
||||
{Map<String, dynamic>? queryParameters,
|
||||
sf.Request? request,
|
||||
ResponseType? responseType}) async {
|
||||
return await _dio.get(url,
|
||||
queryParameters: queryParameters,
|
||||
options: Options(headers: getHeader(request: request)));
|
||||
options: Options(
|
||||
headers: getHeader(request: request), responseType: responseType));
|
||||
}
|
||||
|
||||
// 发起 POST 请求
|
||||
|
||||
Reference in New Issue
Block a user