onRequest method
Receives a request and a HasuraConnect
builds and starts a
HttpMetric
. it returns an onRequest.
Implementation
@override
Future onRequest(Request request, HasuraConnect connect) async {
try {
final metric = FirebasePerformance.instance.newHttpMetric(
request.url.replaceAll('_', '-'),
HttpMethod.Post,
)..requestPayloadSize = request.query.document.length;
final size = request.query.document.indexOf('{');
metric.putAttribute(
'query',
request.query.document.substring(0, size > 39 ? 39 : size),
);
_mapMetric[request.query.hashCode] = metric;
await metric.start();
} catch (e, stackTrace) {
debugPrintStack(
label: e.toString(),
stackTrace: stackTrace,
);
}
return super.onRequest(request, connect);
}