onRequest method
Called when the request is about to be sent.
Implementation
@override
void onRequest(RequestOptions options, RequestInterceptorHandler handler) {
extra = options.extra;
_startTime = DateTime.now();
_log.write("${'=' * 20} ${options.method} ${'=' * 20}\n");
_log
..write('- URL: ')
..write(options.baseUrl)
..write(options.path);
if (options.queryParameters.isNotEmpty) {
StringBuffer parameters = StringBuffer();
options.queryParameters.forEach((key, value) {
parameters
..write('&')
..write(key)
..write('=')
..write(value);
});
_log
..write('?')
..write(parameters.toString().substring(1))
..write('\n');
} else {
_log.write('\n');
}
_log
..write('- METHOD: ')
..write(options.method)
..write('\n');
_log
..write('- HEADER: \n')
..write(options.headers.mapToStructureString())
..write('\n');
final data = options.data;
if (data != null) {
_log.write('- BODY: \n');
if (data is Map) {
_log
..write(data.mapToStructureString())
..write('\n');
} else if (data is FormData) {
var fields = {}
..addEntries(data.files)
..addEntries(data.fields);
_log
..write(fields.mapToStructureString())
..write('\n');
} else {
_log
..write(data.toString())
..write('\n');
}
}
handler.next(options);
}