public EventMessage Create(MessageUserData userData, IDictionary <string, StringValues> headers, MessageAction action, MessageTarget target, params string[] description) { try { var message = new EventMessage { Date = DateTime.UtcNow, TenantId = userData == null?TenantManager.GetCurrentTenant().TenantId : userData.TenantId, UserId = userData == null ? AuthContext.CurrentAccount.ID : userData.UserId, Action = action, Description = description, Target = target }; if (headers != null) { var userAgent = headers.ContainsKey(userAgentHeader) ? headers[userAgentHeader].ToString() : null; var forwarded = headers.ContainsKey(forwardedHeader) ? headers[forwardedHeader].ToString() : null; var host = headers.ContainsKey(hostHeader) ? headers[hostHeader].ToString() : null; var referer = headers.ContainsKey(refererHeader) ? headers[refererHeader].ToString() : null; message.IP = forwarded ?? host; message.UAHeader = userAgent; message.Page = referer; } return(message); } catch (Exception ex) { log.Error(string.Format("Error while parse Http Message for \"{0}\" type of event: {1}", action, ex)); return(null); } }
public static EventMessage Create(MessageUserData userData, Dictionary <string, string> headers, MessageAction action, MessageTarget target, params string[] description) { try { var message = new EventMessage { Date = DateTime.UtcNow, TenantId = userData == null?CoreContext.TenantManager.GetCurrentTenant().TenantId : userData.TenantId, UserId = userData == null ? SecurityContext.CurrentAccount.ID : userData.UserId, Action = action, Description = description, Target = target }; if (headers != null) { var ip = MessageSettings.GetIP(headers); var userAgent = MessageSettings.GetUAHeader(headers); var referer = MessageSettings.GetReferer(headers); message.IP = ip; message.UAHeader = userAgent; message.Page = referer; } return(message); } catch (Exception ex) { log.Error(string.Format("Error while parse Http Message for \"{0}\" type of event: {1}", action, ex)); return(null); } }
public static EventMessage Create(HttpRequest request, MessageUserData userData, MessageAction action) { try { var message = new EventMessage { Date = DateTime.UtcNow, TenantId = userData == null?CoreContext.TenantManager.GetCurrentTenant().TenantId : userData.TenantId, UserId = userData == null ? SecurityContext.CurrentAccount.ID : userData.UserId, Action = action, Active = true }; if (request != null) { var ip = MessageSettings.GetIP(request); var userAgent = MessageSettings.GetUAHeader(request); var referer = MessageSettings.GetReferer(request); message.IP = ip; message.UAHeader = userAgent; message.Page = referer; } return(message); } catch (Exception ex) { log.Error(string.Format("Error while parse Initiator Message for \"{0}\" type of event: {1}", action, ex)); return(null); } }
private static void SendHeadersMessage(MessageUserData userData, Dictionary <string, string> httpHeaders, MessageAction action, MessageTarget target, params string[] description) { if (sender == null) { return; } var message = MessageFactory.Create(userData, httpHeaders, action, target, description); if (!MessagePolicy.Check(message)) { return; } sender.Send(message); }
public static EventMessage Create(MessageUserData userData, Dictionary <string, string> headers, MessageAction action, MessageTarget target, params string[] description) { try { var message = new EventMessage { Date = DateTime.UtcNow, TenantId = userData == null?CoreContext.TenantManager.GetCurrentTenant().TenantId : userData.TenantId, UserId = userData == null ? SecurityContext.CurrentAccount.ID : userData.UserId, Action = action, Description = description, Target = target }; if (headers != null) { var userAgent = headers.ContainsKey(userAgentHeader) ? headers[userAgentHeader] : null; var forwarded = headers.ContainsKey(forwardedHeader) ? headers[forwardedHeader] : null; var host = headers.ContainsKey(hostHeader) ? headers[hostHeader] : null; var referer = headers.ContainsKey(refererHeader) ? headers[refererHeader] : null; var uaParser = Parser.GetDefault(); ClientInfo clientInfo; try { clientInfo = userAgent != null?uaParser.Parse(userAgent) : null; } catch (Exception) { clientInfo = null; } message.IP = forwarded ?? host; message.Browser = GetBrowser(clientInfo); message.Platform = GetPlatform(clientInfo); message.Page = referer; } return(message); } catch (Exception ex) { log.Error(string.Format("Error while parse Http Message for \"{0}\" type of event: {1}", action, ex)); return(null); } }
public static EventMessage Create(MessageUserData userData, Dictionary<string, string> headers, MessageAction action, params string[] description) { try { var message = new EventMessage { Date = DateTime.UtcNow, TenantId = userData == null ? CoreContext.TenantManager.GetCurrentTenant().TenantId : userData.TenantId, UserId = userData == null ? SecurityContext.CurrentAccount.ID : userData.UserId, Action = action, Description = description }; if (headers != null) { var userAgent = headers.ContainsKey(userAgentHeader) ? headers[userAgentHeader] : null; var forwarded = headers.ContainsKey(forwardedHeader) ? headers[forwardedHeader] : null; var host = headers.ContainsKey(hostHeader) ? headers[hostHeader] : null; var referer = headers.ContainsKey(refererHeader) ? headers[refererHeader] : null; var uaParser = Parser.GetDefault(); ClientInfo clientInfo; try { clientInfo = userAgent != null ? uaParser.Parse(userAgent) : null; } catch (Exception) { clientInfo = null; } message.IP = forwarded ?? host; message.Browser = GetBrowser(clientInfo); message.Platform = GetPlatform(clientInfo); message.Page = referer; } return message; } catch (Exception ex) { log.Error(string.Format("Error while parse Http Message for \"{0}\" type of event: {1}", action, ex)); return null; } }
public static int SendLoginMessage(HttpRequest request, MessageUserData userData, MessageAction action) { if (sender == null) { return(0); } var message = MessageFactory.Create(request, userData, action); if (!MessagePolicy.Check(message)) { return(0); } var id = sender.Send(message); return(id); }
public static void Send(MessageUserData userData, Dictionary <string, string> httpHeaders, MessageAction action, MessageTarget target) { SendHeadersMessage(userData, httpHeaders, action, target); }
public void Send(MessageUserData userData, IDictionary <string, StringValues> httpHeaders, MessageAction action, MessageTarget target) { SendHeadersMessage(userData, httpHeaders, action, target); }
public void Send(MessageUserData userData, Dictionary <string, string> httpHeaders, MessageAction action) { SendHeadersMessage(userData, httpHeaders, action, null); }
private static void SendHeadersMessage(MessageUserData userData, Dictionary<string, string> httpHeaders, MessageAction action, params string[] description) { if (sender == null) return; var message = MessageFactory.Create(userData, httpHeaders, action, description); if (!MessagePolicy.Check(message)) return; sender.Send(message); }
public static void Send(MessageUserData userData, Dictionary<string, string> httpHeaders, MessageAction action) { SendHeadersMessage(userData, httpHeaders, action); }