onHttpEvent method

Future<void> onHttpEvent({
  1. required String url,
  2. required String method,
  3. required int statusCode,
  4. bool timeout = false,
  5. int duration = 0,
  6. dynamic requestBody,
  7. dynamic responseBody,
})

Process HTTP event and execute rules

Implementation

Future<void> onHttpEvent({
  required String url,
  required String method,
  required int statusCode,
  bool timeout = false,
  int duration = 0,
  dynamic requestBody,
  dynamic responseBody,
}) async {
  if (!_engine.isActive) return;

  try {
    final requestContext = RequestContext(
      url: url,
      method: method,
      statusCode: statusCode,
      timeout: timeout,
      duration: duration,
      requestBody: requestBody,
      responseBody: responseBody,
    );

    final rulesContext = HttpRulesContext(
      request: requestContext,
      appContext: _appContext,
    );

    final result = await _engine.executeHttpRules(rulesContext);
    await _processRulesResult(result);
  } catch (e) {
    ObslyLogger.error('Error executing HTTP rules: $e');
  }
}