onRequest method
Handles httpClientRequest and creates http Chuck call from it
Implementation
void onRequest(HttpClientRequest request, {dynamic body}) {
final ChuckHttpCall call = ChuckHttpCall(request.hashCode);
call.loading = true;
call.client = "HttpClient (io package)";
call.method = request.method;
call.uri = request.uri.toString();
var path = request.uri.path;
if (path.isEmpty) {
path = "/";
}
call.endpoint = path;
call.server = request.uri.host;
if (request.uri.scheme == "https") {
call.secure = true;
}
final ChuckHttpRequest httpRequest = ChuckHttpRequest();
if (body == null) {
httpRequest.size = 0;
httpRequest.body = "";
} else {
httpRequest.size = utf8.encode(body.toString()).length;
httpRequest.body = body;
}
httpRequest.time = DateTime.now();
final Map<String, dynamic> headers = <String, dynamic>{};
httpRequest.headers.forEach((header, dynamic value) {
headers[header] = value;
});
httpRequest.headers = headers;
String? contentType = "unknown";
if (headers.containsKey("Content-Type")) {
contentType = headers["Content-Type"] as String?;
}
httpRequest.contentType = contentType;
httpRequest.cookies = request.cookies;
call.request = httpRequest;
call.response = ChuckHttpResponse();
chuckCore.addCall(call);
}