onRequest method
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;
}