void ProxyManager_OnMessageLog(GridProxy.CapsRequest req, GridProxy.CapsStage stage) { Application.Invoke((sender, e) => { if (CapFilterItems.ContainsKey(req.Info.CapType)) { var filter = CapFilterItems[req.Info.CapType]; if (!filter.Enabled) { return; } PacketCounter++; int size = 0; if (req.RawRequest != null) { size += req.RawRequest.Length; } if (req.RawResponse != null) { size += req.RawResponse.Length; } GridProxy.Direction direction; if (stage == GridProxy.CapsStage.Request) { CapsOutCounter++; CapsOutBytes += req.Request.ToString().Length; direction = GridProxy.Direction.Outgoing; } else { CapsInCounter++; CapsInBytes += req.Response.ToString().Length; direction = GridProxy.Direction.Incoming; } string proto = filter.Type.ToString(); Session capsSession = null; if (filter.Type == ItemType.Cap) { capsSession = new SessionCaps(req.RawRequest, req.RawResponse, req.RequestHeaders, req.ResponseHeaders, direction, req.Info.URI, req.Info.CapType, proto, req.FullUri); } else { capsSession = new SessionEvent(req.RawResponse, req.ResponseHeaders, req.Info.URI, req.Info.CapType, proto); } capsSession.Columns = new string[] { PacketCounter.ToString(), capsSession.TimeStamp.ToString("HH:mm:ss.fff"), capsSession.Protocol, capsSession.Name, capsSession.Length.ToString(), capsSession.Host, capsSession.ContentType }; messages.AddSession(capsSession); } }); }
void ProxyManager_OnEventMessageLog(GridProxy.CapsRequest req, GridProxy.CapsStage stage) { Application.Invoke((sender, e) => { if (!CapFilterItems.ContainsKey(req.Info.CapType)) { FilterItem item = new FilterItem() { Enabled = true, Name = req.Info.CapType, Type = ItemType.EQ }; item.FilterItemChanged += item_FilterItemChanged; CapFilterItems[item.Name] = item; capStore.AppendValues(item); } ProxyManager_OnMessageLog(req, GridProxy.CapsStage.Response); }); }