onRequest method
Logs details of an outgoing API request.
Parameters:
options
: The request options containing method, headers, and body.handler
: The interceptor handler to proceed with the request.
Implementation
@override
void onRequest(RequestOptions options, RequestInterceptorHandler handler) {
final data = options.data;
List<dynamic> data0 = <dynamic>[];
if (data is MultipartFile) {
data0 = <dynamic>[
data.filename,
data.contentType,
data.length,
data.headers,
];
}
if (data is FormData) {
data0 = data.fields.map<String>((MapEntry<String, String> e) {
return "${e.key} : ${e.value}";
}).toList();
}
if (data0.isEmpty && options.queryParameters.isEmpty) {
logger.d(
"${options.uri.path}\n"
"Body:$data\n"
"Query:${options.queryParameters}",
stackTrace: StackTrace.empty,
error: "Request: [${options.method}] ${options.uri.host}",
);
} else {
logger.d(
"${options.uri.path}\n"
"Body:$data0\n"
"Query:${options.queryParameters}",
stackTrace: StackTrace.empty,
error: "Request: [${options.method}] ${options.uri.host}",
);
}
super.onRequest(options, handler);
}