public void Intercept(IInvocation invocation) { if (!_helper.ShouldAudit(invocation.MethodInvocationTarget)) { invocation.Proceed(); return; } var auditInfo = _helper.BuildAuditInfo(invocation.TargetType, invocation.MethodInvocationTarget, invocation.Arguments); if (invocation.Method.IsAsync()) { PerformAsyncAuditing(invocation, auditInfo); } else { PerformSyncAuditing(invocation, auditInfo); } }
private bool ShouldAudit(ActionContext actionContext) { return(_configuration.Value.Enabled && actionContext.ActionDescriptor is ControllerActionDescriptor descriptor && _helper.ShouldAudit(descriptor.MethodInfo, true)); }