onRequest method
Called when the request is about to be sent.
Implementation
@override
void onRequest(dio_package.RequestOptions options,
dio_package.RequestInterceptorHandler handler) {
// 记录请求开始时间和唯一ID
final startTime = DateTime.now();
final requestId = _generateRequestId(options);
options.extra[_requestStartTimeKey] = startTime;
options.extra[_requestIdKey] = requestId;
// 根据日志模式决定打印方式
switch (logMode) {
case LogMode.complete:
// 完整链路模式:只打印简要提示(如果启用)
if (showRequestHint) {
_logRequestHint(options, requestId);
}
break;
case LogMode.realTime:
// 实时模式:立即打印完整请求信息
_logRequest(options);
break;
case LogMode.brief:
// 简要模式:只打印方法+URL
_logRequestBrief(options);
break;
}
handler.next(options);
}