private void BeforeRequestProcessing(IFiddlerOverrideProvider provider, Session session) { var overrideMode = provider.GetOverrideMode(session.fullUrl); if (overrideMode == FiddlerOverrideMode.Normal) { session.bBufferResponse = true; } else if (overrideMode == FiddlerOverrideMode.BypassServer) { session.utilCreateResponseAndBypassServer(); } }
public void UnregisterFilesOverrideProvider(IFiddlerOverrideProvider provider) { ServiceLocator.GetInstance <IApplicationServices>().StartNewParallelTask(() => { _overridesProvidersLockSlim.EnterWriteLock(); try { _overridesProviders.Remove(provider); } finally { _overridesProvidersLockSlim.ExitWriteLock(); } }); }
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()); } }