init method
void
init()
Initializes the logger. It wraps any existing HttpOverrides to ensure compatibility with other tools.
Implementation
void init() {
if (_initialized) {
print('LogDropNetworkLogger: Already initialized');
return;
}
final previous = HttpOverrides.current;
HttpOverrides.global = _LoggingHttpOverrides(previous);
// Internal implementation of logging logic
_onLog = (request, response, requestBody, responseBody, durationMs, errorType, errorMessage) {
final data = {
'isSuccess': errorType == null,
'method': (request as _LoggingHttpClientRequest).method,
'url': request.uri.toString(),
'requestHeaders': (request)._headersToMap((request).headers),
'requestBody': requestBody,
'status': response?.statusCode,
'responseHeaders': response != null ? _headersToMap(response.headers) : null,
'responseBody': responseBody,
'tookMs': durationMs,
'errorType': null,
'errorMessage': null,
};
print("passing data: ${jsonEncode(data)}");
_channel.invokeMethod('saveHttpLog', data);
};
_initialized = true;
print('LogDropNetworkLogger: Initialized successfully');
}