onRequest method

  1. @override
Future<Request> onRequest(
  1. Request request
)
override

Implementation

@override
Future<Request> onRequest(Request request) async {
  final baseRequest = await request.toBaseRequest();
  final method = baseRequest.method;
  final url = baseRequest.url.toString();
  final headers = baseRequest.headers;
  var curl = '';
  curl += 'curl';
  curl += ' -v';
  curl += ' -X $method';
  headers.forEach((k, v) {
    curl += ' -H \'$k: $v\'';
  });
  // this is fairly naive, but it should cover most cases
  if (baseRequest is http.Request) {
    final body = baseRequest.body;
    if (body.isNotEmpty) {
      curl += ' -d \'$body\'';
    }
  }
  curl += ' \"$url\"';
  chopperLogger.info(curl);
  return request;
}