public void Init(HttpApplication application) { Diagnostics.SendWatsonReportOnUnhandledException(delegate() { LatencyTracker latencyTracker = new LatencyTracker(); latencyTracker.StartTracking(LatencyTrackerKey.ProxyModuleInitLatency, false); Microsoft.Exchange.Diagnostics.Components.HttpProxy.ExTraceGlobals.VerboseTracer.TraceDebug <ProtocolType>((long)this.GetHashCode(), "[ProxyModule::Init]: Init called. Protocol type: {0}", HttpProxyGlobals.ProtocolType); if (application == null) { string message = "[ProxyModule::Init]: ProxyModule.Init called with null HttpApplication context."; Microsoft.Exchange.Diagnostics.Components.HttpProxy.ExTraceGlobals.BriefTracer.TraceError((long)this.GetHashCode(), message); throw new ArgumentNullException("application", message); } this.PfdTracer = new PfdTracer(0, this.GetHashCode()); application.BeginRequest += this.OnBeginRequest; application.AuthenticateRequest += this.OnAuthenticateRequest; application.PostAuthorizeRequest += this.OnPostAuthorizeRequest; application.PreSendRequestHeaders += this.OnPreSendRequestHeaders; application.EndRequest += this.OnEndRequest; if (Microsoft.Exchange.Diagnostics.Components.HttpProxy.ExTraceGlobals.VerboseTracer.IsTraceEnabled(TraceType.DebugTrace)) { Microsoft.Exchange.Diagnostics.Components.HttpProxy.ExTraceGlobals.VerboseTracer.TraceDebug <ProtocolType, long>((long)this.GetHashCode(), "[ProxyModule::Init]: Protocol type: {0}, InitLatency {1}", HttpProxyGlobals.ProtocolType, latencyTracker.GetCurrentLatency(LatencyTrackerKey.ProxyModuleInitLatency)); } }); }
// Token: 0x060002D6 RID: 726 RVA: 0x0000E814 File Offset: 0x0000CA14 private static void TraceDiffs(NameObjectCollectionBase original, NameObjectCollectionBase revised, HashSet <string> notInterestingNames, StringBuilder result) { HashSet <string> hashSet = new HashSet <string>(StringComparer.InvariantCultureIgnoreCase); foreach (object obj in original) { string text = (string)obj; if (!notInterestingNames.Contains(text)) { string value = PfdTracer.GetValue(revised, text); string value2 = PfdTracer.GetValue(original, text); if (value == null) { result.Append("-" + text + ","); } else { hashSet.Add(text); if (string.Compare(value2, value, StringComparison.OrdinalIgnoreCase) != 0) { result.Append("*" + text + ","); } } } } foreach (object obj2 in revised) { string text2 = (string)obj2; if (!notInterestingNames.Contains(text2) && !hashSet.Contains(text2)) { result.Append("+" + text2 + ","); } } }
// Token: 0x060002D2 RID: 722 RVA: 0x0000E580 File Offset: 0x0000C780 public void TraceCookies(string stage, CookieCollection originalCookies, HttpCookieCollection newCookies) { if (PfdTracer.IsTraceDisabled) { return; } if (originalCookies == null || newCookies == null) { return; } StringBuilder stringBuilder = new StringBuilder(20 * originalCookies.Count); stringBuilder.Append(string.Format("{0}: {1}: ", this.traceContext, stage)); PfdTracer.TraceDiffs(PfdTracer.CopyCookies(originalCookies), newCookies, PfdTracer.NotInterestedCookies, stringBuilder); this.Write(stringBuilder.ToString()); }
// Token: 0x060002D0 RID: 720 RVA: 0x0000E4B4 File Offset: 0x0000C6B4 public void TraceHeaders(string stage, NameValueCollection originalHeaders, NameValueCollection newHeaders) { if (PfdTracer.IsTraceDisabled) { return; } if (originalHeaders == null || newHeaders == null) { return; } StringBuilder stringBuilder = new StringBuilder(20 * originalHeaders.Count); stringBuilder.Append(string.Format("{0}: {1}: ", this.traceContext, stage)); PfdTracer.TraceDiffs(originalHeaders, newHeaders, PfdTracer.NotInterestedHeaders, stringBuilder); this.Write(stringBuilder.ToString()); }