onRequest method

List<String> onRequest(
  1. RequestOptions options
)

Implementation

List<String> onRequest(RequestOptions options) {
  final logs = <String>[];
  if (request) {
    logs.addAll(_printRequestHeader(options));
  }
  if (requestHeader) {
    logs.addAll(_printMapAsTable(options.queryParameters, header: 'Query Parameters'));
    final requestHeaders = {};
    requestHeaders.addAll(options.headers);
    requestHeaders['contentType'] = options.contentType?.toString();
    requestHeaders['responseType'] = options.responseType.toString();
    requestHeaders['followRedirects'] = options.followRedirects;
    requestHeaders['connectTimeout'] = options.connectTimeout;
    requestHeaders['receiveTimeout'] = options.receiveTimeout;
    logs.addAll(_printMapAsTable(requestHeaders, header: 'Headers'));
    logs.addAll(_printMapAsTable(options.extra, header: 'Extras'));
  }
  if (requestBody && options.method != 'GET') {
    final data = options.data;
    if (data != null) {
      if (data is Map) _printMapAsTable(options.data, header: 'Body');
      if (data is FormData) {
        final formDataMap = {}
          ..addEntries(data.fields)
          ..addEntries(data.files);
        logs.addAll(_printMapAsTable(formDataMap, header: 'Form data | ${data.boundary}'));
      } else {
        logs.addAll(_printBlock(data.toString()));
      }
    }
  }

  return logs;
}