onRequest method
Called when the request is about to be sent.
Implementation
@override
void onRequest(
RequestOptions options, RequestInterceptorHandler handler) async {
final builder = _LogBuilder(maxWidth);
builder.addTitle('>>> Request │ ${options.method} │ ${options.uri}');
if (requestHeader) {
builder.startSection('Query parameters');
builder.addMap(options.queryParameters);
builder.endSection();
builder.startSection('Headers');
final headers = {
'contentType': options.contentType,
'responseType': options.responseType,
'followRedirects': options.followRedirects,
'connectTimeout': options.connectTimeout,
'receiveTimeout': options.receiveTimeout,
...options.headers,
};
builder.addMap(headers);
builder.endSection();
builder.startSection('Extra');
builder.addMap(options.extra);
builder.endSection();
}
if (requestBody && options.method != 'GET') {
final data = options.data;
if (data is FormData) {
builder.startSection('Form data │ ${data.boundary}');
final formDataMap = {}
..addEntries(data.fields)
..addEntries(data.files);
builder.addMap(formDataMap);
builder.endSection();
} else {
builder.startSection('Body');
builder.addBodyData(data);
builder.endSection();
}
}
loggy.log(requestLevel, builder.build());
super.onRequest(options, handler);
}