public FiddlerOverrideContent GetOverrideContent(string url, string currentBodyContent) { if (_socketsSetupOverrideProvider == null) { return(new FiddlerOverrideContent(currentBodyContent)); } if (UseMainProxyMock) { return(_socketsSetupOverrideProvider.GetOverrideContent(url, currentBodyContent)); } else { return(new FiddlerOverrideContent(currentBodyContent)); } }
private void BeforeResponseProcessing(IFiddlerOverrideProvider provider, Session session) { var overrideMode = provider.GetOverrideMode(session.fullUrl); if (overrideMode == FiddlerOverrideMode.NoOverride) { return; } AppendAntiCacheHeaders(session); var overrideContentResponse = provider.GetOverrideContent(session.fullUrl, session.GetResponseBodyAsString()); if (overrideContentResponse == null || overrideContentResponse.Content == null) { return; } foreach (var h in (overrideContentResponse.ExtraHttpHeaders ?? new KeyValuePair <string, string> [0])) { session.ResponseHeaders.Add(h.Key, h.Value); } if (overrideMode == FiddlerOverrideMode.HeadersOnly) { return; } if (overrideContentResponse.Content.GetType() == typeof(byte[])) { var contentBytes = (byte[])overrideContentResponse.Content; using (var memS = new MemoryStream(contentBytes)) { session.LoadResponseFromStream(memS, string.Empty); } } else { session.utilSetResponseBody(overrideContentResponse.Content.ToString()); } }