public HttpAuditAction(IHttpContextAccessor accessor, AuditHttpActionOptions options) { Action = new { accessor.HttpContext.TraceIdentifier, RequestUrl = accessor.HttpContext.Request.GetDisplayUrl(), HttpMethod = accessor.HttpContext.Request.Method, FormVariables = options.IncludeFormVariables ? HttpContextHelpers.GetFormVariables(accessor.HttpContext) : null }; }
/// <summary> /// Add audit default data - subject and action /// </summary> /// <param name="builder"></param> /// <param name="subjectOptions"></param> /// <param name="actionOptions"></param> /// <returns></returns> public static IAuditLoggingBuilder AddDefaultHttpEventData(this IAuditLoggingBuilder builder, Action <AuditHttpSubjectOptions> subjectOptions = default, Action <AuditHttpActionOptions> actionOptions = default) { var auditHttpSubjectOptions = new AuditHttpSubjectOptions(); subjectOptions?.Invoke(auditHttpSubjectOptions); builder.Services.AddSingleton(auditHttpSubjectOptions); var auditHttpActionOptions = new AuditHttpActionOptions(); actionOptions?.Invoke(auditHttpActionOptions); builder.Services.AddSingleton(auditHttpActionOptions); builder.Services.AddTransient <IAuditSubject, HttpAuditSubject>(); builder.Services.AddTransient <IAuditAction, HttpAuditAction>(); return(builder); }