/// <summary> /// Adds the current request info as extended data to the event. /// </summary> /// <param name="ev">The event model.</param> /// <param name="context">The http action context to gather information from.</param> public static Event AddHttpRequestInfo(this Event ev, HttpActionContext context) { if (context == null) { return(ev); } ev.AddRequestInfo(context.GetRequestInfo(ExceptionlessClient.Default.Configuration)); return(ev); }
public void Enrich(EventEnrichmentContext context, Event ev) { if (!context.Data.ContainsKey("HttpActionContext")) { return; } HttpActionContext actionContext = context.Data.GetHttpActionContext(); if (actionContext == null) { return; } IPrincipal principal = GetPrincipal(actionContext.Request); if (context.Client.Configuration.IncludePrivateInformation && principal != null && principal.Identity.IsAuthenticated) { ev.SetUserIdentity(principal.Identity.Name); } RequestInfo requestInfo = null; try { requestInfo = actionContext.GetRequestInfo(context.Client.Configuration); } catch (Exception ex) { context.Log.Error(typeof(ExceptionlessWebApiEnrichment), ex, "Error adding request info."); } if (requestInfo == null) { return; } var error = ev.GetError(); if (error != null && error.Code == "404") { ev.Type = Event.KnownTypes.NotFound; ev.Source = requestInfo.GetFullPath(includeHttpMethod: true, includeHost: false, includeQueryString: false); ev.Data.Clear(); } ev.AddRequestInfo(requestInfo); }