internal static void HandleHTTPError(Session oSession, SessionFlags flagViolation, bool bPoisonClientConnection, bool bPoisonServerConnection, string sMessage) { if (bPoisonClientConnection) { oSession.PoisonClientPipe(); } if (bPoisonServerConnection) { oSession.PoisonServerPipe(); } oSession.SetBitFlag(flagViolation, true); if ((CONFIG.bReportHTTPErrors && !CONFIG.QuietMode) && !oSession.oFlags.ContainsKey("x-HTTPProtocol-Violation")) { oSession.oFlags.Remove("ui-hide"); frmAlert alert = new frmAlert("HTTP Protocol Violation", "Fiddler has detected a protocol violation in session #" + oSession.id.ToString() + ".\n\n" + sMessage, "Note: You can disable this message using Tools | Fiddler Options"); _frmMain.BeginInvoke(new alerterDelegate(_frmMain.ShowAlert), new object[] { alert }); } Log.LogFormat("{0} - [#{1}] {2}", new object[] { "Fiddler.Network.ProtocolViolation", oSession.id.ToString(), sMessage }); sMessage = "[ProtocolViolation] " + sMessage; if ((oSession["x-HTTPProtocol-Violation"] == null) || !oSession["x-HTTPProtocol-Violation"].Contains(sMessage)) { Session session; (session = oSession)["x-HTTPProtocol-Violation"] = session["x-HTTPProtocol-Violation"] + sMessage; } }